---
title: PyPI packages
description: Upload Python wheels and sdists with Cuitty Registry.
section: Registry
order: 5
updatedAt: 2026-06-09
slug: registry/pypi
---
Cuitty Registry supports PyPI-compatible uploads and Simple API installation. Package names are normalized before storage, while namespace ownership remains a separate Registry policy decision.

## Upload with Twine

```bash
python -m twine upload \
  --repository-url https://registry.example.com/pypi/ \
  dist/*
```

Install from the Simple API:

```bash
pip install --index-url https://registry.example.com/pypi/simple/ my-package
```

## `.pypirc`

```ini
[distutils]
index-servers =
  cuitty

[cuitty]
repository = https://registry.example.com/pypi/
username = __token__
password = ${CUITTY_REGISTRY_TOKEN}
```

Then upload with:

```bash
python -m twine upload --repository cuitty dist/*
```

Yanking a version hides it from normal resolution without deleting the file unless an operator explicitly removes the artifact.