Skip to main content

fetter

System-wide Python Package Discovery, Validation, and Allow-Listing

The fetter command-line tool scans and validates Python packages across virtual environments or entire systems, ensuring packages conform to specified requirements or lock files. It identifies unapproved or vulnerable packages, supports continuous integration with 'pre-commit', and offers excellent performance thanks to a multi-threaded Rust implementation.

As an alternative to pip-audit, fetter can lookup vulnerabilities for packages defined in requirements.txt, pyproject.toml, or lock files created by uv, pixi, poetry, pipenv, or pip-tools; further, full vulnerability details, including CVSS scores, are provided.

Additionally, fetter can configure a virtual environment to validate package alignment before every Python run, enforcing a locked and reproducible development environment.

  • 🔎 System Scanning: Finds Python packages across system environments.
  • 🛡️ Vulnerability Audit: Scans defined or installed packages for security vulnerabilities in the Open Source Vulnerability database.
  • ⚖️ Package Validation: Checks installed packages against requirements.txt, pyproject.toml, or lock files created by uv, pixi, poetry, pipenv, or pip-tools that are sourced locally, via URLs, or via git repositories.
  • 🔒 Locked & Reproducible Environments: Automatically validate packages against a lock file before every Python run.
  • ⚙️ CI Integration: Validate and audit with pre-commit hooks.
  • 🚀 Fast: Multi-threaded Rust implementation.
  • 🪢 Bound Requirements: Derive lock-file-like bound requirements from observed system packages.
  • 🧹 Search and Purge: Find and remove packages across environments.
  • 🧩 Flexible Output: Display results in terminal or export to delimited files.

Articles

Installing the fetter Command Line Application

While available as a pure Rust binary (crates), fetter is easily installed via a Python package (pypi):

$ pip install fetter
$ fetter --help

As fetter can operate across multiple virtual environments, installation via pipx might be desirable:

$ pipx install fetter
$ fetter --version

An "ephemeral" fetter installation and run is also possible with uvx:

$ uvx fetter --version

Using fetter to Replace pip-audit

The fetter lookup-bound command can perform numerous operations similar to pip-audit, though with broader file format support and (by using the OSV Database) greater vulnerability details (including CVSS scores).

To audit dependencies for a local Python project:

$ fetter lookup-bound

To audit dependencies for a specified requirements file:

$ fetter lookup-bound --bound requirements.txt

To audit dependencies for a lock file created by uv, pixi, poetry, pipenv, or pip-tools:

$ fetter lookup-bound --bound uv.lock

To audit dependencies defined in an online git repository:

$ fetter lookup-bound --bound git@github.com:psf/clabot.git

The fetter lookup-name command can be used to find vulnerabilities for a single package or version, or multiple versions across a dependency specification.

$ fetter lookup-name "pip>=25"

Using fetter to Scan, Validate, and Audit Packages

For complete command-line documentation, see CLI Documentation.

By default, fetter will search for all packages in site-packages directories discoverable from all Python executables found in the system or user virtual environments. Depending on your system, this command might take several seconds.

$ fetter scan

To limit scanning to site-packages directories associated with a specific Python executable, the --exe (or -e) argument can be supplied.

$ fetter -e python3 scan
Package                   Site
certifi-2024.8.30         ~/.env-wp/lib/python3.12/site-packages
charset_normalizer-3.4.0  ~/.env-wp/lib/python3.12/site-packages
idna-3.10                 ~/.env-wp/lib/python3.12/site-packages
jinja2-3.1.3              ~/.env-wp/lib/python3.12/site-packages
markupsafe-2.1.5          ~/.env-wp/lib/python3.12/site-packages
pip-21.1.1                ~/.env-wp/lib/python3.12/site-packages
requests-2.32.3           ~/.env-wp/lib/python3.12/site-packages
setuptools-56.0.0         ~/.env-wp/lib/python3.12/site-packages
urllib3-2.2.3             ~/.env-wp/lib/python3.12/site-packages
zipp-3.18.1               ~/.env-wp/lib/python3.12/site-packages

This environment was built from this "requirements.txt":

jinja2==3.1.3
zipp==3.18.1
requests==2.32.3

To validate that the installed packages match the packages specified in "requirements.txt", we can use the fetter validate command, again targeting our active Python with -e python3, and providing "requirements.txt" to the --bound argument.

$ fetter -e python3 validate --bound requirements.txt
Package                   Dependency  Explain     Sites
certifi-2024.8.30                     Unrequired  ~/.env-wp/lib/python3.12/site-packages
charset_normalizer-3.4.0              Unrequired  ~/.env-wp/lib/python3.12/site-packages
idna-3.10                             Unrequired  ~/.env-wp/lib/python3.12/site-packages
markupsafe-2.1.5                      Unrequired  ~/.env-wp/lib/python3.12/site-packages
pip-21.1.1                            Unrequired  ~/.env-wp/lib/python3.12/site-packages
setuptools-56.0.0                     Unrequired  ~/.env-wp/lib/python3.12/site-packages
urllib3-2.2.3                         Unrequired  ~/.env-wp/lib/python3.12/site-packages

The --superset command can be provided to accept packages that are not defined in the bound requirements.

$ fetter -e python3 validate --bound requirements.txt --superset

If we update zipp to version 3.20.2 and re-run validation, fetter will report these as "Misdefined" records

$ fetter -e python3 validate --bound requirements.txt --superset
Package      Dependency    Explain     Sites
zipp-3.20.2  zipp==3.18.1  Misdefined  ~/.env-wp/lib/python3.12/site-packages

If we remove the zipp package entirely, fetter identifies this as a "Missing" record:

$ fetter -e python3 validate --bound requirements.txt --superset
Package  Dependency    Explain  Sites
         zipp==3.18.1  Missing

