{ "info": { "author": "kk6", "author_email": "hiro.ashiya@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 3 - Alpha", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Programming Language :: Python", "Programming Language :: Python :: 2", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.5", "Topic :: Utilities" ], "description": "snake-pit\n=========\n\n|CircleCI| |Coverage Status| |Requires.io| |Code Climate| |Code Health|\n|GitHub license| |PyPI|\n\n*It's Five O'clock Somewhere*\n\nIntroduction\n------------\n\nDesign Concepts\n~~~~~~~~~~~~~~~\n\nI'm using ordinary `pip-tools `__ .\npip-tools is great, but the package of installation, is to edit the\n``requirements.in`` file every time the uninstall in the editor it was\nsomewhat cumbersome. So, I have developed a snake-pit. snake-pit, which\ntakes you by writing automatically package name to ``requirements.in``\nAfter the installation of the package is successful. Even when the\nuninstall, will remove the automatically package name from\nrequirements.in.\n\nStand-alone\n~~~~~~~~~~~\n\nsnake-pit is desirable to use in combination with a pip-tools, but it\ndoes not mean that its never dependent to pip-tools. snake-pit is\navailable in stand-alone. It is a good idea to use instead of\n``pip freeze> requirements.txt``.\n\nInstallation\n------------\n\nUsing pip\n~~~~~~~~~\n\nsnake-pit is possible to install pip.\n\n.. code:: console\n\n\n $ pip install snake-pit\n\nGet the Code\n~~~~~~~~~~~~\n\nIt is also possible to get the source code from Github.\n\n.. code:: console\n\n\n $ git clone git@github.com:kk6/snake-pit.git\n\nYou may want to install in the pip editable mode.\n\n.. code:: console\n\n\n $ pip install -e .\n\nUsage\n-----\n\nInstalling Packages\n~~~~~~~~~~~~~~~~~~~\n\nTo install the Python package using the snake-pit, do the following. It\nis only different character and if you use a pip.\n\n.. code:: console\n\n\n $ pit install flask\n\nUnlike pip, snake-pit will write the package name to automatically\nrequirements file. Once you have successfully installed the package.\n\nRequirements Files\n~~~~~~~~~~~~~~~~~~\n\nAlthough I mentioned earlier, snake-pit has been designed to be aware of\nthe combination of the pip-tools. Therefore, the **Requirements file**\nto say here, as that term is pip-tools, is a file, such as a specified\nto ``requirements.in`` to pip-tools's ``pip-compile`` command.\n\nAs below, it is possible to specify a file path to reference\n``--requirements, in -r`` option. This is priority than the set of\nconfiguration files, which will be described later.\n\n.. code:: console\n\n\n $ pit install pytest -r dev-requirements.in\n\nConfiguration Files\n~~~~~~~~~~~~~~~~~~~\n\nIf the ``--requirements`` option is not specified, snake-pit uses the\nconfiguration file to search for the requirements file.\n\nConfig file is intended to be managed by a name in the path to the\nrequirements file. Please describe in YAML format file.In hash it will\ndescribe as `` : ``. The only\nrequired key is ``default``. This is referred to by default when\n``--name, -n`` option is not specified.\n\nIf there is no configuration file, or if the configuration file can not\nbe read, the default configuration is used. By default, it will read and\nwrite ``requirements.in``.\n\nFor example, you are managing by dividing the requirements file as\nfollows:\n\n::\n\n requirements\n \u251c\u2500\u2500 base.in\n \u2514\u2500\u2500 dev\n \u251c\u2500\u2500 base.in\n \u2514\u2500\u2500 mysql.in\n\nAs follows, It is troublesome to specify the long file path for each\ninstallation.\n\n.. code:: console\n\n\n $ pit install mycli -r requirements/dev/mysql.in\n\nSo, we will use the configuration file. Let's described as follows:\n\n.. code:: yaml\n\n\n default:\n requirements/base.in\n dev:\n requirements/dev/base.in\n mysql:\n requirements/dev/mysql.in\n\nSave as ``pit.yml``. By default, snake-pit enforce this file name, but\nthis can be changed by setting environment variables (see below).\n\nNow you need only to specify the name to ``--name`` option.\n\n.. code:: console\n\n\n $ pit install mycli -n mysql\n ...\n Successfully installed PyMySQL-0.6.7 Pygments-2.0.2 configobj-5.0.6 mycli-1.5.2 prompt-toolkit-0.46 pycrypto-2.6.1 six-1.10.0 sqlparse-0.1.18 wcwidth-0.1.5\n Append the following packages in requirements/dev/mysql.in: mycli\n requirements/dev/mysql.in has been updated as follows:\n # requirements.mysql.in\n mycli\n\nDefault Configuration\n~~~~~~~~~~~~~~~~~~~~~\n\nIf the configuration file fails to load or did not exist, the default\nconfiguration is used. By default, this is as follows.\n\n.. code:: yaml\n\n\n default:\n requirements.in\n\nSet the configuration file name in the environment variable\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\nIt is possible to set the path to the configuration file in the\nenvironment variable ``PIT_CONFIG_PATH``. If this environment variable\nis set, snake-pit looks for a there instead of ``pit.yml`` immediately\nbelow.\n\n.. code:: console\n\n\n $ mv pit.yml .pitrc\n $ export PIT_CONFIG_PATH=.pitrc\n\nUninstall Packages\n~~~~~~~~~~~~~~~~~~\n\nUninstall Packages also, is almost the same as the installation.\n\n.. code:: console\n\n\n $ pit uninstall nose\n\nAs well as the installation, ``--requirements, -r`` and ``--name, -n``\noptions are available.\n\n.. code:: console\n\n\n $ pit uninstall pytest -n test\n\nFurther, by using the ``--auto, -a`` options, of all the packages to the\nspecified package depends, is possible to remove at once what is\nunnecessary.\n\n.. code:: console\n\n $ pit uninstall bpython httpie --auto\n Specified package and becomes unnecessary by which they are removed, it will remove the following packages:\n\n curtsies\n httpie\n greenlet\n blessings\n bpython\n\n Are you sure? [y/N]:\n\nAliases\n-------\n\nsnake-pit You can also use the alias of sub-command.\n\n.. code:: console\n\n $ pit i django # install django\n $ pit u django # uninstall django\n\nLicense\n-------\n\nLicensed under the MIT, see ``LICENSE``.\n\n.. |CircleCI| image:: https://img.shields.io/circleci/project/kk6/snake-pit.svg?style=flat-square\n :target: https://circleci.com/gh/kk6/snake-pit\n.. |Coverage Status| image:: https://img.shields.io/coveralls/kk6/snake-pit.svg?style=flat-square\n :target: https://coveralls.io/github/kk6/snake-pit?branch=master\n.. |Requires.io| image:: https://img.shields.io/requires/github/kk6/snake-pit.svg?style=flat-square\n :target: https://requires.io/github/kk6/snake-pit/requirements/\n.. |Code Climate| image:: https://img.shields.io/codeclimate/github/kk6/snake-pit/badges/gpa.svg?style=flat-square\n :target: https://codeclimate.com/github/kk6/snake-pit\n.. |Code Health| image:: https://landscape.io/github/kk6/snake-pit/master/landscape.svg?style=flat-square\n :target: https://landscape.io/github/kk6/snake-pit/master\n.. |GitHub license| image:: https://img.shields.io/badge/license-MIT-blue.svg?style=flat-square\n :target: https://raw.githubusercontent.com/kk6/snake-pit/master/LICENSE\n.. |PyPI| image:: https://img.shields.io/pypi/v/snake-pit.svg?style=flat-square\n :target: https://pypi.python.org/pypi/snake-pit", "description_content_type": null, "docs_url": null, "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/kk6/snake-pit", "keywords": null, "license": "MIT", "maintainer": null, "maintainer_email": null, "name": "snake-pit", "package_url": "https://pypi.org/project/snake-pit/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/snake-pit/", "project_urls": { "Download": "UNKNOWN", "Homepage": "https://github.com/kk6/snake-pit" }, "release_url": "https://pypi.org/project/snake-pit/0.3.0/", "requires_dist": null, "requires_python": null, "summary": "Depending on the installation or uninstall packages, and then edit the requirements file.", "version": "0.3.0" }, "last_serial": 1828356, "releases": { "0.2.3": [ { "comment_text": "", "digests": { "md5": "926b54858bee289363ac719fe0c105bc", "sha256": "d60e37bd2490357254cf6003e5c0b773c6f43e2587f677c7ecfeed8268ea28ee" }, "downloads": -1, "filename": "snake_pit-0.2.3-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "926b54858bee289363ac719fe0c105bc", "packagetype": "bdist_wheel", "python_version": "3.5", "requires_python": null, "size": 7508, "upload_time": "2015-11-14T17:41:24", "url": "https://files.pythonhosted.org/packages/e6/60/f3b3863559a1800c0dd5a0d53af2a6b2502dd93af5372bc18eb9fd25f352/snake_pit-0.2.3-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "09df7f86fc5b4582d755f00bfb567df3", "sha256": "a8dfcd1d57e187ef88c9b0ccfc64acda652fdd05a33a92b30baf74ab1f717026" }, "downloads": -1, "filename": "snake-pit-0.2.3.tar.gz", "has_sig": false, "md5_digest": "09df7f86fc5b4582d755f00bfb567df3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11390, "upload_time": "2015-11-14T17:41:19", "url": "https://files.pythonhosted.org/packages/bc/11/c61e73c13b520f42926fdeb5edae844ff432f046a0de74e4d8aa20ac3144/snake-pit-0.2.3.tar.gz" } ], "0.3.0": [ { "comment_text": "", "digests": { "md5": "b5a6309e1b0989105a6cd30f4b86527d", "sha256": "dc4406647858341e579f394900c4088aae8d8ae1687c3d52d8f6efe2c2d3ac51" }, "downloads": -1, "filename": "snake_pit-0.3.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "b5a6309e1b0989105a6cd30f4b86527d", "packagetype": "bdist_wheel", "python_version": "3.5", "requires_python": null, "size": 17715, "upload_time": "2015-11-22T17:08:55", "url": "https://files.pythonhosted.org/packages/c3/d6/be19a3fed43113cc348b58af78a4925dfd7b9d134e4c57b6a381fae9aa0f/snake_pit-0.3.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "27bea1480fedd7c3b262061f36e624d2", "sha256": "c59fc546af60f8b082c698c4e27bd734c68b589aae9280e071555183e72d7576" }, "downloads": -1, "filename": "snake-pit-0.3.0.tar.gz", "has_sig": false, "md5_digest": "27bea1480fedd7c3b262061f36e624d2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 20487, "upload_time": "2015-11-22T17:08:49", "url": "https://files.pythonhosted.org/packages/2d/a1/59373b208c4b0bb0c34d9e04e67ffd3b601f324ea3a707427a30e95dfe5b/snake-pit-0.3.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "b5a6309e1b0989105a6cd30f4b86527d", "sha256": "dc4406647858341e579f394900c4088aae8d8ae1687c3d52d8f6efe2c2d3ac51" }, "downloads": -1, "filename": "snake_pit-0.3.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "b5a6309e1b0989105a6cd30f4b86527d", "packagetype": "bdist_wheel", "python_version": "3.5", "requires_python": null, "size": 17715, "upload_time": "2015-11-22T17:08:55", "url": "https://files.pythonhosted.org/packages/c3/d6/be19a3fed43113cc348b58af78a4925dfd7b9d134e4c57b6a381fae9aa0f/snake_pit-0.3.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "27bea1480fedd7c3b262061f36e624d2", "sha256": "c59fc546af60f8b082c698c4e27bd734c68b589aae9280e071555183e72d7576" }, "downloads": -1, "filename": "snake-pit-0.3.0.tar.gz", "has_sig": false, "md5_digest": "27bea1480fedd7c3b262061f36e624d2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 20487, "upload_time": "2015-11-22T17:08:49", "url": "https://files.pythonhosted.org/packages/2d/a1/59373b208c4b0bb0c34d9e04e67ffd3b601f324ea3a707427a30e95dfe5b/snake-pit-0.3.0.tar.gz" } ] }