Rattler Index
rattler-index is a rattler-based tool which allows you to index your channels.
It can create repodata.json, repodata.json.zst as well as sharded repodata (CEP 16).
It can index both conda channels on a local file system as well as conda channels on S3.
Installation#
You can install rattler-index using pixi:
Usage#
rattler-index has two subcommands for indexing channels on different storage backends:
Indexing a local filesystem channel#
Indexing an S3 channel#
For S3 channels, you can provide credentials via command-line options or they will be resolved from the AWS SDK (environment variables, AWS config files, etc.).
Global Options#
| Option | Default | Description |
|---|---|---|
--write-zst |
true |
Write compressed repodata.json.zst files |
--write-shards |
true |
Write sharded repodata (CEP 16) |
-f, --force |
false |
Force re-indexing of all packages, creating a new repodata.json instead of updating the existing one |
--max-parallel <N> |
10 | Maximum number of packages to process in-memory simultaneously. Useful for limiting memory usage when indexing large channels |
--target-platform <PLATFORM> |
all | Index only a specific platform (e.g., linux-64, osx-arm64). By default, all platforms in the channel are indexed |
--repodata-patch <PACKAGE> |
none | Name of a conda package (in the noarch subdir) to use for repodata patching. See repodata patching for more information |
--config <PATH> |
none | Path to a config file (uses the same format as pixi configuration) |
-v, -vv, -vvv |
none | Increase verbosity level |
S3-specific Options#
| Option | Description |
|---|---|
--disable-precondition-checks |
Disable ETag and timestamp checks during file operations. Use if your S3 backend doesn't fully support conditional requests, or if you're certain no concurrent indexing processes are running. Warning: Disabling this removes protection against concurrent modifications |
--region <REGION> |
AWS region for the S3 bucket |
--endpoint-url <URL> |
Custom S3 endpoint URL (for S3-compatible storage like MinIO) |
S3 credentials can also be configured in the config file under the s3_options section.
Examples#
Index a local channel with default settings:
Index only the linux-64 platform:
Force a full re-index (ignoring existing repodata):
Index without sharded repodata:
Index an S3 channel with a custom endpoint (e.g., MinIO):
Apply repodata patches from a package: