=============================================================================
``pipreqs`` - Generate requirements.txt file for any project based on imports
=============================================================================
.. image:: https://img.shields.io/travis/bndr/pipreqs.svg
:target: https://travis-ci.org/bndr/pipreqs
.. image:: https://img.shields.io/pypi/v/pipreqs.svg
:target: https://pypi.python.org/pypi/pipreqs
.. image:: https://codecov.io/gh/bndr/pipreqs/branch/master/graph/badge.svg?token=0rfPfUZEAX
:target: https://codecov.io/gh/bndr/pipreqs
.. image:: https://img.shields.io/pypi/l/pipreqs.svg
:target: https://pypi.python.org/pypi/pipreqs
Installation
------------
::
pip install pipreqs
Usage
-----
::
Usage:
pipreqs [options] [<path>]
Arguments:
<path> The path to the directory containing the application files for which a requirements file
should be generated (defaults to the current working directory)
Options:
--use-local Use ONLY local package info instead of querying PyPI
--pypi-server <url> Use custom PyPi server
--proxy <url> Use Proxy, parameter will be passed to requests library. You can also just set the
environments parameter in your terminal:
$ export HTTP_PROXY="http://10.10.1.10:3128"
$ export HTTPS_PROXY="https://10.10.1.10:1080"
--debug Print debug information
--ignore <dirs>... Ignore extra directories, each separated by a comma
--no-follow-links Do not follow symbolic links in the project
--encoding <charset> Use encoding parameter for file open
--savepath <file> Save the list of requirements in the given file
--print Output the list of requirements in the standard output
--force Overwrite existing requirements.txt
--diff <file> Compare modules in requirements.txt to project imports
--clean <file> Clean up requirements.txt by removing modules that are not imported in project
--mode <scheme> Enables dynamic versioning with <compat>, <gt> or <non-pin> schemes
<compat> | e.g. Flask~=1.1.2
<gt> | e.g. Flask>=1.1.2
<no-pin> | e.g. Flask
Example
-------
::
$ pipreqs /home/project/location
Successfully saved requirements file in /home/project/location/requirements.txt
Contents of requirements.txt
::
wheel==0.23.0
Yarg==0.1.9
docopt==0.6.2
Why not pip freeze?
-------------------
- ``pip freeze`` only saves the packages that are installed with ``pip install`` in your environment.
- ``pip freeze`` saves all packages in the environment including those that you don't use in your current project (if you don't have ``virtualenv``).
- and sometimes you just need to create ``requirements.txt`` for a new project without installing modules.
History
-------
0.4.11 (2020-03-29)
--------------------
* Implement '--mode' (Jake Teo, Jerome Chan)
0.4.8 (2017-06-30)
--------------------
* Implement '--clean' and '--diff' (kxrd)
* Exclude concurrent{,.futures} from stdlib if py2 (kxrd)
0.4.7 (2017-04-20)
--------------------
* BUG: remove package/version duplicates
* Style: pep8
0.4.5 (2016-12-13)
---------------------
* Fixed the --pypi-server option
0.4.4 (2016-07-14)
---------------------
* Remove Spaces in output
* Add package to output even without version
0.4.2 (2016-02-10)
---------------------
* Fix duplicated lines in requirements.txt (Dmitry Pribysh)
0.4.1 (2016-02-05)
---------------------
* Added ignore option (Nick Rhinehart)
0.4.0 (2016-01-28)
---------------------
* Walk Abstract Syntax Tree to find imports (Kay Sackey)
0.3.9 (2016-01-20)
---------------------
* Fix regex for docstring comments (#35)
0.3.8 (2016-01-12)
---------------------
* Add more package mapping
* fix(pipreqs/mapping): remove pylab reference to matplotlib
* Remove comments """ before going through imports
* Update proxy documentation
0.3.1 (2015-10-20)
---------------------
* fixed lint warnings (EJ Lee)
* add --encoding parameter for open() (EJ Lee)
* support windows directory separator (EJ Lee)
0.3.0 (2015-09-29)
---------------------
* Add --proxy option
* Add --pypi-server option
0.2.9 (2015-09-24)
---------------------
* Ignore irreverent directory when generating requirement.txt (Lee Wei)
* Modify logging level of "Requirement.txt already exists" to warning (Lee Wei)
0.2.8 (2015-05-11)
---------------------
* Add --force option as a protection for overwrites
0.2.6 (2015-05-11)
---------------------
* Fix exception when 'import' is used inside package name #17
* Add more tests
0.2.5 (2015-05-11)
---------------------
* Fix exception when 'import' is used in comments #17
* Fix duplicate entries in requirements.txt
0.2.4 (2015-05-10)
---------------------
* Refactoring
* fix "import as"
0.2.3 (2015-05-09)
---------------------
* Fix multiple alias imports on the same line (Tiago Costa)
* More package mappings
0.2.2 (2015-05-08)
---------------------
* Add ImportName -> PackageName mapping
* More tests
0.2.1 (2015-05-08)
---------------------
* Fix for TypeError for implicit conversion
0.2.0 (2015-05-06)
---------------------
* Add --use-local option
* Exclude relative imports. (Dongwon Shin)
* Use "latest_release_id" instead of "release_ids[-1]" (Dongwon Shin)
0.1.9 (2015-05-01)
---------------------
* Output tuning (Harri Berglund)
* Use str.partition() to simplify the logic (cclaus)
0.1.8 (2015-04-26)
---------------------
* Fixed problems with local imports (Dongwon Shin)
* Fixed problems with imports with 'as' (Dongwon Shin)
* Fix indentation, pep8 Styling. (Michael Borisov)
* Optimize imports and adding missing import for sys module. (Michael Borisov)
0.1.7 (2015-04-24)
---------------------
* Add more assertions in tests
* Add more verbose output
* Add recursive delete to Makefile clean
* Update Readme
0.1.6 (2015-04-22)
---------------------
* py3 print function
0.1.5 (2015-04-22)
---------------------
* Add Readme, Add Examples
* Add Stdlib into package
0.1.1 (2015-04-22)
---------------------
* Fix regex matching for imports
* Release on Pypi
0.1.0 (2015-04-22)
---------------------
* First release on Github.
Raw data
{
"_id": null,
"home_page": "https://github.com/bndr/pipreqs",
"name": "pipreqs-test",
"maintainer": "",
"docs_url": null,
"requires_python": ">=3.7",
"maintainer_email": "",
"keywords": "pip requirements imports",
"author": "Vadim Kravcenko",
"author_email": "vadim.kravcenko@gmail.com",
"download_url": "https://files.pythonhosted.org/packages/24/fe/a40e593881cb0add9afd6faa153597697341913094ade0b753cf473efb05/pipreqs-test-19.3.28.tar.gz",
"platform": null,
"description": "=============================================================================\n``pipreqs`` - Generate requirements.txt file for any project based on imports\n=============================================================================\n\n.. image:: https://img.shields.io/travis/bndr/pipreqs.svg\n :target: https://travis-ci.org/bndr/pipreqs\n\n\n.. image:: https://img.shields.io/pypi/v/pipreqs.svg\n :target: https://pypi.python.org/pypi/pipreqs\n\n\n.. image:: https://codecov.io/gh/bndr/pipreqs/branch/master/graph/badge.svg?token=0rfPfUZEAX\n :target: https://codecov.io/gh/bndr/pipreqs\n\n.. image:: https://img.shields.io/pypi/l/pipreqs.svg\n :target: https://pypi.python.org/pypi/pipreqs\n\n\n\nInstallation\n------------\n\n::\n\n pip install pipreqs\n\nUsage\n-----\n\n::\n\n Usage:\n pipreqs [options] [<path>]\n\n Arguments:\n <path> The path to the directory containing the application files for which a requirements file\n should be generated (defaults to the current working directory)\n\n Options:\n --use-local Use ONLY local package info instead of querying PyPI\n --pypi-server <url> Use custom PyPi server\n --proxy <url> Use Proxy, parameter will be passed to requests library. You can also just set the\n environments parameter in your terminal:\n $ export HTTP_PROXY=\"http://10.10.1.10:3128\"\n $ export HTTPS_PROXY=\"https://10.10.1.10:1080\"\n --debug Print debug information\n --ignore <dirs>... Ignore extra directories, each separated by a comma\n --no-follow-links Do not follow symbolic links in the project\n --encoding <charset> Use encoding parameter for file open\n --savepath <file> Save the list of requirements in the given file\n --print Output the list of requirements in the standard output\n --force Overwrite existing requirements.txt\n --diff <file> Compare modules in requirements.txt to project imports\n --clean <file> Clean up requirements.txt by removing modules that are not imported in project\n --mode <scheme> Enables dynamic versioning with <compat>, <gt> or <non-pin> schemes\n <compat> | e.g. Flask~=1.1.2\n <gt> | e.g. Flask>=1.1.2\n <no-pin> | e.g. Flask\n\nExample\n-------\n\n::\n\n $ pipreqs /home/project/location\n Successfully saved requirements file in /home/project/location/requirements.txt\n\nContents of requirements.txt\n\n::\n\n wheel==0.23.0\n Yarg==0.1.9\n docopt==0.6.2\n\nWhy not pip freeze?\n-------------------\n\n- ``pip freeze`` only saves the packages that are installed with ``pip install`` in your environment.\n- ``pip freeze`` saves all packages in the environment including those that you don't use in your current project (if you don't have ``virtualenv``).\n- and sometimes you just need to create ``requirements.txt`` for a new project without installing modules.\n\n\n\n\nHistory\n-------\n\n0.4.11 (2020-03-29)\n--------------------\n\n* Implement '--mode' (Jake Teo, Jerome Chan)\n\n0.4.8 (2017-06-30)\n--------------------\n\n* Implement '--clean' and '--diff' (kxrd)\n* Exclude concurrent{,.futures} from stdlib if py2 (kxrd)\n\n0.4.7 (2017-04-20)\n--------------------\n\n* BUG: remove package/version duplicates\n* Style: pep8\n\n0.4.5 (2016-12-13)\n---------------------\n\n* Fixed the --pypi-server option\n\n0.4.4 (2016-07-14)\n---------------------\n\n* Remove Spaces in output\n* Add package to output even without version\n\n0.4.2 (2016-02-10)\n---------------------\n\n* Fix duplicated lines in requirements.txt (Dmitry Pribysh)\n\n0.4.1 (2016-02-05)\n---------------------\n\n* Added ignore option (Nick Rhinehart)\n\n0.4.0 (2016-01-28)\n---------------------\n\n* Walk Abstract Syntax Tree to find imports (Kay Sackey)\n\n0.3.9 (2016-01-20)\n---------------------\n\n* Fix regex for docstring comments (#35)\n\n0.3.8 (2016-01-12)\n---------------------\n\n* Add more package mapping\n* fix(pipreqs/mapping): remove pylab reference to matplotlib\n* Remove comments \"\"\" before going through imports\n* Update proxy documentation\n\n0.3.1 (2015-10-20)\n---------------------\n\n* fixed lint warnings (EJ Lee)\n* add --encoding parameter for open() (EJ Lee)\n* support windows directory separator (EJ Lee)\n\n0.3.0 (2015-09-29)\n---------------------\n\n* Add --proxy option\n* Add --pypi-server option\n\n0.2.9 (2015-09-24)\n---------------------\n\n* Ignore irreverent directory when generating requirement.txt (Lee Wei)\n* Modify logging level of \"Requirement.txt already exists\" to warning (Lee Wei)\n\n0.2.8 (2015-05-11)\n---------------------\n\n* Add --force option as a protection for overwrites\n\n0.2.6 (2015-05-11)\n---------------------\n\n* Fix exception when 'import' is used inside package name #17\n* Add more tests\n\n0.2.5 (2015-05-11)\n---------------------\n\n* Fix exception when 'import' is used in comments #17\n* Fix duplicate entries in requirements.txt\n\n0.2.4 (2015-05-10)\n---------------------\n\n* Refactoring\n* fix \"import as\"\n\n0.2.3 (2015-05-09)\n---------------------\n\n* Fix multiple alias imports on the same line (Tiago Costa)\n* More package mappings\n\n0.2.2 (2015-05-08)\n---------------------\n\n* Add ImportName -> PackageName mapping\n* More tests\n\n0.2.1 (2015-05-08)\n---------------------\n\n* Fix for TypeError for implicit conversion\n\n0.2.0 (2015-05-06)\n---------------------\n\n* Add --use-local option\n* Exclude relative imports. (Dongwon Shin)\n* Use \"latest_release_id\" instead of \"release_ids[-1]\" (Dongwon Shin)\n\n0.1.9 (2015-05-01)\n---------------------\n\n* Output tuning (Harri Berglund)\n* Use str.partition() to simplify the logic (cclaus)\n\n0.1.8 (2015-04-26)\n---------------------\n\n* Fixed problems with local imports (Dongwon Shin)\n* Fixed problems with imports with 'as' (Dongwon Shin)\n* Fix indentation, pep8 Styling. (Michael Borisov)\n* Optimize imports and adding missing import for sys module. (Michael Borisov)\n\n0.1.7 (2015-04-24)\n---------------------\n\n* Add more assertions in tests\n* Add more verbose output\n* Add recursive delete to Makefile clean\n* Update Readme\n\n0.1.6 (2015-04-22)\n---------------------\n\n* py3 print function\n\n0.1.5 (2015-04-22)\n---------------------\n\n* Add Readme, Add Examples\n* Add Stdlib into package\n\n0.1.1 (2015-04-22)\n---------------------\n\n* Fix regex matching for imports\n* Release on Pypi\n\n0.1.0 (2015-04-22)\n---------------------\n\n* First release on Github.\n",
"bugtrack_url": null,
"license": "Apache License",
"summary": "Pip requirements.txt generator based on imports in project",
"version": "19.3.28",
"project_urls": {
"Homepage": "https://github.com/bndr/pipreqs"
},
"split_keywords": [
"pip",
"requirements",
"imports"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "d9eb7623d1f850b651aa091d6ec39810cee139b62e0854b1f026a8281372d3ec",
"md5": "26d65195a75db874c896312700c8d1eb",
"sha256": "e9732c30ebdec109dcb8812ed55fda496c6ef65d755a597a0beae0605944c3a7"
},
"downloads": -1,
"filename": "pipreqs_test-19.3.28-py2.py3-none-any.whl",
"has_sig": false,
"md5_digest": "26d65195a75db874c896312700c8d1eb",
"packagetype": "bdist_wheel",
"python_version": "py2.py3",
"requires_python": ">=3.7",
"size": 33302,
"upload_time": "2023-10-20T00:07:29",
"upload_time_iso_8601": "2023-10-20T00:07:29.496560Z",
"url": "https://files.pythonhosted.org/packages/d9/eb/7623d1f850b651aa091d6ec39810cee139b62e0854b1f026a8281372d3ec/pipreqs_test-19.3.28-py2.py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "24fea40e593881cb0add9afd6faa153597697341913094ade0b753cf473efb05",
"md5": "722771be9905b69c85570aca6245c1fc",
"sha256": "2979fc8cbe96deea424e8c4ebd568ae7faf75c148779dffc3f876c9ca91ab6c8"
},
"downloads": -1,
"filename": "pipreqs-test-19.3.28.tar.gz",
"has_sig": false,
"md5_digest": "722771be9905b69c85570aca6245c1fc",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.7",
"size": 47463,
"upload_time": "2023-10-20T00:07:31",
"upload_time_iso_8601": "2023-10-20T00:07:31.038004Z",
"url": "https://files.pythonhosted.org/packages/24/fe/a40e593881cb0add9afd6faa153597697341913094ade0b753cf473efb05/pipreqs-test-19.3.28.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2023-10-20 00:07:31",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "bndr",
"github_project": "pipreqs",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"requirements": [],
"tox": true,
"lcname": "pipreqs-test"
}