Skip to main content

Requirement (dependency) management for python projects

Project description

dependence

test CodeQL distribute

This project provides command line utilities for performing common python development tasks.

Installation

You can install dependence with pip:

pip3 install dependence

Usage

Command Line Interface

$ dependence -h
Usage:
  dependence <command> [options]

Commands:
  update                      Update requirement versions in the specified
                              files to align with currently installed versions
                              of each distribution
  freeze                      Print dependencies inferred from an installed
                              distribution or project, in a similar format
                              to the output of `pip freeze`.

dependence update

$ dependence update -h
usage: dependence update [-h] [-i IGNORE] [-aen ALL_EXTRA_NAME]
                           path [path ...]

Update requirement versions in the specified files to align with currently
installed versions of each distribution.

positional arguments:
  path                  One or more local paths to a setup.cfg,
                        setup.cfg, and/or requirements.txt file

optional arguments:
  -h, --help            show this help message and exit
  -i IGNORE, --ignore IGNORE
                        A comma-separated list of distributions to ignore
                        (leave any requirements pertaining to the package
                        as-is)
  -aen ALL_EXTRA_NAME, --all-extra-name ALL_EXTRA_NAME
                        If provided, an extra which consolidates the
                        requirements for all other extras will be
                        added/updated to setup.cfg or setup.cfg
                        (this argument is ignored for requirements.txt
                        files)

dependence freeze

$ dependence freeze -h
usage: dependence freeze [-h] [-e EXCLUDE] [-er EXCLUDE_RECURSIVE]
                           [-nv NO_VERSION]
                           requirement [requirement ...]

This command prints dependencies inferred from an installed distribution or
project, in a similar format to the output of `pip freeze`, except that all
generated requirements are specified in the format "distribution-
name==0.0.0" (including for editable installations). Using this command
instead of `pip freeze` to generate requirement files ensures that you don't
bloat your requirements files with superfluous distributions.

positional arguments:
  requirement           One or more requirement specifiers (for example:
                        "requirement-name", "requirement-
                        name[extra-a,extra-b]", ".[extra-a, extra-b]" or
                        "../other-editable-package-directory[extra-a,
                        extra-b]) and/or paths to a setup.py, setup.cfg,
                        pyproject.toml, tox.ini or requirements.txt file

optional arguments:
  -h, --help            show this help message and exit
  -e EXCLUDE, --exclude EXCLUDE
                        A distribution (or comma-separated list of
                        distributions) to exclude from the output
  -er EXCLUDE_RECURSIVE, --exclude-recursive EXCLUDE_RECURSIVE
                        A distribution (or comma-separated list of
                        distributions) to exclude from the output. Unlike -e
                        / --exclude, this argument also precludes recursive
                        requirement discovery for the specified packages,
                        thereby excluding all of the excluded package's
                        requirements which are not required by another (non-
                        excluded) distribution.
  -nv NO_VERSION, --no-version NO_VERSION
                        Don't include versions (only output distribution
                        names) for packages matching this/these glob
                        pattern(s) (note: the value must be single-quoted if
                        it contains wildcards)

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

dependence-0.0.1.tar.gz (18.1 kB view hashes)

Uploaded Source

Built Distribution

dependence-0.0.1-py3-none-any.whl (18.2 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page