Skip to main content

A fantastic tool to generate requirements for your Python project, and more than that.

Project description

https://img.shields.io/travis/damnever/pigar.svg?style=flat-square https://img.shields.io/pypi/v/pigar.svg?style=flat-square

Features

  • Generate requirements for project, pigar can consider all kinds of complicated situations. In this project, py2_requirements.txt and py3_requirements.txt for different python versions

    # Generate requirements.txt for current directory.
    $ pigar
    
    # Generate requirements for given directory in given file.
    $ pigar -p ../dev-requirements.txt -P ../

    pigar will list all files which referenced the package, for example:

    # project/foo.py: 2,3
    # project/bar/baz.py: 2,7,8,9
    foobar == 3.3.3

    If requirements file is overwritten over, pigar will show difference between old and new.

  • If you do not know the import name that belongs to a specific package (more generally, does Import Error: xxx drive you crazy?), such as bs4 which may come from beautifulsoup4 or MySQLdb which could come from MySQL_Python, try searching for it:

    $ pigar -s bs4 MySQLdb
  • To check requirements for the latest version, just do:

    # Specific a requirements file.
    $ pigar -c ./requirements.txt
    
    # Or, you can leave pigar search *requirements.txt in current directory
    # level by itself, if not found, pigar will generate requirements.txt
    # for current project then check latest version.
    $ pigar -c

More

You can find more information on GitHub .

Change Logs

TO-DO

Version 0.6.10 (2016.06.17)

  • Fixed #26

  • Fixed relative import issue.

Version 0.6.9 (2016.05.08)

  • Fixed ImportError.

Version 0.6.8 (2016.05.08)

  • Supported flask extension.

  • Sorted requirements.

  • Use gevent if possible.

Version 0.6.7 (2015.12.13)

  • If modules in the try...except... block, assume they are optional.

Version 0.6.6 (2015.11.22)

  • Fixed IndexError.

Version 0.6.5 (2015.11.22)

  • Fixed AttributeError.

  • Fixed PEP8 warning.

Version 0.6.4 (2015.11.22)

  • Removed useless code.

  • Cache modules, to avoid duplication of inspection.

Thank @spacewander for the following contributions:

  • Fixed error for Python 2.7.6.

  • Fixed error when using ‘./xxx’ as relative path.

  • Support importlib.import_module and __import__.

Version 0.6.3 (2015.11.09)

  • Sort files, make comments more clearer.

  • Fixed grammar, to make the README clearer. Thank @roryokane and @flyingfisch.

  • Make it work with python -m pigar. Thank @lilydjwg.

  • Fixed the pep8 warnings: #15.

  • Make output more clearer: #12.

  • Fixed UnicodeDecodeError for Python 3.

Version 0.6.2 (2015.11.05)

  • If requirements file is overwritten over, show difference between old and new.

  • Adjust the structure of the code.

Version 0.6.1 (2015.11.03)

  • Fixed typo.

  • Follow symlinks.

Version 0.6.0 (2015.10.30)

  • Enhancement: issue #7, show imported module come from which files.

  • Consider package installed via Git.

  • Add command “-i”, used to ignore a list of directory.

Version 0.5.5 (2015.10.21)

Version 0.5.2-0.5.4 (2015.10.6)

  • Fixed issue #1.

  • Make version compare more effective.

  • Removed useless code.

Version 0.5.1 (2015.10.01)

  • Available in PyPI(https://pypi-hypernode.com/pypi/pigar).

  • Generate requirements for Python project.

  • Can consider different for different Python versions.

  • Search package names by imported names.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pigar-0.7.0.tar.gz (3.4 MB view details)

Uploaded Source

Built Distribution

pigar-0.7.0-py2.py3-none-any.whl (3.4 MB view details)

Uploaded Python 2 Python 3

File details

Details for the file pigar-0.7.0.tar.gz.

File metadata

  • Download URL: pigar-0.7.0.tar.gz
  • Upload date:
  • Size: 3.4 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for pigar-0.7.0.tar.gz
Algorithm Hash digest
SHA256 9ab313b5eb211108077d915a1093d777fb501cc223d4e370dbd6356546073a9c
MD5 5a5781131fe5cb1b29b00383add8ba6b
BLAKE2b-256 ba5f1df925f95432da55710e507c50aae7a16a051e8bc986dea457b44860baa1

See more details on using hashes here.

File details

Details for the file pigar-0.7.0-py2.py3-none-any.whl.

File metadata

File hashes

Hashes for pigar-0.7.0-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 97763750c17196492c2136dc6838af26e72c969ef42e08aac334969159359ebc
MD5 a28dd96de91db5c66147c45a98eeecef
BLAKE2b-256 4715946c4569a8616fad81075a81ae6f7efaa62518a9d8451a7322d15f04f529

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page