pigar

A tool to generate requirements.txt for Python project, and more than that. (IT IS NOT A PACKAGE MANAGEMENT TOOL)

BSD-3-CLAUSE License

Downloads
72.8K
Stars
1.6K
Committers
16
pigar - v2.1.6 Latest Release

Published by damnever 4 months ago

pip install pigar==2.1.6

Fixed a major issue that occurred when upgrading to pip version 24.1+. Pigar now properly vendors pip to avoid depending on the installed version of pip.

Additionally, Pigar now uses Git LFS, and the tarball from the release may not include the necessary files.

See what’s changed between v2.1.4 and v2.1.6.

pigar - v2.1.4

Published by damnever 8 months ago

pip install pigar==2.1.4

See what’s changed between v2.1.3 and v2.1.4.

pigar - v2.1.3

Published by damnever 8 months ago

pip install pigar==2.1.3

See what’s changed between v2.1.2 and v2.1.3.

pigar - v2.1.2

Published by damnever 8 months ago

pip install pigar==2.1.2

See what’s changed between v2.1.1 and v2.1.2.

Great thanks to @laoraid and @baterflyrity for their contributions!

pigar - v2.1.1

Published by damnever over 1 year ago

pip install pigar==2.1.1

See what’s changed between v2.1.0 and v2.1.1.

pigar - v2.1.0

Published by damnever over 1 year ago

pip install pigar==2.1.0 includes an experimental feature called 'requirement-annotations' that allows you to declare implicit packages/distributions by using comments:

import foo # pigar: required-imports=import_name_bar,import_name_baz
import foo # pigar: required-packages=package-name-bar,package-name-baz # Extra comments are allowed.
foo(features=['bar', 'baz']) # pigar: required-distributions=package-name-bar,package-name-baz

See what’s changed between v2.0.8 and v2.1.0.

pigar - v2.0.8

Published by damnever over 1 year ago

pip install pigar==2.0.8

See what’s changed between v2.0.7 and v2.0.8.

pigar - v2.0.7

Published by damnever over 1 year ago

pip install pigar==2.0.7

See what’s changed between v2.0.5 and v2.0.6.

pigar - v2.0.6

Published by damnever over 1 year ago

pip install pigar==2.0.6

See what’s changed between v2.0.5 and v2.0.6.

pigar - v2.0.5

Published by damnever almost 2 years ago

pip install pigar==2.0.5

See what’s changed between v2.0.4 and v2.0.5.

pigar - v2.0.4

Published by damnever almost 2 years ago

pip install pigar==2.0.4

See what’s changed between v2.0.3 and v2.0.4.

pigar - v2.0.3

Published by damnever almost 2 years ago

pip install pigar==2.0.3

See what’s changed between v2.0.2 and v2.0.3.

pigar - v2.0.2

Published by damnever almost 2 years ago

pip install pigar==2.0.2

  • Ignore absolute path in distributions' installed files.
  • Ignore vcs exception when parsing information for EggInfoDistribution.
  • Sort searched results, print unknown if version not found.
  • Fix dirty records in the index database.
pigar - v2.0.1

Published by damnever almost 2 years ago

pigar - v2.0.0

Published by damnever almost 2 years ago

Thanks for all the feedback and contributions, try the v2: pip install pigar==2.0.0.

This version has changed a lot of things, most of them are BREAKING CHANGEs!

  • Dropped support for Python versions older than 3.7.
  • Redesigned the command line interface.
    • pigar generate to generate requirements.txt.
    • pigar search to search packages/distributions by the top level module names.
    • pigar check to check the latest versions of requirements.
    • pigar -h to explore more.
    • pigar accepts a prefix for a command, such as pigar gen, pigar c.
  • Refactored a lot of code and interfaces.
  • Vendoring the pip to access more sophisticated utilities(pip named it's module as _internal so vendoring technology is introduced).
    • Fixed a lot of issues when parsing the requirements file, e.g. #113.
    • Fixed the issues for editable requirements, e.g. #60.
  • Tweaked some default actions and introduced more options for better user experience.
    • pigar will ask user to choose the right packages/distributions if pigar has found multiple packages/distributions for the same module names. With --auto-select enabled, pigar will guess the best matched one or choose all possible packages/distributions automatically.
    • Added an option --dry-run which allows pigar to not write a requirements.txt file, just print it.
    • Added an option --follow-symbolic-links/--dont-follow-symbolic-links to let user decide whether to follow the symbolic links, fixed #89.
    • Added an option -i/--index-url to allow the custom URL of the Python Package Index, fixed #52.
    • Removed the spaces from requirements specifier, fixed #86.
    • Added an option --show-differences/--dont-show-differences to enable or disable showing the differences when the requirements file is overwritten.
  • Introduced asyncio to synchronize distributions' metadata with the PyPI, the process is much faster now.
  • Refactored the code to make the index database more reliable.
    • Add unique contstraints to avoid duplicate records, fixed #119.
    • Store versions in the database to do incremental index synchronization.
pigar - v1.0.2

Published by damnever almost 2 years ago

v1.0.1 is a bad release, and I am hoping there is no one using it.. sorry for the inconvenience.

NOTE

Version 1.x will be the last version that supports Python2.7

News

Now, we can search Python package distributions by the top-level import name on https://damnever.github.io/pigar/

Bug fixes

  • Support *.ipynb magics and shell command, fixed #87. See #102, #117, #118 for details.
  • Parse requirements file with the more sophisticated utility, fixed #48, #113. See #115 for details.
  • Fixed #99, continue if a local package isn't exists. See #107 for details.
  • Fixed too many values to unpack error when parsing git config. See #97 for details.

Thanks to @dsimmie, @yashafromrussia and @mdmmn378 for their contributions to this release.

pigar - v1.0.1 [NSFW]

Published by damnever almost 2 years ago

This is a bad release, see v1.0.2.

pigar - v1.0.0

Published by damnever over 2 years ago

  • BREAKING CHANGE: Disable the comments which contain filenames and line numbers by default, use --with-referenced-comments to enable this feature.
  • Skip if local package (edit-mode project) not found, fixed #99.
pigar - v0.10.0

Published by damnever over 4 years ago

See v0.10.0rc0 for details.

pigar - v0.10.0rc0

Published by damnever over 4 years ago

  • Refactored the main logic, the interface has been changed, be careful if you are using pigar as a library.
  • Handle the HTTP error, fixed #61.
  • Ignore local packages quietly, fixed #47, #58 and #65.

Thank @bganglia for the following contributions:

  • Add Jupyter notebook(.ipynb) support, refer to #69.
  • Option to turn off filenames and line numbers in requirements.txt, refer to #65.
  • Fix check path, refer to #64.
  • And more.
Package Rankings
Top 2.9% on Pypi.org
Top 6.62% on Proxy.golang.org
Top 28.5% on Conda-forge.org
Badges
Extracted from project README