# HG changeset patch # User Jeff Hammel # Date 1310414206 25200 # Node ID 8fef97a25925be59f226fbb4e722d7df5da6bb33 # Parent 0b9c124f128ba3335cd67c4e49e3f15c22ec913b near version bump and documentation diff -r 0b9c124f128b -r 8fef97a25925 README.txt --- a/README.txt Mon Jul 11 11:01:48 2011 -0700 +++ b/README.txt Mon Jul 11 12:56:46 2011 -0700 @@ -1,1 +1,54 @@ -See the docstring of carton.py for documentation +carton +====== + +make a self-extracting virtualenv from directories or URLs of packages + +See the docstring of carton.py for documentation: http://k0s.org/mozilla/hg/carton/file/tip/carton.py#l3 + +Carton provides a one-file portable package of a virtualenv and all of +its software. + + +Why did you write this thing? +----------------------------- + +For whatever reasons, people have trouble using virtualenv so I +figured I'd make that easy. People also seem to believe that you can +zip up a virtualenv and treat it as portable. In general, virtualenvs +are architecture and library dependent, so this isn't a good idea. +carton works around this problem by packaging the instructions +necessary to make the virtualenv instead of dealing with +library/hardware incompatabilities. + + +Should I use carton for my deployment strategy? +----------------------------------------------- + +Maybe. Carton is pretty minimalist. It does effectively one thing: +makes a file that unfolds to a virtualenv with software setup for +development. If this fits in with what you want to do, then sure! If +not, then probably not. + + +TODO +---- + +carton is essentially finished. Features can be added by request +(just mail me: jhammel __at__ mozilla __dot__ com), but the scope of +the project is pretty much fulfilled. + +There are a few items I would like to add: + +- currently, carton only works if connected to a network or if a local + virtualenv tarball is specified with `--virtualenv`. I would like to + make a script, `regen_virtualenv.py`, that would add a hashed value + of the virtualenv tarball to the global `VIRTUAL_ENV` + variable. Similarly, one should be able to retrieve the stripped + down version of the script without this hash if desired + +- ... and being able to take virtualenv from its import path, if + available + +- it would be nice to be able to specify a post-deployment script to + be run + diff -r 0b9c124f128b -r 8fef97a25925 carton.py --- a/carton.py Mon Jul 11 11:01:48 2011 -0700 +++ b/carton.py Mon Jul 11 12:56:46 2011 -0700 @@ -156,8 +156,8 @@ # you probably don't have os.chmod pass -# TODO: cleanup tempdir -# shutil.rmtree(tempdir) +# cleanup virtualenv tempdir +shutil.rmtree(tempdir) """ def isURL(path): diff -r 0b9c124f128b -r 8fef97a25925 setup.py --- a/setup.py Mon Jul 11 11:01:48 2011 -0700 +++ b/setup.py Mon Jul 11 12:56:46 2011 -0700 @@ -6,7 +6,7 @@ except ImportError: description = None -version = '0.2' +version = '0.2.1' setup(name='carton', version=version,