GitHub Action Package for Automating Python-Package Dependency Management
This GitHub Action creates 1+ py-dependencies*.log
file(s) for documenting dependency versions (ex: py-dependencies.log
, py-dependencies-dev.log
, py-dependencies-docker-default.log
, etc.) for a repo's Python package. Additional py-dependencies-EXTRA.log
files are generated for each package "extra".
These files are uploaded as GitHub release assets, along with a "diff" file (py-dependencies*.diff
) comparing the generated file to the previous release. When the GitHub action runs on other branches, the file is dumped to the console in color.
These files are similar to requirements*.txt
-type files, with the distinct difference that py-dependencies*.log
-type files are a reflection of the built environment(s). If dependency-version pinning is wanted, it should be done by the user in the setup.cfg
/pyproject.toml
file.
This action uses pip freeze
+ pipdeptree
to generate the file.
This is the default behavior, no special configuration is needed.
If the user supplies Docker image(s) tagged with "py-dep-this"
, file(s) named py-dependencies-docker-{IMAGE_NAME}.log
, are generated from within each container.
```
#
# This file was autogenerated by WIPACrepo/wipac-dev-py-setup-action
# from `pip install .`
# using Python 3.10.
#
########################################################################
# pip freeze
########################################################################
certifi==2023.7.22
charset-normalizer==3.3.1
idna==3.4
requests==2.31.0
typing_extensions==4.8.0
urllib3==2.0.7
########################################################################
# pipdeptree
########################################################################
pip==23.2.1
pipdeptree==2.13.0
setuptools==65.5.1
wheel==0.41.2
mock-package
├── requests [required: Any, installed: 2.31.0]
│ ├── certifi [required: >=2017.4.17, installed: 2023.7.22]
│ ├── charset-normalizer [required: >=2,<4, installed: 3.3.1]
│ ├── idna [required: >=2.5,<4, installed: 3.4]
│ └── urllib3 [required: >=1.21.1,<3, installed: 2.0.7]
└── typing-extensions [required: Any, installed: 4.8.0]
```