Skip to main content

crate-ingredients

This package contains Python bindings for the ingredients crate, which implements checks for the contents ("ingredients") of published Rust crates.

Both comparing contents of published crates to the state of the upstream project repository at a specific point in time ("report" mode) and comparing two different, published versions of the same crate with each other ("diff" mode) are implemented.

The Python API provided by crate-ingredients is intended to match the Rust API provided by the ingredients crate, wherever possible and reasonable.

report mode

Example using the Python API:

from crate_ingredients import RegistryClient

registry = RegistryClient.crates_io(user_agent = "crate_ingredients")
crate = registry.download("syn", "2.0.111")

report = crate.report()
print(report)

diff mode

Example using the Python API:

from crate_ingredients import RegistryClient

registry = RegistryClient.crates_io(user_agent = "crate_ingredients")

old = registry.download("syn", "2.0.110")
new = registry.download("syn", "2.0.111")

diff = old.diff(new)
print(diff)

Installation

From PyPI: pip install crate-ingredients

External dependencies

Building:

  • cargo (refer to package.rust-version in Cargo.toml for the minimum supported Rust version)
  • openssl development headers must be available (for reqwest/native-tls)

Runtime:

  • cargo must be available in $PATH
  • git must be available in $PATH when calling Crate.report

Funding

This project is funded through NGI Zero Core, a fund established by NLnet with financial support from the European Commission's Next Generation Internet program. Learn more at the NLnet project page.

NLnet foundation logo NGI Zero Logo

Metadata

Release files for crate-ingredients 0.3.3

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for crate-ingredients 0.3.3
File Size Uploaded Provenance Actions
crate_ingredients-0.3.3.tar.gz 59.4 kB Without provenance Details for crate_ingredients-0.3.3.tar.gz

Built distributions (wheels)

Table of built distributions (wheels) for crate-ingredients 0.3.3
File Actions
crate_ingredients-0.3.3-cp314-cp314-manylinux_2_39_x86_64.whl CPython 3.14 CPython 3.14 Linux glibc 2.39+ x86-64 Details for crate_ingredients-0.3.3-cp314-cp314-manylinux_2_39_x86_64.whl
crate_ingredients-0.3.3-cp313-cp313-manylinux_2_39_x86_64.whl CPython 3.13 CPython 3.13 Linux glibc 2.39+ x86-64 Details for crate_ingredients-0.3.3-cp313-cp313-manylinux_2_39_x86_64.whl
crate_ingredients-0.3.3-cp312-cp312-manylinux_2_39_x86_64.whl CPython 3.12 CPython 3.12 Linux glibc 2.39+ x86-64 Details for crate_ingredients-0.3.3-cp312-cp312-manylinux_2_39_x86_64.whl
crate_ingredients-0.3.3-cp311-cp311-manylinux_2_39_x86_64.whl CPython 3.11 CPython 3.11 Linux glibc 2.39+ x86-64 Details for crate_ingredients-0.3.3-cp311-cp311-manylinux_2_39_x86_64.whl

Total release size: 17.8 MB

Release files / crate_ingredients-0.3.3.tar.gz

Download URL crate_ingredients-0.3.3.tar.gz
Size 59.4 kB
Tags Source
SHA-256 checksum
How to use checksums
d6012a841781229c583f964ebd14d889dd300c3fe7525a6c7e50932e028c4f1b
BLAKE2b-256 checksum
How to use checksums
2b41652f6f55685a8a2fcbc35490dab1012ffad9c459f3c2d3dc1c14756ac84d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.8

Release files / crate_ingredients-0.3.3-cp314-cp314-manylinux_2_39_x86_64.whl

Download URL crate_ingredients-0.3.3-cp314-cp314-manylinux_2_39_x86_64.whl
Size 4.4 MB
Tags CPython 3.14 Linux glibc 2.39+ x86-64
SHA-256 checksum
How to use checksums
aa179f3529910695b24d8d99ba9fd75515f17d95099fc37d99887bacd9abc23a
BLAKE2b-256 checksum
How to use checksums
0456ce31e450c6c1e0d46c9eab9a1578b7ed28c202091909411c8697bc50e3a9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.8

Release files / crate_ingredients-0.3.3-cp313-cp313-manylinux_2_39_x86_64.whl

Download URL crate_ingredients-0.3.3-cp313-cp313-manylinux_2_39_x86_64.whl
Size 4.4 MB
Tags CPython 3.13 Linux glibc 2.39+ x86-64
SHA-256 checksum
How to use checksums
a668081bb40f4b476e86c42cdbe8990623f0b60c04edc803fb99408f05e98efe
BLAKE2b-256 checksum
How to use checksums
4d7f2370cb2bef5d2c17ef998c1e9277ace6883d4dd149cd8416abdf1fb06e28
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

Release files / crate_ingredients-0.3.3-cp312-cp312-manylinux_2_39_x86_64.whl

Download URL crate_ingredients-0.3.3-cp312-cp312-manylinux_2_39_x86_64.whl
Size 4.4 MB
Tags CPython 3.12 Linux glibc 2.39+ x86-64
SHA-256 checksum
How to use checksums
4abda3d7b2f28f848214ad7ffc30bfefa34b686769f796e24f6a1387772d7836
BLAKE2b-256 checksum
How to use checksums
04dc6c06895b4e4474b81d9cf5965a9498fee6610154c52f2d05d138e78ac6d1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.15

Release files / crate_ingredients-0.3.3-cp311-cp311-manylinux_2_39_x86_64.whl

Download URL crate_ingredients-0.3.3-cp311-cp311-manylinux_2_39_x86_64.whl
Size 4.4 MB
Tags CPython 3.11 Linux glibc 2.39+ x86-64
SHA-256 checksum
How to use checksums
dfbed249c0688454eb4fb9ced236e9aed518a49cdb5460847857488718135389
BLAKE2b-256 checksum
How to use checksums
b9f7c93bb8667eb7d01dab6a5501392aeceb9e6f7c47193d236574e2c8bbf8b3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.11.17

Security for crate-ingredients 0.3.3

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

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