{ "info": { "author": "Duroktar", "author_email": "duroktar@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 2 - Pre-Alpha", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Natural Language :: English", "Programming Language :: Python :: 3.6" ], "description": "NIP - nip isn't pip\n===================\n\nA fast way to start and use a python project within a virtual\nenvironment.\n\n\nCommands\n--------\n\n > init - Initialize a new Python project in the current folder.\n\n > install - Install all project dependencies and initialize a new venv if necessary.\n\n > add - Install a new project dependency and add it to your nipfile. (like `pip install`)\n\n > remove - Remove a dependency from your project. (like `pip uninstall`)\n\n > run - Run a script from the nipfile\n\n\n**Quick Start**\n\nEnter an empty directory, type `nip init` and answer the questions.\nthis starts up a virtual environment for you under `./python_modules`.\nYou may also notice NIP has created these files in the cwd..\n\n- `.gitignore` with the new `python_modules` included so you don't have to.\n- `nip.json` file with you package details.\n- `setup.py` file with a basic templated layout.\n\n**Add a Dependency**\n\nRun `nip add ` to install a new dependency. Nip creates a `requirements.txt` file and pins the version automatically.\n\n*If it's a development dependency the use the option `-D`, ex: `nip add -D ` which creates a `dev_dependency.txt` file instead*\n\n> PROTIP: Any binaries included with the added package also become available for use through nip `scripts` .. (see below)\n\n\n**Scripts**\n\nYou can place shortcuts to commands in the `nipfile` under a scripts section (see example), which you can then run with\n`nip run ` or just `nip ` and they will be started within the virtual environment. You can also\nrun any binaries installed to the `python_modules/bin` folder.\n\nFor example, if you have `tox` as a dependency, but not installed globally you can run it as a `script`, ex: \n\n```sh\nnip.json ..\n\n{\n ...\n \"scripts\": {\n \"start\": \"python src/main.py\",\n \"db:migrate\": \"python manage.py migrate\",\n ...\n+ \"test\": \"tox\"\n },\n \"dev_dependencies\": {\n+ \"tox\": \"~=2.9.1\",\n ...\n }\n}\n\n$ nip run test // or just `nip test`\n```\n\n\n\n**Existing Projects**\n\nEnter a directory with a `nipfile.json` and type `nip install` to\ninstall any package requirements/virtual environments necessary for\nthe project and you're ready to go.\n\n\nExample\n-------\n\n```sh\n $ nip init\n nip - v0.2.0 - Init - Made with Love, by Duroktar \u00a9 2018\n\n Package Name (nip-test):\n Author: Duroktar\n Version (0.1.0):\n License (MIT):\n \u283c Initialising.... Done.\n Finished.\n```\n\n> nip.json\n\n```sh\n {\n \"name\": \"nip-test\",\n \"author\": \"Duroktar\",\n \"version\": \"0.1.0\",\n \"license\": \"MIT\",\n+ \"scripts\": {\n+ \"start\": \"python hello_world.py\"\n+ }\n }\n```\n\n```sh\n\n $ echo 'print(\"Hello world!!\")' >> hello_world.py\n\n $ nip start\n nip - v0.2.0 - Run - Made with Love, by Duroktar \u00a9 2018\n\n Hello world!!\n\n```\n\n\nWhy?\n----\n\nStarting a new Python project from scratch isn't hard, but you end up\nusing similar patterns and multiple tools each time. I wanted to script\naway as much of that as possible without coupling everything together\ninto something that ended up being complicated and unmanageable.\n\nAt its core, NIP is a service based framework with a middleware and\nhooks based strategy. It was built to take advantage of existing\nPython tools instead of trying to replace them. It uses `pip` under\nthe hood, so if you want stop using `nip` just remove the `nip.json`\nfile and you're left with a standard python package.\n\n\nDevelopment\n-----------\n\nI tried to make nip really easy to understand and work on, there's a useful\nguide [here](./nip/services/README.md) in the services section that tries to give a basic rundown of\nwhat happens when nip runs, and serves as a decent starting point for those\ninterested in helping out.\n\n\nThird Party Packages\n--------------------\n\nNIP was heavily inspired by NPM/Yarn and the FeathersJS Framework.\n\n- Click - http://click.pocoo.org/5/ - three-clause BSD License\n- PySpin - https://pypi.python.org/pypi/pyspin - MIT\n- Tox - https://tox.readthedocs.io/en/latest/ - MIT\n- pytest - https://docs.pytest.org/en/latest/ - MIT\n- flake8 - http://flake8.pycqa.org/en/latest/ - MIT\n- venv_tools - ... - ...\n\nLicense\n-------\n\nMIT\n\n\n\n\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/RopePy/nip", "keywords": "nip", "license": "MIT License", "maintainer": "", "maintainer_email": "", "name": "nip.cli", "package_url": "https://pypi.org/project/nip.cli/", "platform": "", "project_url": "https://pypi.org/project/nip.cli/", "project_urls": { "Homepage": "https://github.com/RopePy/nip" }, "release_url": "https://pypi.org/project/nip.cli/0.3.1/", "requires_dist": [ "pyspin (~=1.1.1)", "click (~=6.7)", "venv-tools", "virtualenv-api (~=2.1.16)", "packaging (~=16.8)" ], "requires_python": "", "summary": "nip isn't pip", "version": "0.3.1" }, "last_serial": 3603006, "releases": { "0.3.1": [ { "comment_text": "", "digests": { "md5": "df0fb986d051808106ce21a4fd0be227", "sha256": "0eff8838bca871810fbb06482aa98f3e526df46c70314d16e83abfba560476cf" }, "downloads": -1, "filename": "nip.cli-0.3.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "df0fb986d051808106ce21a4fd0be227", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 24823, "upload_time": "2018-02-21T18:57:09", "url": "https://files.pythonhosted.org/packages/bc/81/5b808d537e6f45560e7f9b9506cedcc3438e8d5c54523f4e5f904c51a077/nip.cli-0.3.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "2df6da5c5d632c39e2ebe5ec01306b8c", "sha256": "d4bca7e198962b99caf90953a2cb3374ff67201e822da899cdee4557f6bf6716" }, "downloads": -1, "filename": "nip.cli-0.3.1.tar.gz", "has_sig": false, "md5_digest": "2df6da5c5d632c39e2ebe5ec01306b8c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 16175, "upload_time": "2018-02-21T18:57:11", "url": "https://files.pythonhosted.org/packages/29/35/dbdc0c6a7047a1d7a2a8dbad08c0105c69c5c215ca215ea3c6c977089170/nip.cli-0.3.1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "df0fb986d051808106ce21a4fd0be227", "sha256": "0eff8838bca871810fbb06482aa98f3e526df46c70314d16e83abfba560476cf" }, "downloads": -1, "filename": "nip.cli-0.3.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "df0fb986d051808106ce21a4fd0be227", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 24823, "upload_time": "2018-02-21T18:57:09", "url": "https://files.pythonhosted.org/packages/bc/81/5b808d537e6f45560e7f9b9506cedcc3438e8d5c54523f4e5f904c51a077/nip.cli-0.3.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "2df6da5c5d632c39e2ebe5ec01306b8c", "sha256": "d4bca7e198962b99caf90953a2cb3374ff67201e822da899cdee4557f6bf6716" }, "downloads": -1, "filename": "nip.cli-0.3.1.tar.gz", "has_sig": false, "md5_digest": "2df6da5c5d632c39e2ebe5ec01306b8c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 16175, "upload_time": "2018-02-21T18:57:11", "url": "https://files.pythonhosted.org/packages/29/35/dbdc0c6a7047a1d7a2a8dbad08c0105c69c5c215ca215ea3c6c977089170/nip.cli-0.3.1.tar.gz" } ] }