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

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 Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

pigar-0.6.8-py2.py3-none-any.whl (2.4 MB view details)

Uploaded Python 2 Python 3

File details

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

File metadata

File hashes

Hashes for pigar-0.6.8-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 c99f56083162e81897c1daa19b36f163b7b10a748c73afb3e1b00ae46e58b499
MD5 d379c09ca734a9d627f0ab93dfbaa9ca
BLAKE2b-256 de4cbd11561291c0e86ab310b139ec6b72541d5dc075f0aec9f29f9ff8aa2968

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