Skip to content

WIPACrepo/wipac-dev-py-dependencies-action

Use this GitHub action with your project
Add this Action to an existing workflow or create a new one
View on Marketplace

Repository files navigation

wipac-dev-py-dependencies-action

GitHub Action Package for Automating Python-Package Dependency Management

Overview

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.

Details

This action uses pip freeze + pipdeptree to generate the file.

Generating from Python Package

This is the default behavior, no special configuration is needed.

Generating from Docker Images

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.

Example File

    ```
    #
    # 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]
    ```

About

GitHub Action Package for Automating Python-Package Dependency Management

Resources

License

Stars

Watchers

Forks

Packages

No packages published