If we want to permit the absence of specified packages, the --subset flag can be used:

$ fetter -e python3 validate --bound requirements.txt --superset --subset

Using the fetter audit command, details are provided for every vulnerability associated with installed packages.

$ fetter -e python3 audit
Package            Vulnerabilities      Attribute  Value
jinja2-3.1.3       GHSA-h75v-3vvj-5mfj  URL        https://osv.dev/vulnerability/GHSA-h75v-3vvj-5mfj
                                        Summary    Jinja vulnerable to HTML attribute injection when passing ...
                                        Reference  https://nvd.nist.gov/vuln/detail/CVE-2024-34064
                                        Severity   CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:L/I:L/A:N
pip-21.1.1         GHSA-mq26-g339-26xf  URL        https://osv.dev/vulnerability/GHSA-mq26-g339-26xf
                                        Summary    Command Injection in pip when used with Mercurial
                                        Reference  https://nvd.nist.gov/vuln/detail/CVE-2023-5752
                                        Severity   CVSS:4.0/AV:L/AC:L/AT:N/PR:L/UI:N/VC:N/VI:H/VA:N/SC:N/SI:N/SA
                   PYSEC-2023-228       URL        https://osv.dev/vulnerability/PYSEC-2023-228
                                        Reference  https://mail.python.org/archives/list/security-announce@py...
                                        Severity   CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:L/A:N
setuptools-56.0.0  GHSA-cx63-2mw6-8hw5  URL        https://osv.dev/vulnerability/GHSA-cx63-2mw6-8hw5
                                        Summary    setuptools vulnerable to Command Injection via package URL
                                        Reference  https://nvd.nist.gov/vuln/detail/CVE-2024-6345
                                        Severity   CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:A/VC:H/VI:H/VA:H/SC:N/SI:N/SA
                   GHSA-r9hx-vwmv-q579  URL        https://osv.dev/vulnerability/GHSA-r9hx-vwmv-q579
                                        Summary    pypa/setuptools vulnerable to Regular Expression Denial of...
                                        Reference  https://nvd.nist.gov/vuln/detail/CVE-2022-40897
                                        Severity   CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
                   PYSEC-2022-43012     URL        https://osv.dev/vulnerability/PYSEC-2022-43012
                                        Reference  https://github.com/pypa/setuptools/blob/fe8a98e696241487ba...
zipp-3.18.1        GHSA-jfmj-5v4g-7637  URL        https://osv.dev/vulnerability/GHSA-jfmj-5v4g-7637
                                        Summary    zipp Denial of Service vulnerability
                                        Reference  https://nvd.nist.gov/vuln/detail/CVE-2024-5569
                                        Severity   CVSS:4.0/AV:L/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA

Installing Automatic Environment Validation

The fetter site-install command can be used to configure a Python environment to automatically perform pre-run validation against a requirements.txt, pyproject.toml, or lock file created by uv, poetry, pipenv, or pip-tools. Once installed, packages will be validated before every Python execution, warning or optionally exiting if the environment is invalid.

The site-install command takes the same arguments as validate. Automatic validation is implemented by installing a special ".pth" file in the virtual environment associated with the provided Python executable.

For example, the following command will validate packages installed for the currently available python3 against a "requirement.txt" lock file and issue warnings:

$ fetter -e python3 site-install --bound requirements.txt

For stronger control, the exit subcommand can be added to force process termination on validation errors.

$ fetter -e python3 site-install --bound requirements.txt exit

To uninstall automatic environment validation, run site-uninstall with the same Python executable:

$ fetter -e python3 site-uninstall

Using fetter with pre-commit

Two fetter commands can be run via pre-commit hooks for continuous integration of Python package controls.

Running fetter validate with pre-commit.

The fetter validate command permits validating that the actually installed Python packages in the current environment are what are defined to be installed, as specified by a requirements.txt file, a pyproject.toml file, or a lock file produced by uv, poetry, pipenv, or pip-tools.

The fetter validate command takes a required argument, --bound, to specify that path or URL to the file to be used to define the bound requirements. The optional --superset argument permits packages not defined in the bound requirements to be present. The optional --subset argument permits not all packages in the bound requirements to be present.

To run fetter validate with pre-commit, add the following to your .pre-commit-config.yaml.

repos:
- repo: https://github.com/fetter-io/fetter-rs
  rev: v3.1.0
  hooks:
    - id: fetter-validate
      args: [--bound, {FILE}, --superset, --subset, display, --code, 3]

Running fetter audit with pre-commit.

The fetter audit command will check for cybersecurity vulnerabilities issued for all installed Python packages in the current environment. Vulnerabilities are searched for in the Open Source Vulnerability (OSV) database.

To run fetter audit with pre-commit, add the following to your .pre-commit-config.yaml. Note that, as searching vulnerabilities can take time, this hook is likely better deployed as a pre-push rather than a pre-commit hook.

repos:
- repo: https://github.com/fetter-io/fetter-rs
  rev: v3.1.0
  hooks:
    - id: fetter-audit

Command Line Interface Documentation

Global Options

  • --exe, -e <FILES>: Provide zero or more executable paths to derive site package locations. If omitted, all discoverable executables will be used.
  • --quiet, -q: Disable terminal animations.
  • --user_site: Force inclusion of the user site-packages, even if it is not activated. Defaults to only including if the interpreter is configured to use it.
  • --all-users: When searching for all discoverable executables, include all user directories. Otherwise, include only the users home directory.
  • --cache-duration, -c: Create or use a caches that expire after the provided number of seconds. A duration of zero will disable caching.
  • --cache-directory: Provide an explicit directory to be used for storing caches.
  • --log, -l: Enable logging output.
  • --stderr: Force all output to stderr.

