GitHub Action Package for Automating Python-Package Dependency Management
This GitHub Action creates 1+ dependencies*.log
file(s) for documenting dependency versions (ex: dependencies.log
, dependencies-dev.log
, dependencies-docker-default.log
, etc.). These files are similar to requirements*.txt
-type files, with the distinct difference that 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 dependencies*.log
file(s). All current dependencies*.log
files are deleted/overwritten/updated. By default, these file(s) are placed at the client repository's root. Setting the input arg use_directory: true
will place the generated file(s) in dependencies-logs/
.
By default, this action generates a dependencies*.log
file using the environment built from the client's Python package. In addition, a dedicated dependencies-EXTRA.log
file is generated for each package "extra".
If the user supplies Docker image(s) tagged with "py-dep-this"
(configurable by the input arg, docker_tag_to_dep
). dependencies*.log
file(s), named 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]
```