{ "info": { "author": "Noah Hoffman", "author_email": "noah.hoffman@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 3 - Alpha", "Environment :: Console", "Intended Audience :: Developers", "Intended Audience :: System Administrators", "Operating System :: POSIX", "Programming Language :: Python :: 2.7" ], "description": "======\nmkvenv\n======\n\nA wrapper for virtualenv, pip, and wheel that caches wheels to speed\nup virtualenv creation.\n\nFeatures:\n\n* Create and maintain a cache of wheels.\n* Create a virtualenv and install packages from the wheel cache in a\n single command.\n* Add to the wheel cache as new packages are built.\n* Download the ``virtualenv`` source code when not already installed\n or out of date.\n\nNote that this package should be considered alpha/unstable!\n\n.. image:: https://travis-ci.org/nhoffman/mkvenv.svg?branch=master\n :target: https://travis-ci.org/nhoffman/mkvenv\n\n.. image:: https://img.shields.io/pypi/v/mkvenv.svg\n :target: https://pypi.python.org/pypi/mkvenv\n :alt: Latest PyPI version\n\nRequirements\n============\n\n* Python 2.7\n* Unix-like systems (ie, not Windows)\n\nExamples\n========\n\nCreate a wheel cache (~/.mkvenv by default)::\n\n % mkvenv init\n % mkvenv list-wheels\n # Wheels in /Users/nhoffman/.mkvenv/2.7.7/\n\nNow create a new virtualenv named ``test-env`` and install some\npackages. As each package is installed, a wheel is first built and\nsaved to the cache, along with wheels for any dependencies::\n\n % cat requirements.txt\n flake8\n % mkvenv install --venv test-env -r requirements.txt\n % test-env/bin/pip freeze\n flake8==2.3.0\n mccabe==0.3\n pep8==1.5.7\n pyflakes==0.8.1\n wsgiref==0.1.2\n % mkvenv list-wheels\n # Wheels in /Users/nhoffman/.mkvenv/2.7.7/ =\n flake8-2.3.0-py2.py3-none-any.whl\n mccabe-0.3-py2.py3-none-any.whl\n pep8-1.5.7-py2.py3-none-any.whl\n pyflakes-0.8.1-py2.py3-none-any.whl\n\nSubsequent requests to install any of these packages will use the\ncached wheels.\n\nInstallation from the wheel cache can speed things up a lot when\npackages require compilation::\n\n % cat scientific.txt\n numpy\n scipy\n pandas\n biopython\n seqmagick\n % mkvenv install --venv sci-env -r scientific.txt\n 620.66s user 36.41s system 75% cpu 14:28.52 total\n % mkvenv install --venv another-env -r scientific.txt\n 10.87s user 4.82s system 18% cpu 1:24.65 total\n\nInstallation\n============\n\nInstallation is most easily performed from PyPi using pip::\n\n pip install mkvenv\n\nAlternatively, obtain the source code from either PyPi\n(https://pypi.python.org/pypi/mkvenv) or GitHub\n(https://github.com/nhoffman/mkvenv) and install by running either\n``python setup.py install`` or ``pip install .`` from within the\npackage directory. Installation provides a script named ``mkvenv`` as\nan entry point. ``mkvenv.py`` may also be executed directly from the\ntop level of the package directory.\n\nAlternatively, note that the mkvenv script is implemented as a single\npython file that can be invoked directly as a script. This script can\nbe downloaded and used to create a virtualenv on a system on which the\n``virtualenv`` package is not available::\n\n wget https://raw.githubusercontent.com/nhoffman/mkvenv/master/mkvenv/mkvenv.py\n python mkvenv.py\n\nIt may also be useful to distribute ``mkvenv.py`` along with other\nprojects to facilitate creation of execution environments.\n\nExecution\n=========\n\nRun ``mkvenv -h`` for a list of subcommands and common options, or\n``mkvenv -h`` for help on a subcommand. Note that common\noptions must be provided before the name of the subcommand\n(eg, ``mkvenv -v wheelstreet -r requirements.txt``)\n\nKnown Bugs\n==========\n\nThere's a known bug in pip using python 2.7 on OS X\n(https://github.com/pypa/pip/issues/1964 - the issue is not specific\nto this project) that results in an error on installation from PyPI\nwith the message \"AssertionError: Multiple .dist-info directories\"\nafter a previous installation. The solution is to delete any residual\npip build directories::\n\n find /private -name 'mkvenv' -exec rm -r \"{}\" \\; 2> /dev/null\n", "description_content_type": null, "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/nhoffman/mkvenv", "keywords": "", "license": "", "maintainer": "", "maintainer_email": "", "name": "mkvenv", "package_url": "https://pypi.org/project/mkvenv/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/mkvenv/", "project_urls": { "Homepage": "https://github.com/nhoffman/mkvenv" }, "release_url": "https://pypi.org/project/mkvenv/0.2.3/", "requires_dist": null, "requires_python": "", "summary": "Wrapper for virtualenv, pip, and wheel", "version": "0.2.3" }, "last_serial": 1943354, "releases": { "0.1.0-1-g3f31138-dirty": [], "0.1.1": [ { "comment_text": "", "digests": { "md5": "31d318491233f236ff01bebafb4040e6", "sha256": "1beb4978b0f7aae623ed6a4b87cce87c8b9d2dc931313b52fc9ec152aea9ba6c" }, "downloads": -1, "filename": "mkvenv-0.1.1-py2-none-any.whl", "has_sig": false, "md5_digest": "31d318491233f236ff01bebafb4040e6", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 6342, "upload_time": "2015-01-22T05:41:09", "url": "https://files.pythonhosted.org/packages/9e/a6/9fef4685f587e0cfb592783afa3758d810658cbb2fb096746b9adc2d0f79/mkvenv-0.1.1-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "572878fa556c4ba2d3cf7592fd6ff155", "sha256": "e3d60c7fb5e5fec059da20eba3eeb3791d817b256454b750f4cc2132cf9fa534" }, "downloads": -1, "filename": "mkvenv-0.1.1.tar.gz", "has_sig": false, "md5_digest": "572878fa556c4ba2d3cf7592fd6ff155", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5845, "upload_time": "2015-01-22T05:41:11", "url": "https://files.pythonhosted.org/packages/72/40/84324ca113033725fa3a2ce3b02914f5f2250b6ec77da40d3e38cf909f2e/mkvenv-0.1.1.tar.gz" } ], "0.1.2": [ { "comment_text": "", "digests": { "md5": "73cbfcd2bfb786266347a9b8a6b86ff7", "sha256": "18aade95e613dc724a344902a6a80bdd68a9f40826cb76d6d77d7316195531a2" }, "downloads": -1, "filename": "mkvenv-0.1.2-py2-none-any.whl", "has_sig": false, "md5_digest": "73cbfcd2bfb786266347a9b8a6b86ff7", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 6664, "upload_time": "2015-02-03T05:50:11", "url": "https://files.pythonhosted.org/packages/20/80/7e467fc17ba7d30f82f1927526b91558d3af816f3ce978bff8d55e88fef1/mkvenv-0.1.2-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "24bdafc81525a9f9b618a7aaef3e9ff5", "sha256": "2c01acda0e5dcf771bf74dc4739022494e3c0c4ca190d70090be7f030c660070" }, "downloads": -1, "filename": "mkvenv-0.1.2.tar.gz", "has_sig": false, "md5_digest": "24bdafc81525a9f9b618a7aaef3e9ff5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6090, "upload_time": "2015-02-03T05:50:14", "url": "https://files.pythonhosted.org/packages/d1/91/3a33aaabdd515a5e796e40d5bd35f075c918259ab144bc26fdca9d82cac1/mkvenv-0.1.2.tar.gz" } ], "0.1.3": [ { "comment_text": "", "digests": { "md5": "2f09e0374a41ea86786e411cc180589c", "sha256": "e4f7ff17d4bebd857ea2b1916f9bb9d82c709d0b5593a9e0ce0c8be2686b6e0d" }, "downloads": -1, "filename": "mkvenv-0.1.3-py2-none-any.whl", "has_sig": false, "md5_digest": "2f09e0374a41ea86786e411cc180589c", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 6719, "upload_time": "2015-02-04T01:25:29", "url": "https://files.pythonhosted.org/packages/1e/aa/4fcd37737ac54dee5fa0b352f2c5ea831c42b07682fdb8ea8fb23d82f17a/mkvenv-0.1.3-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "0136b8e2205c79397a199b27bc584532", "sha256": "2e04fb0ebbecee6ebed11f987384191959ec4d9215f84384b37a703b108fbbfe" }, "downloads": -1, "filename": "mkvenv-0.1.3.tar.gz", "has_sig": false, "md5_digest": "0136b8e2205c79397a199b27bc584532", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6377, "upload_time": "2015-02-04T01:25:32", "url": "https://files.pythonhosted.org/packages/93/54/38c4e4ffdcfbcf21497e4a736bebbe5c5f3583a0311bee39a87e1649bba2/mkvenv-0.1.3.tar.gz" } ], "0.1.4": [ { "comment_text": "", "digests": { "md5": "3def439f9eb5baa59d525b7a1677c550", "sha256": "ce5c59ba1b716e9f91195930ecb3a84674e4b97bd37710023f56afbdda615cc7" }, "downloads": -1, "filename": "mkvenv-0.1.4-py2-none-any.whl", "has_sig": false, "md5_digest": "3def439f9eb5baa59d525b7a1677c550", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 6964, "upload_time": "2015-02-05T18:32:48", "url": "https://files.pythonhosted.org/packages/e6/53/3de737091b8ebf382ba0d71cceaed36767464ae300f6131a9c34a937aafd/mkvenv-0.1.4-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "c80e232a97ed195d8e2b96e16dcf3837", "sha256": "0febc70a3d056f856b325070de23581d55b3763f4a63e03d5a8cedfe086febcd" }, "downloads": -1, "filename": "mkvenv-0.1.4.tar.gz", "has_sig": false, "md5_digest": "c80e232a97ed195d8e2b96e16dcf3837", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6623, "upload_time": "2015-02-05T18:32:51", "url": "https://files.pythonhosted.org/packages/b0/58/253dfab717d8a21355700fcbc1f14ec16bc5547fd42234620f2b61947b82/mkvenv-0.1.4.tar.gz" } ], "0.1.5": [ { "comment_text": "", "digests": { "md5": "a14b91b49b3d8febf22c1bd5a3e9b111", "sha256": "207235bfa29ec475ec717754ca1c76ffed9c94ef0afde0a9c08ad818411173f3" }, "downloads": -1, "filename": "mkvenv-0.1.5-py2-none-any.whl", "has_sig": false, "md5_digest": "a14b91b49b3d8febf22c1bd5a3e9b111", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 6991, "upload_time": "2015-03-11T03:57:08", "url": "https://files.pythonhosted.org/packages/19/79/bf15ce1aa3759350623e618bf6ad5df52ed5b5469283a1dea7419d3933fb/mkvenv-0.1.5-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "ac95e32a8f234cf86db01a8961eb2b0d", "sha256": "7ee47416cea3c4fc6b39fa53e59d51718efdfdfdb4665307ae7b70ce7d1e9640" }, "downloads": -1, "filename": "mkvenv-0.1.5.tar.gz", "has_sig": false, "md5_digest": "ac95e32a8f234cf86db01a8961eb2b0d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6653, "upload_time": "2015-03-11T03:57:11", "url": "https://files.pythonhosted.org/packages/c1/e7/b6ea0b295f3d642f46369f917f9ba8d21b0ac10ac58e671f36ac0cbc9d0e/mkvenv-0.1.5.tar.gz" } ], "0.1.6": [ { "comment_text": "", "digests": { "md5": "6517c59e30829354a4d876c132afceaa", "sha256": "64bd75e198fb26e59fd5f7e46bed3249d1dd5b03332e12b0aefb1ee6c8e570f4" }, "downloads": -1, "filename": "mkvenv-0.1.6-py2-none-any.whl", "has_sig": false, "md5_digest": "6517c59e30829354a4d876c132afceaa", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 6963, "upload_time": "2015-03-12T20:58:08", "url": "https://files.pythonhosted.org/packages/52/16/6117b71a901e6085c48de75b161e89ad5ec8cf5c30c4120d9366f06619be/mkvenv-0.1.6-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "96ae2375df8508610f0afd11ca44f50b", "sha256": "2bc583a5c9ec6b7fe9d6df31449b5e191116b326c54104a8673e12c8cd29aa94" }, "downloads": -1, "filename": "mkvenv-0.1.6.tar.gz", "has_sig": false, "md5_digest": "96ae2375df8508610f0afd11ca44f50b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6625, "upload_time": "2015-03-12T20:58:11", "url": "https://files.pythonhosted.org/packages/15/1f/22416231da68108c16c6f14f3d36881e844dd48c3f498bc6e803f0b86944/mkvenv-0.1.6.tar.gz" } ], "0.2.0": [ { "comment_text": "", "digests": { "md5": "132134eeb47cd1dd5380f659284988db", "sha256": "6649cce7de770b75e6181547414aae931ae18ff8e33caf19dc0ff721d85ac5c3" }, "downloads": -1, "filename": "mkvenv-0.2.0-py2-none-any.whl", "has_sig": false, "md5_digest": "132134eeb47cd1dd5380f659284988db", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 6955, "upload_time": "2015-07-30T18:00:14", "url": "https://files.pythonhosted.org/packages/76/2e/5e28177c643ddcd4ecadaed2b3ed34222c019cf1c11388697fc469f89002/mkvenv-0.2.0-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "23cc5cbe36059bc7f57178149354c8e9", "sha256": "cbb02e12205af984b78fd94df0638482a54fc80925eb1ba83898e24b791981ad" }, "downloads": -1, "filename": "mkvenv-0.2.0.tar.gz", "has_sig": false, "md5_digest": "23cc5cbe36059bc7f57178149354c8e9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6704, "upload_time": "2015-07-30T18:00:28", "url": "https://files.pythonhosted.org/packages/25/e2/d0caca0c1cabd30aac9b60de23d462f370cad49fb188a0277eb1bd452980/mkvenv-0.2.0.tar.gz" } ], "0.2.2": [ { "comment_text": "", "digests": { "md5": "4f753272d7bda24cc8b37888e48e9e9a", "sha256": "d3672b69eff7ad2a35a60eb5ceb8a4ee2d4110acfec78ce5cbbad631fa8874eb" }, "downloads": -1, "filename": "mkvenv-0.2.2-py2-none-any.whl", "has_sig": false, "md5_digest": "4f753272d7bda24cc8b37888e48e9e9a", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 7116, "upload_time": "2015-07-30T21:06:35", "url": "https://files.pythonhosted.org/packages/98/14/e1ba3698abc79bb1f1ad963b91fb0fdc27fcac07f6542a67f8c9ddcfdac9/mkvenv-0.2.2-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "71d3a949df44fb028a7623432235f327", "sha256": "b0c26b7f8cb32503e463d6a4ccf9384130b9cc8ed58ae4412876446f325f1a7e" }, "downloads": -1, "filename": "mkvenv-0.2.2.tar.gz", "has_sig": false, "md5_digest": "71d3a949df44fb028a7623432235f327", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6832, "upload_time": "2015-07-30T21:06:38", "url": "https://files.pythonhosted.org/packages/05/9e/ce2a2c74c1cf14b134fe3df2808ec28c1abb50f1dcadfa7e1312fd53e681/mkvenv-0.2.2.tar.gz" } ], "0.2.3": [ { "comment_text": "", "digests": { "md5": "1ee5e5033bce5d2f2e4b975164ab7203", "sha256": "306186c85c2b351c62e11e42de64da133430e5fe13e8aab3aca802cd069c1bbf" }, "downloads": -1, "filename": "mkvenv-0.2.3-py2-none-any.whl", "has_sig": false, "md5_digest": "1ee5e5033bce5d2f2e4b975164ab7203", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 7326, "upload_time": "2016-02-06T18:26:10", "url": "https://files.pythonhosted.org/packages/6b/4e/61dd9aecabde7b81f09b3844c9235f460e798dda08c432c179a6081c54c8/mkvenv-0.2.3-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "9d5c3f22ebb6f3fd3c01a17072ec3bbf", "sha256": "094884554a7904b4855fcdf1e04a210975807a9365565a2bad1c090fee52f3a4" }, "downloads": -1, "filename": "mkvenv-0.2.3.tar.gz", "has_sig": false, "md5_digest": "9d5c3f22ebb6f3fd3c01a17072ec3bbf", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7005, "upload_time": "2016-02-06T18:26:21", "url": "https://files.pythonhosted.org/packages/10/b9/8b3bea50488f0c59ba60508360dbe99d77e9903848d6eba8b58a8a88fadb/mkvenv-0.2.3.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "1ee5e5033bce5d2f2e4b975164ab7203", "sha256": "306186c85c2b351c62e11e42de64da133430e5fe13e8aab3aca802cd069c1bbf" }, "downloads": -1, "filename": "mkvenv-0.2.3-py2-none-any.whl", "has_sig": false, "md5_digest": "1ee5e5033bce5d2f2e4b975164ab7203", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 7326, "upload_time": "2016-02-06T18:26:10", "url": "https://files.pythonhosted.org/packages/6b/4e/61dd9aecabde7b81f09b3844c9235f460e798dda08c432c179a6081c54c8/mkvenv-0.2.3-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "9d5c3f22ebb6f3fd3c01a17072ec3bbf", "sha256": "094884554a7904b4855fcdf1e04a210975807a9365565a2bad1c090fee52f3a4" }, "downloads": -1, "filename": "mkvenv-0.2.3.tar.gz", "has_sig": false, "md5_digest": "9d5c3f22ebb6f3fd3c01a17072ec3bbf", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7005, "upload_time": "2016-02-06T18:26:21", "url": "https://files.pythonhosted.org/packages/10/b9/8b3bea50488f0c59ba60508360dbe99d77e9903848d6eba8b58a8a88fadb/mkvenv-0.2.3.tar.gz" } ] }