Command: fetter scan

  • Description: Scan the environment to report on installed packages.
  • Subcommands
    • display: Show scan results in the terminal.
    • write: Save scan results to a file.
      • --output, -o <FILE>: Specify the output file.
      • --delimiter, -d <char>: Set the delimiter for the file (default: ,).

Command: fetter inspect

  • Description: Inspect all sites for code files runnable on interpreter startup.
  • Subcommands
    • display: Show inspect results in the terminal.
    • write: Save inspect results to a file.
      • --output, -o <FILE>: Specify the output file.
      • --delimiter, -d <char>: Set the delimiter for the file (default: ,).

Command: fetter search

  • Description: Search the environment to report on installed packages based on a pattern.
  • Options
    • --pattern, -p <STRING>: Specify a glob-like pattern to match packages.
    • --case: Enable case-sensitive pattern matching.
  • Subcommands
    • display: Show search results in the terminal.
    • write: Save search results to a file.
      • --output, -o <FILE>: Specify the output file.
      • --delimiter, -d <char>: Set the delimiter for the file (default: ,).

Command: fetter count

  • Description: Count discovered executables, sites, and packages.
  • Subcommands
    • display: Show count results in the terminal.
    • write: Save count results to a file.
      • --output, -o <FILE>: Specify the output file.
      • --delimiter, -d <char>: Set the delimiter for the file (default: ,).

Command: fetter derive

  • Description: Derive new requirements from discovered packages.
  • Options
    • --anchor, -a <BOUND>: Set the nature of the bound in the derived requirements. (Use a value from CliAnchor)
  • Subcommands
    • display: Show derived requirements in the terminal.
    • write: Save derived requirements to a file.
      • --output, -o <FILE>: Specify the output file.

Command: fetter validate

  • Description: Validate if packages conform to a specified validation target.
  • Options
    • --bound, -b <FILE>: Path or URL to the file containing bound requirements, which can be a requirements.txt, pyproject.toml or a lock file created by uv, poetry, pipenv, or pip-tools.
    • --bound-options <OPTIONS>: Names of additional optional dependency groups.
    • --ignore <OPTIONS>: Names of packages to be excluded from all evaluation.
    • --subset: Allow the observed packages to be a subset of the bound requirements.
    • --superset: Allow the observed packages to be a superset of the bound requirements.
  • Subcommands
    • display: Show validation results in the terminal.
      • --code, -c <INT>: Optionally specify and exit with an error code (default: 3).
    • json: Print validation results in JSON format.
    • write: Save validation results to a file.
      • --output, -o <FILE>: Specify the output file.
      • --delimiter, -d <char>: Set the delimiter for the file (default: ,).
    • exit: Return an exit code (0 for success, customizable for errors).
      • --code, -c <INT>: Specify the error code (default: 3).

Command: fetter site-install

  • Description: Install automatic validation checks on every Python run.
  • Options
    • --bound, -b <FILE>: Path or URL to the file containing bound requirements, which can be a requirements.txt, pyproject.toml or a lock file created by uv, poetry, pipenv, or pip-tools.
    • --bound-options <OPTIONS>: Names of additional optional dependency groups.
    • --ignore <OPTIONS>: Names of packages to be excluded from all evaluation.
    • --subset: Allow the observed packages to be a subset of the bound requirements.
    • --superset: Allow the observed packages to be a superset of the bound requirements.
  • Subcommands
    • warn: Configure site-install to print warnings on validation errors.
    • exit: Configure site-install to return an exit code on validation errors.
      • --code, -c <INT>: Specify the error code (default: 3).

Command: fetter site-uninstall

  • Description: Uninstall automatic validation checks.

Command: fetter audit

  • Description: Search for security vulnerabilities in packages via the OSV DB.
  • Options
    • --pattern, -p <STRING>: Specify a glob-like pattern to select packages (default: *).
    • --case: Enable case-sensitive pattern matching.
    • --cache-refresh: Ignore any OSV caches and re-fetch vulnerability details
    • --cvss: Filter vulnerabilities to those greater or equal to a provided CVSS score. If no argument is provided, the maximum is reported.
  • Subcommands
    • display: Show audit results in the terminal.
    • json: Print validation results in JSON format.
    • write: Save audit results to a file.
      • --output, -o <FILE>: Specify the output file.
      • --delimiter, -d <char>: Set the delimiter for the file (default: ,).
    • exit: Return an exit code (0 for success, customizable for errors).
      • --code, -c <INT>: Specify the error code (default: 3).

Command: fetter lookup-name

  • Description: Search for security vulnerabilities for a package name or dependency specification via the OSV DB.
  • Options
    • <NAME>: Provide a package name or dependency specification.
    • --limit <INT>: If the package does not specify a version, determine how many recent versions to audit.
    • --retain-passing: Show a record for all packages, even if the package has no vulnerabilities.
    • --cache-refresh: Ignore any OSV caches and re-fetch vulnerability details.
    • --cvss: Filter vulnerabilities to those greater or equal to a provided CVSS score. If no argument is provided, the maximum is reported.
  • Subcommands
    • display: Show lookup results in the terminal.
    • json: Print lookup results in JSON format.
    • write: Save lookup results to a file.
      • --output, -o <FILE>: Specify the output file.
      • --delimiter, -d <char>: Set the delimiter for the file (default: ,).
    • exit: Return an exit code (0 for success, customizable for errors).
      • --code, -c <INT>: Specify the error code (default: 3).

