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

4.0.1

Updated sha2 and toml dependencies.

4.0.0

Support for Windows added.

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-4.0.1.tar.gz (41.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-4.0.1-cp314-cp314-win_amd64.whl (2.2 MB view details)

Uploaded CPython 3.14Windows x86-64

fetter-4.0.1-cp314-cp314-win32.whl (1.9 MB view details)

Uploaded CPython 3.14Windows x86

fetter-4.0.1-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-4.0.1-cp314-cp314-manylinux_2_17_s390x.manylinux2014_s390x.whl (2.5 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.17+ s390x

fetter-4.0.1-cp314-cp314-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (3.0 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.17+ ppc64le

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

Uploaded CPython 3.14manylinux: glibc 2.17+ i686

fetter-4.0.1-cp314-cp314-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (2.4 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.17+ ARMv7l

fetter-4.0.1-cp314-cp314-macosx_11_0_arm64.whl (2.3 MB view details)

Uploaded CPython 3.14macOS 11.0+ ARM64

fetter-4.0.1-cp314-cp314-macosx_10_12_x86_64.whl (2.4 MB view details)

Uploaded CPython 3.14macOS 10.12+ x86-64

fetter-4.0.1-cp313-cp313-win_amd64.whl (2.2 MB view details)

Uploaded CPython 3.13Windows x86-64

fetter-4.0.1-cp313-cp313-win32.whl (1.9 MB view details)

Uploaded CPython 3.13Windows x86

fetter-4.0.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.6 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

fetter-4.0.1-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl (2.5 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ s390x

fetter-4.0.1-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (3.0 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ ppc64le

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

Uploaded CPython 3.13manylinux: glibc 2.17+ i686

fetter-4.0.1-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (2.4 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ ARMv7l

fetter-4.0.1-cp313-cp313-macosx_11_0_arm64.whl (2.3 MB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

fetter-4.0.1-cp313-cp313-macosx_10_12_x86_64.whl (2.4 MB view details)

Uploaded CPython 3.13macOS 10.12+ x86-64

fetter-4.0.1-cp312-cp312-win_amd64.whl (2.2 MB view details)

Uploaded CPython 3.12Windows x86-64

fetter-4.0.1-cp312-cp312-win32.whl (1.9 MB view details)

Uploaded CPython 3.12Windows x86

fetter-4.0.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.6 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

fetter-4.0.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl (2.5 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ s390x

fetter-4.0.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (3.0 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ ppc64le

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

Uploaded CPython 3.12manylinux: glibc 2.17+ i686

fetter-4.0.1-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (2.4 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ ARMv7l

fetter-4.0.1-cp312-cp312-macosx_11_0_arm64.whl (2.3 MB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

fetter-4.0.1-cp312-cp312-macosx_10_12_x86_64.whl (2.4 MB view details)

Uploaded CPython 3.12macOS 10.12+ x86-64

fetter-4.0.1-cp311-cp311-win_amd64.whl (2.2 MB view details)

Uploaded CPython 3.11Windows x86-64

fetter-4.0.1-cp311-cp311-win32.whl (1.9 MB view details)

Uploaded CPython 3.11Windows x86

fetter-4.0.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.6 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

fetter-4.0.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl (2.5 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ s390x

fetter-4.0.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (3.0 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ ppc64le

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

Uploaded CPython 3.11manylinux: glibc 2.17+ i686

fetter-4.0.1-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (2.4 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ ARMv7l

fetter-4.0.1-cp311-cp311-macosx_11_0_arm64.whl (2.3 MB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

fetter-4.0.1-cp311-cp311-macosx_10_12_x86_64.whl (2.4 MB view details)

Uploaded CPython 3.11macOS 10.12+ x86-64

fetter-4.0.1-cp310-cp310-win_amd64.whl (2.2 MB view details)

Uploaded CPython 3.10Windows x86-64

fetter-4.0.1-cp310-cp310-win32.whl (1.9 MB view details)

Uploaded CPython 3.10Windows x86

fetter-4.0.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.6 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

fetter-4.0.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl (2.5 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ s390x

fetter-4.0.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (3.0 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ ppc64le

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

Uploaded CPython 3.10manylinux: glibc 2.17+ i686

fetter-4.0.1-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (2.4 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ ARMv7l

fetter-4.0.1-cp310-cp310-macosx_11_0_arm64.whl (2.3 MB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

fetter-4.0.1-cp310-cp310-macosx_10_12_x86_64.whl (2.4 MB view details)

Uploaded CPython 3.10macOS 10.12+ x86-64

File details

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

File metadata

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

File hashes

Hashes for fetter-4.0.1.tar.gz
Algorithm Hash digest
SHA256 eee022b742e77197efa78117809c4eec9b5427d8759771d73698e404a9d67436
MD5 eba0d226e2d846213945fb37fd8c78c7
BLAKE2b-256 68f08e5f1ec614c9e93812d8a326f99a00c31ae5694af7dfb11b0055e9661fd1

See more details on using hashes here.

File details

Details for the file fetter-4.0.1-cp314-cp314-win_amd64.whl.

File metadata

  • Download URL: fetter-4.0.1-cp314-cp314-win_amd64.whl
  • Upload date:
  • Size: 2.2 MB
  • Tags: CPython 3.14, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: maturin/1.14.1

File hashes

Hashes for fetter-4.0.1-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 93bbe4c3e3b9721b817b86adb5bdcef051ed8304fb78b2adef231d042da6d153
MD5 3e9ac64041760602f4d270bd4dce58d9
BLAKE2b-256 9843f83ce15e2308df0a26474b912849c1a5a615a335c6577a477e339580474a

See more details on using hashes here.

File details

Details for the file fetter-4.0.1-cp314-cp314-win32.whl.

File metadata

  • Download URL: fetter-4.0.1-cp314-cp314-win32.whl
  • Upload date:
  • Size: 1.9 MB
  • Tags: CPython 3.14, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: maturin/1.14.1

File hashes

Hashes for fetter-4.0.1-cp314-cp314-win32.whl
Algorithm Hash digest
SHA256 39764728b114b64b324e2337651ef83ad5e9c157e18a6c18cc2bcb7f98240b85
MD5 bd137c8c51c260d7bd6d688a10a8a0d0
BLAKE2b-256 bd7e5a1d3b08116987356b028bbe1721f8513981669fb66651abddea16690811

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for fetter-4.0.1-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 b6942eaf0c061d74f0b3f8a0e86d0bd6f40ed8de90839ea02fb8bfb3976c7c41
MD5 a2bc18f3f7d92cf0f24685c8e09c9ca9
BLAKE2b-256 6fb1106b4cae951b9d12fd58691e34686bf766d4b2042da9531d8ffdfe28edea

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for fetter-4.0.1-cp314-cp314-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 1fd7df5d1b056b28fc638cf2e23a214ba60021fbfd7c398866eddb36456028ea
MD5 b6b5aa6e543b9d9eb36c3a43390df336
BLAKE2b-256 7eb17de27783db788169a9154689c4475b127862263d73c1778fb86b32047429

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for fetter-4.0.1-cp314-cp314-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 40da67ba11cac2ed8f9d64699072b23cc3ecdf4f2d00d8e299c369c59ffed001
MD5 2e882d0f3d13086ad2e077b6e2e5d16e
BLAKE2b-256 687f1d0633eedebe02aad2a5a110c2d5747e8b65c386d97990182a9b7825d370

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for fetter-4.0.1-cp314-cp314-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 65d1d6f11e71144f4997f8cf3a6d712ab0960d26d3e067d3ad6a8858074ebb74
MD5 1cd6f8cc57d7289fdc5726ce61309b0c
BLAKE2b-256 44c210c0f6a5564818501c84b294bac43615bd5f08e4578a1264b0ddc9b74460

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for fetter-4.0.1-cp314-cp314-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 c05aac42be14e29934ad99b27115094025df27cfb67dbe6a8964ebe6535b1bc4
MD5 c9d9a1b5201963c5885a6abde3ea28aa
BLAKE2b-256 21c0d9c3769672f5d9fcfee360e2b2888e29ce7c319a0e3e3ab7dfd6e1f9fcf9

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for fetter-4.0.1-cp314-cp314-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 2adb956224fa40d92f8f30edc3c21aafacd44f1e8cbf47e20149b236907826d1
MD5 0537c2e8083902bf5d72a11fb2f5e452
BLAKE2b-256 ac31ea51695ecb7f750efa2fd53aa662c067368af72eac752a5b54e34f0dc3df

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for fetter-4.0.1-cp314-cp314-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 032a8ba2b618cdf60d1596d27c1aeac524388f7ddd375bddc13afba58e1f3048
MD5 585d6c7aa52b88f89ac99ded4bb5476f
BLAKE2b-256 da9e2c437aab9fc508a74f8776da4ea9e9c6e8fb280bb66303ada7e0311c5a53

See more details on using hashes here.

File details

Details for the file fetter-4.0.1-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: fetter-4.0.1-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 2.2 MB
  • Tags: CPython 3.13, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: maturin/1.14.1

File hashes

Hashes for fetter-4.0.1-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 2ae8cb5f88cef4ffc3f917fa310f6013b8156106ece3c0d8c124adb07df57177
MD5 484434b384e19b05de0ff3388497a6d3
BLAKE2b-256 568915458847e0d8b4e54824f87933f51ea45d80e63ad3e6cd925197640dd7f7

See more details on using hashes here.

File details

Details for the file fetter-4.0.1-cp313-cp313-win32.whl.

File metadata

  • Download URL: fetter-4.0.1-cp313-cp313-win32.whl
  • Upload date:
  • Size: 1.9 MB
  • Tags: CPython 3.13, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: maturin/1.14.1

File hashes

Hashes for fetter-4.0.1-cp313-cp313-win32.whl
Algorithm Hash digest
SHA256 1f3729c1eb26c3d326d3e98ed71b7eb7c278eb0d2c980ad986b6bc71d37544f7
MD5 919cd69b7a6fac28bf14e2253bcec38b
BLAKE2b-256 a4fb0b7ec12c9230f97d1843b1a1cfe3ea95b47bd575ec96fa9f721e969b0dc4

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for fetter-4.0.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 b9ee305751594825e3309938abd09858de14703e9258fca1a85e36c0545e6045
MD5 05b8f1edf440f49b925d250d995aa26c
BLAKE2b-256 4cb22b309c09e7fec865b9ebc0d7d1f7cf2b07d939a8c12bdba3d9a286dcb7b7

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for fetter-4.0.1-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 bb50f2367540e82d20e26e29178708bb0dadea236d2fefc3c78b9964570f2dfd
MD5 3659082bc8916b4a955f9f7c1de758bb
BLAKE2b-256 668b90df90b81a749e503a7a7bbcc4bdcf4ea0406d464009f6600df68ff092ea

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for fetter-4.0.1-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 fb71eed5feb88b717c6faeead1bd4bfb16f33491ea5e87c61fbfa1b891a98841
MD5 ff93199fa9f181e6a1de880d07a79166
BLAKE2b-256 f1d949f3b7a53d763c0ed5816697e8b0d68ab860b845b450b7be786135b60be4

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for fetter-4.0.1-cp313-cp313-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 9f568c2d964db0fdd55b1a75a0cd3610f79d11fa929b416cdca45584a4b6fd01
MD5 2620855516f592f3f10fdffeefce0d93
BLAKE2b-256 a5ac9733d434f40999166954d257e2cd3dcb5a408bc06b986d197583c4da08d5

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for fetter-4.0.1-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 2113f1126c39bc31b1b01db49c78a64442b5ca5f98a6923ffc0b8a2717277a2e
MD5 9dfeea64e9ace76f22304a7ce761233a
BLAKE2b-256 1a49fa5389fb2de848e141407b748b3eac6368ca0c5e6f6f52540ef0f01797a7

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for fetter-4.0.1-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 58ac8db4ca3d569247bbea5139a433e7cc11838191b59d2917ecc0f187481ac2
MD5 53860cc599e4c71b6f09e20117c713f8
BLAKE2b-256 a4905570504715ef62bfbdcaaea89696dcaa7ee42ba0cf91f18a5b8168fa458f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for fetter-4.0.1-cp313-cp313-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 c8a56c7d6e0f6491629337c95c996f24fa3883434c61d8f4688417706f1b516b
MD5 ab07a1cc24167da46b9e91e29bb77986
BLAKE2b-256 552691fb4c4301a30503b82b1f1d5ec8af69d9d138c2033af0a81b3f98564174

See more details on using hashes here.

File details

Details for the file fetter-4.0.1-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: fetter-4.0.1-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 2.2 MB
  • Tags: CPython 3.12, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: maturin/1.14.1

File hashes

Hashes for fetter-4.0.1-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 cd0fa9cab80d5958b3e3e4e5c0b8f3c810ef1ddde77fa15e4b9283dd2c919d66
MD5 538d3c3cf7810583abfd2eab7c4359d4
BLAKE2b-256 08d3627991e541d374fc935ed34569ba7fad5c603a4d0c2ac0e3ccdb5ad2a59c

See more details on using hashes here.

File details

Details for the file fetter-4.0.1-cp312-cp312-win32.whl.

File metadata

  • Download URL: fetter-4.0.1-cp312-cp312-win32.whl
  • Upload date:
  • Size: 1.9 MB
  • Tags: CPython 3.12, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: maturin/1.14.1

File hashes

Hashes for fetter-4.0.1-cp312-cp312-win32.whl
Algorithm Hash digest
SHA256 e0c8f1056a6a60cbca053d54403e4303b7510fca05a80082c64593dfef76d7d3
MD5 a1b4f056f08aa20a0772f2176c0ff38a
BLAKE2b-256 f89d00021a91d85b43a515fe64b9c32cd4dc037f5a1b7327b4665e7b6545b241

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for fetter-4.0.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 6fd4a3a001c4e257e2648c5d5f4453575e31f14f06843f68d51f475c117c4e85
MD5 14d2f6f6ecd6cf93d9f671388701ea71
BLAKE2b-256 b31c81c203edf2c28d53468120d8862ede82bb5c51abb41540c22666fac60212

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for fetter-4.0.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 d0cf5f659163d0f85e9d311b6b047c13dadc1276f3a9dd0dcc858e28cd695132
MD5 32aac76009705717a59b4ae1e5c02101
BLAKE2b-256 297d069519bc8d2266c3f1bc192923c7d09d72c33d6c1f6ebd4cc8fefbbe13b1

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for fetter-4.0.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 53f53cf3e60e79b36ac38700c22245abb7b4bc8554f5867d39d03703b3db2695
MD5 c7dc8811daa40fa5452e9f0d7a44670e
BLAKE2b-256 19d2895ae9f46b097d70b398d292d9f2b435d942e3d682b73a4593216066a650

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for fetter-4.0.1-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 3a434ccebf8e8a08c20c50e0f1eb21884d010cc50639e583250ca50da2455d59
MD5 b71cd73ed9bae7f48d16fd5180114340
BLAKE2b-256 bfcc969576efb5a55a7f10547975bb5a74fc1e4e6549a46c87fabfd55b11d113

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for fetter-4.0.1-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 8ccff0b6e7525944d4cd57fad68aebd823ae34f9aa2b16701b3571154eb013cb
MD5 4fa26bbba6e1a14cdd17cc74e5dfe21f
BLAKE2b-256 1bdfa9179799fa9b583a96bcceb7bc38c9851d8a91971c4e54bb92b392bab267

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for fetter-4.0.1-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 4b55b8bc987f0b2b55fe829eea63f5e42f3ef42979bb9dc177fda2a524f29455
MD5 8095fbef7f2197bc137d7232e7261630
BLAKE2b-256 cc4605f69a219cede27e71c7166e7faa4562811ae666fae86aab73de92b5ebda

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for fetter-4.0.1-cp312-cp312-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 f444f3b791a39442cfc5d7563f42af1d40fa0a569c63244ca8a3b50915b4b93a
MD5 98bc7b25d6b6ee788e9e1f5f398f8176
BLAKE2b-256 b43cf05139a09560283e6227208a777f75517cf618beb5449a1bb8795ed5a040

See more details on using hashes here.

File details

Details for the file fetter-4.0.1-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: fetter-4.0.1-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 2.2 MB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: maturin/1.14.1

File hashes

Hashes for fetter-4.0.1-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 4bd8b10e0618deb6a5a0713fe7dd974fcecb8b81eae801ec6b17ef92e190167f
MD5 061f2d6e7388bd35acbd655cbc45c19b
BLAKE2b-256 831b3c8ad47d59a10c290065cd643710234d31f460a412a003d2a4d575af9f09

See more details on using hashes here.

File details

Details for the file fetter-4.0.1-cp311-cp311-win32.whl.

File metadata

  • Download URL: fetter-4.0.1-cp311-cp311-win32.whl
  • Upload date:
  • Size: 1.9 MB
  • Tags: CPython 3.11, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: maturin/1.14.1

File hashes

Hashes for fetter-4.0.1-cp311-cp311-win32.whl
Algorithm Hash digest
SHA256 79457f7daa248657c84b915d62d1d638413248b711ee4782981ea94062bce803
MD5 77a804ffe8ffe7e0a609e3256bce1ca8
BLAKE2b-256 8b045b4e539614c6bc4c7c04a483e0a81be550a32e77b6c5296e75b679fe8af8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for fetter-4.0.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 66adbe810e1baaddde0d1837f9bc9c1a3ef71ed87753e62b1d6a7a27a9b768c2
MD5 4c9124bc04788d79a7d9ec8dfd98d451
BLAKE2b-256 4030c6604a19035bec011459c44fd452695f01ecb307c45d267c23bf2b48ebb8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for fetter-4.0.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 450ff593a857ee34d5c10e7ae67ec636c498901c027ff2cad9eb363f93779abd
MD5 696129fc978422d8437ada6090a1cf80
BLAKE2b-256 9ccf597e124181d0f59a342463d9c6a2466d57028f2aba4c51a2fde7fb0b7644

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for fetter-4.0.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 2bcd9b5c79381229db4cd9ea267490a96592f4f0478036b5b3e2741f2c1c45c4
MD5 492c4fa38a4936c30d44c42ba0bd5935
BLAKE2b-256 72b9488137246e0d7afd8d85d0c782671ea2f5520fec0b6a1671ff3906d701c5

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for fetter-4.0.1-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 7f6b2b92b8887cf87f060abb4ab95235f2447b78e355e721f282c74e5e157e80
MD5 fe7e8ca6e586e42432fa86ffff82ebac
BLAKE2b-256 bacf30b09ba3efa2223b6fb36273063fa460dd14c8e65c9e8d6077d5a5d75bc3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for fetter-4.0.1-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 55651d3da820e8be32b85a59392283a670b803b935f7753bf22cafc999519ea1
MD5 bae0b06bbd1b62e7342afaf4fc760ecb
BLAKE2b-256 35aaea7280a42a3211f3d8628359d79017d884916dac36299083110830227762

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for fetter-4.0.1-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 06282791145b054b0732bc51feebbe8cc92f314811c29aba33f2b7d3d815ddb2
MD5 7de24bbf4ab20e07c4a92937d1c1409b
BLAKE2b-256 ca966997d0d893640b378f087f30fd611e40583e0075cfc5cc5d039f747e4bbb

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for fetter-4.0.1-cp311-cp311-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 ee4dd695ce3e6bc5b65d3b998335ae8146c84f71f8e3695a8c0d606d5d2b5fce
MD5 917c5dbd93ca33f7e59ecb2a9ba18ccf
BLAKE2b-256 abd76199592ec0ca8abd0ab1d2a32f9c728c3db7e50f17d10c009ea9e19d6ec3

See more details on using hashes here.

File details

Details for the file fetter-4.0.1-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: fetter-4.0.1-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 2.2 MB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: maturin/1.14.1

File hashes

Hashes for fetter-4.0.1-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 8f09b2f1f2199e11a8e21ff0b2b9451868660e1254c5f9eb3d15f17e02930ac0
MD5 54f1a7c26f472c3cc669bdfc1612f0d6
BLAKE2b-256 d4e9bba528080b0b5900826efb45f129c33f7d1b9fabef1313fe69fdb3c3dc6a

See more details on using hashes here.

File details

Details for the file fetter-4.0.1-cp310-cp310-win32.whl.

File metadata

  • Download URL: fetter-4.0.1-cp310-cp310-win32.whl
  • Upload date:
  • Size: 1.9 MB
  • Tags: CPython 3.10, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: maturin/1.14.1

File hashes

Hashes for fetter-4.0.1-cp310-cp310-win32.whl
Algorithm Hash digest
SHA256 7f762f1dfd6b585b1586b31a7359890a229058ff19c0c56ebae0e202400e11f3
MD5 a2621e2ebf8589ab4f482d4490a89f36
BLAKE2b-256 f3fb6fe9cd65c3ae57b9dc11f2e9a275fbd1f405267d3f658fe45907e42400b2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for fetter-4.0.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 5f2cd80a74362c6817d4d64a34d0dfab2f098d342e9b94a45edda49821084da1
MD5 7834ff66983b2f225cfaba69e65e66a2
BLAKE2b-256 e7008a0c40655f075ae26983ee777c8cc3e3eb04254ea979b68f849ccc842509

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for fetter-4.0.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 526268efc70585f3a2575cd9db22e547a79a3dd38349242cbd7acde022344c40
MD5 b91614b655810cc830698a96338ace8e
BLAKE2b-256 2cfaaa1343c25ac27b4e8c85f47d67697f025b1de129452aa26fe634ce3e4ec9

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for fetter-4.0.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 2da013ccc905cd6cf8059aabd9a6d8beebf98add63708ed7cfc365d75e335a8a
MD5 e0183d5ab6207650935369836f30ffde
BLAKE2b-256 c068cf32ed83474e20b8ffc9124e3d223ee330a8258c4be6e9c16160fec74c60

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for fetter-4.0.1-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 5b596e6746c370915e9b780edc008ecdaaf7ccc277f746ddcb62fc093e4b3c58
MD5 67e5b1c3a1dc0d038f5c561a5945fc6a
BLAKE2b-256 4448a5636b55ad2982050c7aaeb96972914a84a9f18fb9e33f455e0954a62074

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for fetter-4.0.1-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 ef53ed43bc6cdf4a356c302e78b667bde10099282ba8b5fb4c93986c0a037619
MD5 5f08f5ce9b5cfac69c2e569ae8041e4b
BLAKE2b-256 469072b9f02e0bb1264ebd1393cca98c824023678860d6139d191c74ed9f2dd9

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for fetter-4.0.1-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 5f7250aab0099ef6ad07f0c84f7906d954a987a5b0292dc7c8cddd83818a0e16
MD5 1242c3eb5f974e1ee226e557fea1d70d
BLAKE2b-256 1e383ec05916582114f16023b2c955662cbee5dd5e3701053c5f06048d830cbd

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for fetter-4.0.1-cp310-cp310-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 3f954d0b5c71c6287e59c175d6f6d9f462f600b7fcf5930686574ed976693acf
MD5 914a0e611bff9c7939060cfcf207fcb9
BLAKE2b-256 a6b8e6202875caf0dbb5ca53f038a47bef6ab4db0dd3965ef639e2cbe61f9d3b

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

4.0.1 This release

46 files

4.0.0

46 files

3.5.0

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