Skip to main content

A minimal PEP 517 build backend for creating metapackages

Project description

rind

Warning This package is experimental and under active development. The API may change without notice.

A minimal PEP 517 build backend to make it easy to create a metapackage that extends a core package by installing additional dependencies.

Why use rind?

Package maintainers often face a tension between two types of users:

  • Typical users want recommended dependencies installed by default for the best experience, without needing to know about extras syntax like pip install mypackage[recommended]
  • Advanced users (library authors, Docker image builders, CI pipelines) want minimal installations to reduce dependency conflicts, image sizes, and install times

Putting recommended dependencies behind extras places a burden on typical users to discover and use special syntax. But making them required penalizes advanced users who need lean installations.

One solution is to distribute two packages: a core package with minimal dependencies (e.g., mypackage-core) and a metapackage (e.g., mypackage) that depends on the core and adds recommended dependencies. However, this approach comes with maintenance challenges: versions must be carefully pinned, and metadata must be kept in sync.

rind eliminates this burden by letting you publish both packages from a single repository with automatic version pinning and metadata inheritance:

  • mypackage-core: Minimal dependencies for advanced users
  • mypackage: Batteries-included for typical users

Both provide the same import mypackage experience.

Documentation

See the documentation for information on how to use this package.

License

BSD 3-Clause License. See LICENSE for details.

Project details


Download files

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

Source Distribution

rind-0.1.0a2.tar.gz (19.5 kB view details)

Uploaded Source

Built Distribution

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

rind-0.1.0a2-py3-none-any.whl (8.1 kB view details)

Uploaded Python 3

File details

Details for the file rind-0.1.0a2.tar.gz.

File metadata

  • Download URL: rind-0.1.0a2.tar.gz
  • Upload date:
  • Size: 19.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for rind-0.1.0a2.tar.gz
Algorithm Hash digest
SHA256 9a5101abea9aae6188caa00f530aeff9ef17ddb6f77fccdd8899390c74badcde
MD5 fe9c0dbc7aad20c8f3fd1a9b53809a25
BLAKE2b-256 1d955b9bd93d54f4250f77074a1983e2688420d58f94a8b2aff9f98ba3e4d5cb

See more details on using hashes here.

Provenance

The following attestation bundles were made for rind-0.1.0a2.tar.gz:

Publisher: ci.yml on astrofrog/rind

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file rind-0.1.0a2-py3-none-any.whl.

File metadata

  • Download URL: rind-0.1.0a2-py3-none-any.whl
  • Upload date:
  • Size: 8.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for rind-0.1.0a2-py3-none-any.whl
Algorithm Hash digest
SHA256 48093e22572283a702c255c4fb26b19ca150b61a9803422927b318cf9ccb4836
MD5 2bf04882be0bc599c9a84246b5756cd5
BLAKE2b-256 b9eb9a1dbbaf140188dab083edb79b526ba604e6f7f2f499fabdc07971193555

See more details on using hashes here.

Provenance

The following attestation bundles were made for rind-0.1.0a2-py3-none-any.whl:

Publisher: ci.yml on astrofrog/rind

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

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