Standard simple index
Implements PEP 503 simple repository API. Any tool that supports a custom index will work without modification.
A drop-in replacement for the Python Package Index โ works with pip, pipenv, Poetry, uv, and any tool that speaks the simple-index protocol.
Implements PEP 503 simple repository API. Any tool that supports a custom index will work without modification.
pip, pipenv, Poetry, uv, virtualenv, and the standard PyPI client libraries all work through this endpoint.
Public read access over HTTPS. No tokens to rotate, no rate limits, no surprises in CI.
This is the canonical index URL. Drop it into your client configuration and you are done.
Install a single package without changing global configuration:
pip install \
--index-url https://mirror.kargadan.ir/repository/pypi-group/simple/ \
requests
Linux and macOS โ write the config file once and pip will use the mirror everywhere:
mkdir -p ~/.pip
cat > ~/.pip/pip.conf <<'EOF'
[global]
index-url = https://mirror.kargadan.ir/repository/pypi-group/simple/
trusted-host = mirror.kargadan.ir
EOF
Save the same content at %APPDATA%\pip\pip.ini:
[global]
index-url = https://mirror.kargadan.ir/repository/pypi-group/simple/
trusted-host = mirror.kargadan.ir
pip install -r requirements.txt \
--index-url https://mirror.kargadan.ir/repository/pypi-group/simple/
[[source]]
url = "https://mirror.kargadan.ir/repository/pypi-group/simple/"
verify_ssl = true
name = "kargadan"
[[tool.poetry.source]]
name = "kargadan"
url = "https://mirror.kargadan.ir/repository/pypi-group/simple/"
priority = "primary"
# One-time
uv pip install \
--index-url https://mirror.kargadan.ir/repository/pypi-group/simple/ \
requests
# Or via env var (covers every uv command)
export UV_INDEX_URL=https://mirror.kargadan.ir/repository/pypi-group/simple/
Bake the mirror into the image so every build inside the container uses it:
FROM python:3.12-slim
ENV PIP_INDEX_URL=https://mirror.kargadan.ir/repository/pypi-group/simple/ \
PIP_TRUSTED_HOST=mirror.kargadan.ir
WORKDIR /app
COPY requirements.txt .
RUN pip install --no-cache-dir -r requirements.txt
COPY . .
CMD ["python", "app.py"]
For shells, GitHub Actions, GitLab CI, and most other runners, these two variables are enough:
export PIP_INDEX_URL=https://mirror.kargadan.ir/repository/pypi-group/simple/
export PIP_TRUSTED_HOST=mirror.kargadan.ir
| Mirror type | Group Aggregated |
| Upstream sources | Chabokan, Pardisco, Jamko, Runflare, pypi.org |
| Protocols | HTTPS ยท HTTP |
| Authentication | Not required (anonymous) |
Set PIP_INDEX_URL at the runner or organisation level so every Python job benefits without touching individual workflows.