Command: fetter lookup-bound

  • Description: Search for security vulnerabilities for all packages in a bound requirements file via the OSV DB.
  • Options
    • <SOURCE>: Directory, file path, URL, or git repository from which to read bound requirements. The provided file can be requirements.txt, pyproject.toml or a lock file created by uv, poetry, pipenv, or pip-tools. If no argument is provided (or a directory is provided), the current directory is searched for a lock file, requirements.txt, or pyproject.toml.
    • --bound-options <OPTIONS>: Names of additional optional dependency groups.
    • --retain-passing: Show a record for all packages, even if the package has no vulnerabilities.
    • --cache-refresh: Ignore any OSV caches and re-fetch vulnerability details.
    • --cvss: Filter vulnerabilities to those greater or equal to a provided CVSS score. If no argument is provided, the maximum is reported.
  • Subcommands
    • display: Show lookup results in the terminal.
    • json: Print lookup results in JSON format.
    • write: Save lookup results to a file.
      • --output, -o <FILE>: Specify the output file.
      • --delimiter, -d <char>: Set the delimiter for the file (default: ,).
    • exit: Return an exit code (0 for success, customizable for errors).
      • --code, -c <INT>: Specify the error code (default: 3).

Command: fetter unpack-count

  • Description: Count all installed package artifacts.

  • Options

    • --pattern, -p <STRING>: Specify a glob-like pattern to select packages (default: *).
    • --case: Enable case-sensitive pattern matching.
  • Subcommands

    • display: Show artifact counts in the terminal.
    • write: Save artifact counts to a file.
      • --output, -o <FILE>: Specify the output file.
      • --delimiter, -d <char>: Set the delimiter for the file (default: ,).

Command: fetter unpack-files

  • Description: List the file names of all installed package artifacts.
  • Options
    • --pattern, -p <STRING>: Specify a glob-like pattern to select packages (default: *).
    • --case: Enable case-sensitive pattern matching.
  • Subcommands
    • display: Show artifact file names in the terminal.
    • write: Save artifact file names to a file.
      • --output, -o <FILE>: Specify the output file.
      • --delimiter, -d <char>: Set the delimiter for the file (default: ,).

Command: fetter purge-pattern

  • Description: Purge packages that match a specific pattern.
  • Options
    • --pattern, -p <STRING>: Specify a glob-like pattern to select packages (default: *).
    • --case: Enable case-sensitive pattern matching.

Command: fetter purge-invalid

  • Description: Purge packages that are invalid based on dependency specification.
  • Options
    • --bound, -b <FILE>: Path or URL to the file containing bound requirements, which can be a requirements.txt, pyproject.toml or a lock file created by uv, poetry, pipenv, or pip-tools.
    • --bound-options <OPTIONS>: Names of additional optional dependency groups.
    • --subset: Allow the observed packages to be a subset of the bound requirements.
    • --superset: Allow the observed packages to be a superset of the bound requirements.

What is New in Fetter

3.5.0

Additional robustness in identifying and parsing uv lock files.

3.4.0

Testing and building on Python 3.14

3.3.0

Testing and building on Python 3.14

3.2.0

Extension to the public library interface.

3.1.0

Extended lookup-bound subcommand to, by default, search the current working directory for a bound requirements file; alternatively, a path to a project directory can now be provided.

3.0.0

Added inspect subcommand to display all code files runnable on interpreter startup.

Added lookup-name subcommand to display all vulnerabilities for a single package.

Added lookup-bound subcommand to display all vulnerabilities for all packages in bound requirements, which can be a requirements.txt, pyproject.toml or a lock file created by uv, poetry, pipenv, or pip-tools

2.9.0

Improvements to CacheConfig struct.

2.8.0

Extension to the public library interface.

2.7.0

Extension to the public library interface.

2.6.0

Added all-users command-line flag to expand default search to all users.

Added cache-directory command-line flag to specify cache directory.

2.5.0

Extension to the public library interface.

2.4.0

Extension to the public library interface.

2.3.0

Extension to the public library interface.

2.2.0

Extension to the public library interface.

2.1.0

Extension to the public library interface.

2.0.2

Updated cvss dependency.

2.0.1

Update for CI.

2.0.0

The audit command now features a --cvss flag to filter results be CVSS score.

The audit command now displays CVSS score, severity, and vector.

The --cache-duration parameter is now used to set the cache duration of vulnerabilities per package obtained from the OSV DB.

The audit command is now robust to requests with no packages.

The monitor_scan command now properly identifies duplicated scans.

The monitor_scan command now defaults to a single execution with a --period of zero.

1.22.0

Extension to the public library interface.

1.21.0

Extension to the public library interface.

1.20.0

Added caching of OSV vulnerability data.

Added --cache-refresh parameter to audit command.

Implemented minimization of file path usage in ScanFS JSON representation.

1.19.0

Extension to the public library interface.

1.18.0

Extension to the public library interface.

1.17.0

Extension to the public library interface.

1.16.0

Added tenant argument to monitor-scan.

1.15.0

Extension to the public library interface.

1.14.0

Extension to the public library interface.

1.13.0

SystemTag now properly captures hostname and OS version on MacOS.

1.12.0

Extension to the public library interface.

1.11.0

Extension to the public library interface.

1.10.0

Extension to the public library interface.

1.9.0

Environment markers in Pipfile.lock files are now imported.

Support for lock files created by Pixi.

Added the exit subcommand to the audit command.

Implemented SystemTag

Implemented the monitor-scan command.

1.8.0

Added the --ignore parameter to site-install.

Added the --stderr flag to optionally divert all output to stderr.

Updated site-install to always use --stderr.

1.7.0

Added the --ignore parameter to validate to permit bypassing validation of specified packages. Defaults to ignore pip.

1.6.0

Better file path validation and error reporting.

Limit site-install and site-uninstall to only operate on single-Python environment selections.

Support for nearly all dependency environment markers.

1.5.0

Extended support for lock files provided to --bound to include uv.lock, poetry.lock, Pipfile.lock, as well as lock files produced by uv pip compile and pip-tools.

