skip to navigation
skip to content

pigar 0.7.1

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


  • 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.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.
File Type Py Version Uploaded on Size
pigar-0.7.1-py2.py3-none-any.whl (md5) Python Wheel py2.py3 2017-11-07 3MB
pigar-0.7.1.tar.gz (md5) Source 2017-11-07 3MB