A simple development conda channel for testing repodata for conda-pypi.
Warning
This is for testing new repodata formats and it is not for production use! If you are looking for production index generation use conda-index.
This will install the conda-pypi plugin and its dependencies:
conda install -n base 'conda-pypi>=0.5.0[build_number=">=2"]' 'conda-rattler-solver<0.0.6'The rattler solver is required for wheel installation:
conda config --set solver rattlerThis temporary test channel indexes approximately 500K pure Python wheels, latest version only:
conda config --append channels https://github.com/conda-incubator/conda-pypi-test/releases/downloadTo remove the channel and revert solver settings:
# Remove the test channel
conda config --remove channels https://github.com/conda-incubator/conda-pypi-test/releases/download
# Revert to your previous solver
conda config --remove-key solver
# Optionally remove the plugins
conda remove -n base conda-pypi conda-rattler-solver
# Remove test environments
conda env remove -n <your-test-env>conda env create --file environment.yml
conda activate conda-pypi-test# 1. Get all package names (~739k, one request)
python discover.py --names-only --output names.txt
# 2. Add latest version, keep only packages with wheels (one request per name)
python discover.py --from-names names.txt --output packages.txt
# 3. Generate repodata
python generate.pyStep 2 can take a long time for the full list. Use --workers (default 50) and --delay to tune; if you hit rate limits (429), try --workers 20 --delay 0.1. Use --any-wheel to allow compiled wheels, not only pure Python.
Edit packages.txt (format: name==version per line), then:
python generate.pyThis creates noarch/repodata.json and .zst. Use the channel locally with conda install -c . package-name.
Pushing to the repo triggers GitHub Actions to build and upload repodata. Use the channel with:
conda install -c https://github.com/conda-incubator/conda-pypi-test/releases/download/noarch package-name