Improved loading of --bound files sourced from a git repository to find and load various lock file formats as well as pyproject.toml.

Improved loading of --bound files sourced from a URL to support various lock file formats as well as pyproject.toml.

1.4.0

Improved site-install to run in the same parent Python process.

Added code option to display to only optionally return an error code.

1.3.0

Implemented site-install to permit installation of package validation on every Python run.

Implemented site-uninstall to remove installation of package validation.

Added log option to display logging information.

Added support for poetry-style dependency specifications with ^ and ~.

Usage of -S in sub-processed Python calls for better isolation and performance.

1.2.0

Improvements to path expansion.

Implemented cache-duration to permit creating and using a locally stored JSON scan cache for the provided duration.

1.1.0

Implemented bound-options to permit selecting optional dependencies in pyproject.toml files.

1.0.0

Implemented home-path display abbreviation with ~.

Handle combining multiple DepSpec in producing DepManifest.

Added --pattern and --case options to audit.

Added support for creating DepManifest from pyproject.toml.

Permit DepManifest to be retrieved from a URL.

0.13.0

All subcommands now have their output sub-subcommands set to display by default.

The validate and audit subcommands now return a non-zero exit code when items are found.

The CLI now exits for unsupported platforms.

0.12.0

Extended validate and audit commands to return a non-zero error code if display prints records.

0.11.0

Implemented variable-width and colored terminal displays.

Implemented terminal spinner for long-running commands.

Added purge-invalid and purge-pattern commands.

Split unpack command into unpack-count and unpack-files.

Added support to specify --bound with a git repository.

0.10.0

Added --user-site flag to force inclusion of user site packages; otherwise, user site packages are only included if ENABLE_USER_SITE is set.

Reimplemented display and delimited table outputs to use a generic trait implementation.

0.9.0

Support --requirement in requirements files.

0.8.0

Package and DepSpec comparisons now remove user.

Package and DepSpec comparisons now accept matching either on revision or commit_id.

URLs are now shown in DepSpec displays.

Delimited file output no longer pads spaces.

0.7.0

Validate display now shows paths properly.

Updated validate json output to terminate line and flush buffer.

0.6.0

Package and dependency keys are case insensitive.

Improved URL validation between dependency and package by removing user components.

Improved validation JSON output to provided labelled objects.

Improved valiation output to show sorted missing packages.

Renamed validation explain values.

Implemented support for nested requirements.txt.

0.5.0

Implemented search command with basic wildcard matching.

Implemented Arc-wrapped PathBuf for sharable site paths.

Added explanation column to validation results.

Added support for both --subset and --superset validations.

Implemented ValidationDigest for simplified JSON serialization.

Added JSON CLI output option for validation results.

Download files

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

Source Distribution

