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.0a3.tar.gz (20.0 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.0a3-py3-none-any.whl (8.2 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: rind-0.1.0a3.tar.gz
  • Upload date:
  • Size: 20.0 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.0a3.tar.gz
Algorithm Hash digest
SHA256 a3d97ee3e9ab678c6304acd81256af53917c482aba35f56248cc5a9755540633
MD5 49e1ca6351cf80c67f7fb189abe6173a
BLAKE2b-256 f0404e36417de85230a469b19a9bfbf7b39d113089bf69bf7a60d35921f5bc84

See more details on using hashes here.

Provenance

The following attestation bundles were made for rind-0.1.0a3.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.0a3-py3-none-any.whl.

File metadata

  • Download URL: rind-0.1.0a3-py3-none-any.whl
  • Upload date:
  • Size: 8.2 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.0a3-py3-none-any.whl
Algorithm Hash digest
SHA256 ce6074070a9faa4beb119ae4b7e72b00f940b095b24fb1714c530dccd9cd8951
MD5 34f1ccd564b067328fd53e75d471e96b
BLAKE2b-256 8649552683f37041c5f7a50bc4ab7df44cc48b9ab5bf2418eaa04fc9e967ed09

See more details on using hashes here.

Provenance

The following attestation bundles were made for rind-0.1.0a3-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