More input/output options from the condaverse (and beyond)
See original GitHub issueProposed change
What would the interest level be in some PRs for:
- input files
- conda
environment.yaml
- this is supported, while not as widely used
- probably a one-liner
- conda
requirements.txt
conda
also supports this file, but is generally inferior toenvironment.yml
… so i wouldn’t propose supporting it. EXCEPT for a huge reproducibility/performance corner case.conda list --explicit
will include the canary line@EXPLICIT
and list the exact URLs (but no hashes 😭) of the packages to be installed. An environment created from this file won’t even invoke the solver, so you don’t pay that tax at all. It cannot, however, includepip
packages.
anaconda-project.yml
andanaconda-project-lock.yml
(and.yaml
variants)- basically it’s a meta-
environment.yml
that can create multiple environments, support environment inheritance, environment variables (sadly, only globally) and run comands in particular environments - when coupled with an
anaconda-proejct-lock.yml
it achieves about the best level of reproducibility I’ve been able to get, and lets you do things like maintain an env onlinux-64
, but also perform the last-known-good solution forwin-64
andosx-64
with one command. - i’ve had a stormy relationship with this tool, but it’s still kind of the best thing out there in conda-land
- basically it’s a meta-
- conda
- output formats
constructor
installers- i’ve been hacking together something that works basically like
repo2docker
but uses platform-specific, offline-capable installers as the delivery mechanism- gets around the
noarch: python
thing by stuffing all those packages into a channel-in-a-package and installing them at post-install… could be expanded to support wheels, yarn (the JS one) offline mirrors, or whatever else doesn’t need the internet or a reasonable facsimile thereof to do its installation thing
- gets around the
- i’ve been hacking together something that works basically like
conda-pack
archives- kind of the same idea as constructor, but you get a relocatable, platform-specific environment tarball out at the end
packer
???- packer is super boss
go
executalbe that can make almost anything (OVA, ISO, docker, AMI, VMware, etc)
- packer is super boss
Alternative options
- don’t do them
- make some
entry_points
or namespace packages so they could be done, but not do them in this repo - prototype fork
Who would use this feature?
Dunno, conda people. People that don’t run docker. People that want stuff that installs at the end of the day, given bzip, rather than just runs and goes poof. People on windows. Peopl on ARM. People at conferences that want to install large, usable software environments.
How much effort will adding it take?
Varies based on which ones we’re interested in.
Who can do this work?
I would be capable of doing all the work above, and it would trickle in really slowly, or potentially my $DAY_JOB alter ego might chip in if i can make the right case. Of the repo maintainers, I would just be asking for bounding of stuff that would be way out of scope, and review as the technical challenges are overcome.
Issue Analytics
- State:
- Created 4 years ago
- Comments:6 (5 by maintainers)
Top Results From Across the Web
Converse Chuck Taylors — Design Life-Cycle
Materials in the Life Cycle of Converse Chuck Taylor Shoes. Converse, and specifically Chuck Taylors, are one of the most popular sneakers on...
Read more >5. Converse and Charm++ Libraries
This manual describes Charm++ and Converse libraries. ... With the grid's dimension, the user must allocate and set the input and output buffers....
Read more >Converse Peels Back the Construction of a Denim Sneaker
By teaming up with U.K.-based vintage retailer Beyond Retro, Converse is upcycling unwanted denim and jeans into consumer-ready sneakers.
Read more >Haskell/Simple input and output - Wikibooks
Learn moreEdit. At this point, you have the fundamentals needed to do some fancier input/output. Here are some IO-related topics you may want...
Read more >Best-Possible Wiretap Coding via Obfuscation
A wiretap coding scheme Π for wiretap channel. (ChB,ChE) and message space M is a pair of algorithms (Enc,Dec). Enc is a randomized...
Read more >Top Related Medium Post
No results found
Top Related StackOverflow Question
No results found
Troubleshoot Live Code
Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start FreeTop Related Reddit Thread
No results found
Top Related Hackernoon Post
No results found
Top Related Tweet
No results found
Top Related Dev.to Post
No results found
Top Related Hashnode Post
No results found
Top GitHub Comments
Following on from https://github.com/jupyterhub/repo2docker/issues/682 I opened https://github.com/jupyterhub/repo2docker/pull/848 And, if you’re interested, I experimented with https://github.com/manics/repo2shellscript that generates a packer template 😄
I’ve opened https://github.com/jupyter/repo2docker/issues/682 to talk very specifically about cases where docker daemon isn’t useful.