Skip to main content
Join the official 2019 Python Developers SurveyStart the survey!

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

Project description


  • 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/ 2,3
    # project/bar/ 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


You can find more information on GitHub .

Change Logs

Version 0.9.0 (2018.08.12)

  • Reuse connections.
  • Update database.
  • Fixed #44

Version 0.7.2 (2018.04.24)

Version 0.7.1 (2017.11.07)

Version 0.7.0 (2017.07.03)

  • Fixed the .egg suffix which caused by sudo pip install … on Ubuntu.
  • Workaround for special packages, such as #29

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(
  • 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.

Files for pigar, version 0.9.2
Filename, size File type Python version Upload date Hashes
Filename, size pigar-0.9.2-py2.py3-none-any.whl (4.6 MB) File type Wheel Python version py2.py3 Upload date Hashes View hashes
Filename, size pigar-0.9.2.tar.gz (4.6 MB) File type Source Python version None Upload date Hashes View hashes

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page