fetter-3.5.0.tar.gz (40.5 kB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

fetter-3.5.0-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.6 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.17+ x86-64

fetter-3.5.0-cp314-cp314-manylinux_2_17_s390x.manylinux2014_s390x.whl (2.6 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.17+ s390x

fetter-3.5.0-cp314-cp314-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (3.1 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.17+ ppc64le

fetter-3.5.0-cp314-cp314-manylinux_2_17_i686.manylinux2014_i686.whl (2.7 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.17+ i686

fetter-3.5.0-cp314-cp314-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (2.5 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.17+ ARMv7l

fetter-3.5.0-cp314-cp314-macosx_11_0_arm64.whl (2.4 MB view details)

Uploaded CPython 3.14macOS 11.0+ ARM64

fetter-3.5.0-cp314-cp314-macosx_10_12_x86_64.whl (2.5 MB view details)

Uploaded CPython 3.14macOS 10.12+ x86-64

fetter-3.5.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.7 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

fetter-3.5.0-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl (2.6 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ s390x

fetter-3.5.0-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (3.1 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ ppc64le

fetter-3.5.0-cp313-cp313-manylinux_2_17_i686.manylinux2014_i686.whl (2.7 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ i686

fetter-3.5.0-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (2.5 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ ARMv7l

fetter-3.5.0-cp313-cp313-macosx_11_0_arm64.whl (2.4 MB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

fetter-3.5.0-cp313-cp313-macosx_10_12_x86_64.whl (2.5 MB view details)

Uploaded CPython 3.13macOS 10.12+ x86-64

fetter-3.5.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.7 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

fetter-3.5.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl (2.6 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ s390x

fetter-3.5.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (3.1 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ ppc64le

fetter-3.5.0-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl (2.7 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ i686

fetter-3.5.0-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (2.5 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ ARMv7l

fetter-3.5.0-cp312-cp312-macosx_11_0_arm64.whl (2.4 MB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

fetter-3.5.0-cp312-cp312-macosx_10_12_x86_64.whl (2.5 MB view details)

Uploaded CPython 3.12macOS 10.12+ x86-64

fetter-3.5.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.7 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

fetter-3.5.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl (2.6 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ s390x

fetter-3.5.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (3.1 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ ppc64le

fetter-3.5.0-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl (2.7 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ i686

fetter-3.5.0-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (2.5 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ ARMv7l

fetter-3.5.0-cp311-cp311-macosx_11_0_arm64.whl (2.4 MB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

fetter-3.5.0-cp311-cp311-macosx_10_12_x86_64.whl (2.5 MB view details)

Uploaded CPython 3.11macOS 10.12+ x86-64

fetter-3.5.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.7 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

fetter-3.5.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl (2.6 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ s390x

fetter-3.5.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (3.1 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ ppc64le

fetter-3.5.0-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl (2.7 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ i686

fetter-3.5.0-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (2.5 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ ARMv7l

fetter-3.5.0-cp310-cp310-macosx_11_0_arm64.whl (2.4 MB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

fetter-3.5.0-cp310-cp310-macosx_10_12_x86_64.whl (2.5 MB view details)

Uploaded CPython 3.10macOS 10.12+ x86-64

File details

Details for the file fetter-3.5.0.tar.gz.

File metadata

  • Download URL: fetter-3.5.0.tar.gz
  • Upload date:
  • Size: 40.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: maturin/1.14.1

File hashes

Hashes for fetter-3.5.0.tar.gz
Algorithm Hash digest
SHA256 432b941ec84a97608567ca375b23415a81acf1f4b1c53b18aac1fa88eb1108d8
MD5 3e88f74e6f45a37fac64e0082daa787c
BLAKE2b-256 5785f9fb3b80a5ddb6abbb8cc0fc9c46ad7b58c3c707f79d935f0b124d1ca4c8

See more details on using hashes here.

File details

Details for the file fetter-3.5.0-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for fetter-3.5.0-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 c9016ab6e884a068e4d7bec8aa9f484aa420b9569754786d208f9c40d71127b3
MD5 9f7ee4221fdc71f0b9f40a7d88f227e7
BLAKE2b-256 ab3f3788f1c71e52b58bd46903bb91183c7d21fbbfa184ba08b08215df299110

See more details on using hashes here.

File details

Details for the file fetter-3.5.0-cp314-cp314-manylinux_2_17_s390x.manylinux2014_s390x.whl.

File metadata

File hashes

Hashes for fetter-3.5.0-cp314-cp314-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 59d6b80c466f028a1b1f61210edfa10f5d84336147ace770685e386c5cb149ef
MD5 378f2a097c81dbb012e6471e3b12cdde
BLAKE2b-256 216897b212db3110e9e069e106ed3427a91dd5a929be4121cf2395de1c58d8fe

See more details on using hashes here.

File details

Details for the file fetter-3.5.0-cp314-cp314-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl.

File metadata

File hashes

Hashes for fetter-3.5.0-cp314-cp314-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 3e52cdcb715e8b916c606e096369ae9d400b7fb648a71f798a3843c2d66620bc
MD5 9cc5590dda023189472ecf844a7ca4fc
BLAKE2b-256 7bdf72552e0fca9a0bc01d368c3f1603e8f30b940ab2c10d01c44347251c3420

See more details on using hashes here.

File details

Details for the file fetter-3.5.0-cp314-cp314-manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for fetter-3.5.0-cp314-cp314-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 0bdb446560efdd4f06f760e7a6d31fef5963c123608ad928ee7af267c361540e
MD5 67fe3cc00e3fdcfe646a3bcc27d7989b
BLAKE2b-256 3f62a6f78dd8eb474ba9bba48ef939a02666eda526647121b50ddad40795abf8

See more details on using hashes here.

File details

Details for the file fetter-3.5.0-cp314-cp314-manylinux_2_17_armv7l.manylinux2014_armv7l.whl.

File metadata

File hashes

Hashes for fetter-3.5.0-cp314-cp314-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 55b101baa776ac1a60d4a9263904c12ac711957bea69b48dc3a655b28169eb79
MD5 34599453337e121a3d2a8b61696d2ed6
BLAKE2b-256 89deb342aca909212abbe8198e731fc30b35f57e51d2ce11c94e4a626119801d

See more details on using hashes here.

File details

Details for the file fetter-3.5.0-cp314-cp314-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for fetter-3.5.0-cp314-cp314-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 2d408e31c20efedb936b38952a4175c67b9c02c0e60471cd44b62dc367698a6c
MD5 c76f39fe15a83f5b866df551a3bdf83a
BLAKE2b-256 5ef0647ce9dd8cfd9eaf0e1e25ee8f766b918ff457c59e9d509eb1d5b13beca2

See more details on using hashes here.

File details

Details for the file fetter-3.5.0-cp314-cp314-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for fetter-3.5.0-cp314-cp314-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 0d4f686dc0a0766529f7f1a251d7b09083d0c46ef485089c1356a353a2aeedd3
MD5 19bb319e403843f8f32a253a1d1f5181
BLAKE2b-256 1d2632a82ea9ed42066d5118ef9139fd9283015a677842907a79baa151cbc983

See more details on using hashes here.

File details

Details for the file fetter-3.5.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for fetter-3.5.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 3cb42591ab3090cb53731e9049265035dac7bfc937acb7701804064e9d2a302b
MD5 955d3f5897709d6e5e500f47c35db7c5
BLAKE2b-256 aeb30353ca9056d8217722b021876c1cd5a13279616e76cdc0dee58457a0e2fd

See more details on using hashes here.

File details

Details for the file fetter-3.5.0-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl.

File metadata

File hashes

Hashes for fetter-3.5.0-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 94112c90691aeb8b5b4af3e0983088265b120e40d8ad63bb6f5e9c79af55addc
MD5 b54f64a1306349f386390873ca1815ea
BLAKE2b-256 b4d1d2674105002983aafa56fd66f3f7da7cc8e92c4b87e052b9b22c474ea50f

See more details on using hashes here.

File details

Details for the file fetter-3.5.0-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl.

File metadata

File hashes

Hashes for fetter-3.5.0-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 fa7974545a61cf51bc41d2649afcfa756de3514edf7810ea359a9fb4d5af3ee8
MD5 743207134d2f7392f0c432a803a4fa52
BLAKE2b-256 0b9f76cb703fc8469923c5c4136547b8ce607772f4cc2823942dd332ba85cd42

See more details on using hashes here.

File details

Details for the file fetter-3.5.0-cp313-cp313-manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for fetter-3.5.0-cp313-cp313-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 55bd783a6e81038063e66f0cbc9e65248af72cbb5b06138e8a738a8e6645190f
MD5 9f80ba243333f1e41da4583fd161cc21
BLAKE2b-256 3c3bde1279727ac07821a1d9be6387f1209221e7f6c74d2a8d18be61dbdb74de

See more details on using hashes here.

File details

Details for the file fetter-3.5.0-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl.

File metadata

File hashes

Hashes for fetter-3.5.0-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 c8880eb2e6e67f5fb3e60d528e4d6065c1f6095d46c345d5c41190e1604ef33c
MD5 4838b6b7256a3a4b7152606f515ddcb2
BLAKE2b-256 6261613771d2369041b266875a12957473e5d1c1140a65e05326276094e75d79

See more details on using hashes here.

File details

Details for the file fetter-3.5.0-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for fetter-3.5.0-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 d1c8d44f548af1837b6a5389c5dcaf33e8c3a7f916c47924f032794e1e8ee387
MD5 21c4f3ff5915944116a7d1f4baef321e
BLAKE2b-256 89389db00ec81f2eab63e3d7ea5360c68d7900ab0c0325c6c53e451086b50e04

See more details on using hashes here.

File details

Details for the file fetter-3.5.0-cp313-cp313-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for fetter-3.5.0-cp313-cp313-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 1f4991061e1044137745df51bfd92399a5544181d919eb8eb7161ee994d8ff3e
MD5 dcdfc806802fa2248c3ac108b269497e
BLAKE2b-256 a125ee431241b08b34d07a114284f4bd5fa8b3f01718ddffebbfd7432bd8db26

See more details on using hashes here.

File details

Details for the file fetter-3.5.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for fetter-3.5.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 f3a4a07804caf3bd89a9d281081a0c97b1e614e0f53c4c670c3a612d255128c8
MD5 c1e57d0d47a03dd294c8f2d618ad6483
BLAKE2b-256 e4f3db7263932a73959e00ed9b31053422e8731228187c4e7c9486bd66281eb6

See more details on using hashes here.

File details

Details for the file fetter-3.5.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl.

File metadata

File hashes

Hashes for fetter-3.5.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 e818f7f18ca8a69b85199a3abb18107e627cc642a95806e06ba101b96cd4cb37
MD5 773ecf5902f19da40d44a2f4bc6c5a79
BLAKE2b-256 7270102b03edaa6cd5e3a1cd3e27ec0050a91f8f5a261a622a1cb34af4f53279

See more details on using hashes here.

File details

Details for the file fetter-3.5.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl.

File metadata

File hashes

Hashes for fetter-3.5.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 5146f843de4126869ed1398d4e44e6199c011736f20a23d214d4c24dae6a5902
MD5 9ae783a81542b3b5b2496fe23232bb5f
BLAKE2b-256 d60b5554dde74c61f79f3cc11f3423055234a1ecaf5c515bfbba9a94ef2c9d31

See more details on using hashes here.

File details

Details for the file fetter-3.5.0-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for fetter-3.5.0-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 7b2a990aee717b74d48b47f8efe55b8c5ab0913e55d318437ca9713d1dab0e9d
MD5 792616ce0d3d0edd52264aa196110617
BLAKE2b-256 f2025c162a9edef27e52f0ba0d84b59ba341b3bae32ca9bfa350cd32f7eed29a

See more details on using hashes here.

File details

Details for the file fetter-3.5.0-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl.

File metadata

File hashes

Hashes for fetter-3.5.0-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 ed63ac012470e5db104c2b56e4230a45592d5c55ff52479cee28c138a0a51749
MD5 9b8b0050472cc9cfc49f62a45d77d539
BLAKE2b-256 cfe9c6ec44df991d367d25034633535509d6030b52dcce2affab0def165ba320

See more details on using hashes here.

File details

Details for the file fetter-3.5.0-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for fetter-3.5.0-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 1c0aaee1c7a6956742868e131cd8061306645ca727a3eb8e3aadf196f5bc6898
MD5 c2c3b29c3d975ccc1b1c6b9459910aa8
BLAKE2b-256 bff8c3324a56ce364bac67097f668a1719da00e9a87259458ae3712424998b64

See more details on using hashes here.

File details

Details for the file fetter-3.5.0-cp312-cp312-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for fetter-3.5.0-cp312-cp312-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 53013fbdad9b8ad4d2ac7b3f496688e22fa0ef79701c9d1f6c7cccf85c6190ff
MD5 fb9962edac8273193501f8ca5af9b929
BLAKE2b-256 3852529d92d38accd23da77a1e83508b7e1fb27bb6fc4799eecceb9ecb941017

See more details on using hashes here.

File details

Details for the file fetter-3.5.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for fetter-3.5.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 96f27553854312ec9aad609f22c4f786a90544f4c1db66359db47ab8da298579
MD5 e5b860d8ec4dac45fec51abf1d7b519a
BLAKE2b-256 7a52ae1491f5e15a12a588c9aacffe982d63c4fc39cb0081cf1a94ba168d7cfc

See more details on using hashes here.

File details

Details for the file fetter-3.5.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl.

File metadata

File hashes

Hashes for fetter-3.5.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 4c23cac46f081f751255a4820db41f5b2784c982bb407623207a7b242d6faf12
MD5 1f7b92ddd7c021ed7ce02c3fced2ac3d
BLAKE2b-256 5eb62500f486d9b573a0675a4e1c40697e6bec69002a57871ee1765973765e0c

See more details on using hashes here.

File details

Details for the file fetter-3.5.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl.

File metadata

File hashes

Hashes for fetter-3.5.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 3152426c93aa92025573691fc214c51337164e13e49a6b21233e77188de2a173
MD5 27db07f2f5367439d2e2e908cc804c5e
BLAKE2b-256 fa7f7c4fd1bbe5fe18e644145daa618528b4f13e0956dc72cc175f7974e7ec05

See more details on using hashes here.

File details

Details for the file fetter-3.5.0-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for fetter-3.5.0-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 6ad15e8eff23dd1eebefa78affb2fe5d8638467917bc854d2c6e7ccc86f67179
MD5 4f4489e0c10dd77afeebcea1c3bd04e0
BLAKE2b-256 ec2a8d1cb5b3d78eedb84087b0c8e920c7857b74d716e95123eae2611d7caf23

See more details on using hashes here.

File details

Details for the file fetter-3.5.0-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl.

File metadata

File hashes

Hashes for fetter-3.5.0-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 4bfdf931067eccfe7eef430606921f408855c4fde0cd2974606213b0548c6dbe
MD5 c5a4970f0628baaa1bd18eacd16e1c9d
BLAKE2b-256 a45f671031dd31d23d824b4a91451d37ad6dc5191c148971ead580887e93b82e

See more details on using hashes here.

File details

Details for the file fetter-3.5.0-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for fetter-3.5.0-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 369270412c463a29d1be94351d1836111b73f88e35434e3ff702497305fd13f3
MD5 40bcd2f9c89acb8efb3b94f9ac592190
BLAKE2b-256 a357b10c042533ce082208ca18b074bcb9692f8e2908ed3f758cb8ac61949495

See more details on using hashes here.

File details

Details for the file fetter-3.5.0-cp311-cp311-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for fetter-3.5.0-cp311-cp311-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 af3a3b3d9a371af9aa2a76d75a28663bea6a037de04244e79548233d324a4592
MD5 58a9281a676d20abfee66aa6095a55f5
BLAKE2b-256 5d813e615fa39ef3c8ed27e0a64c42d017cf9178efd8a06963f82614c2b74e29

See more details on using hashes here.

File details

Details for the file fetter-3.5.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for fetter-3.5.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 0fbb9b26264107534bb54bb618c4db4967ae63f1b62a3d9b2e200c3cdf3717fd
MD5 729cb8e4a74ff9aa296f1994e0606338
BLAKE2b-256 7239f02327008a36476f129bdd17b92d4bc3d3c93def41d9a8f47eb1d2ef6b44

See more details on using hashes here.

File details

Details for the file fetter-3.5.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl.

File metadata

File hashes

Hashes for fetter-3.5.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 f47a7c63cd8f930673a57834b9cd3ead89a8f2f515428c80739abc88a160a6d5
MD5 9827e62527c6faf367c93df15ac3c677
BLAKE2b-256 1d84eeb68ced89224583788bcf61229bb6936450867037531e35e7d1eaf60d13

See more details on using hashes here.

File details

Details for the file fetter-3.5.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl.

File metadata

File hashes

Hashes for fetter-3.5.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 1aeeb4013b962f5f7aadaa6f1e07c1d9cb30717607bcc4b2cac2f2fb032d5e84
MD5 80fd40a065be8c4a694faeba9820f550
BLAKE2b-256 6bbdbad8249e1eea9de0a8c782749beb692eb8423f197b60c4da228b8ae74fa2

See more details on using hashes here.

File details

Details for the file fetter-3.5.0-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for fetter-3.5.0-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 06e0e06b02788bf164d6a810078eb23e8a6d47aaef70dd16914da4239cb46e80
MD5 3dfb2e2913bf9bd4863d7ce8cb0eec88
BLAKE2b-256 af438e58d76924de72824bbb42d531c1e09235ac73238ef7bd0c67d3a3c65709

See more details on using hashes here.

File details

Details for the file fetter-3.5.0-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl.

File metadata

File hashes

Hashes for fetter-3.5.0-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 af8092b2c6fe5161728aca86258f516c2f2a0ba419331f2ff8fba6b202994ece
MD5 2d838c732c806a5b1cdd86c170f6394e
BLAKE2b-256 7ceda73dd34234a12fbee056889bb701c3ec50b29a694b7e9cd82e8dea3ad1c9

See more details on using hashes here.

File details

Details for the file fetter-3.5.0-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for fetter-3.5.0-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 e47c75b8e35646b52149aeb361d3c129be97868777e1e615723589ccee6564b6
MD5 182889e09a70ea26ed649b33db0e9cd8
BLAKE2b-256 8db62e3b7768e7b036eed3efad49c011c4a4e8f9e9b5b61b0bea4c426519cc07

See more details on using hashes here.

File details

Details for the file fetter-3.5.0-cp310-cp310-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for fetter-3.5.0-cp310-cp310-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 ef9ae5abb3e37ef57a7f8445d40c0275e5585d7c34c1d52cb46d7240e13a96f0
MD5 160bbea1ee6bb4bfb95caf89ee789320
BLAKE2b-256 3b040ef3d4785daad4e7de29fc3c3230b9364272af0de9fb96307b543f375657

See more details on using hashes here.

Release history Release notifications | RSS feed

4.0.1

46 files

4.0.0

46 files

This release

3.5.0 This release

36 files

3.4.0

36 files

3.3.0

36 files

3.1.0

36 files

2.9.0

36 files

2.6.0

36 files

2.5.0

36 files

2.1.0

36 files

2.0.2

36 files

2.0.1

36 files

1.22.0

36 files

1.19.0

36 files

1.17.0

36 files

1.13.0

36 files

1.9.1

36 files

1.8.0

36 files

1.7.0

36 files

1.6.0

35 files

1.5.0

35 files

1.4.0

35 files

1.3.0

35 files

1.2.0

35 files

1.1.0

37 files

1.0.0

37 files

0.13.1

37 files

0.12.0

39 files

0.11.0

39 files

0.10.0

45 files

0.9.0

45 files

0.8.0

45 files

0.7.0

45 files

0.6.0

45 files

0.5.1

45 files

0.4.0

45 files

0.3.2

45 files

0.3.1

45 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page