> For the complete documentation index, see [llms.txt](https://docs.sealsecurity.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.sealsecurity.io/setup-apps-os/artifact-server/configuring-package-managers/pip.md).

# Configuring pip

pip accepts the registry URL in any of three places: the command line, a `pip.conf` config file, or a `requirements.txt` directive. The URL embeds the Project ID as the username and the token as the password.

## Configuration

The shared URL form is:

```
https://<project-id>:<token>@pypi.sealsecurity.io/simple
```

### Option 1: Command line

```bash
pip install --index-url https://<project-id>:<token>@pypi.sealsecurity.io/simple <package>
```

### Option 2: `pip.conf`

Edit `~/.pip/pip.conf` (Linux/macOS) or `%APPDATA%\pip\pip.ini` (Windows):

```ini
[global]
index-url = https://<project-id>:<token>@pypi.sealsecurity.io/simple
```

### Option 3: `requirements.txt`

Add the `--index-url` directive at the top of the file:

```
--index-url https://<project-id>:<token>@pypi.sealsecurity.io/simple

requests==2.31.0+sp1
```

## Verify

A clean install (`pip install -r requirements.txt` or `pip install --upgrade <package>`) should resolve packages from `pypi.sealsecurity.io`. Run `pip install -v ...` to see the URL pip is fetching from.

## Related

* [Editing dependency files manually](/using-platform/working-with-seal-apps/artifact-server/pip.md): pinning sealed versions in `requirements.txt`.
* [Configuring Poetry](/setup-apps-os/artifact-server/configuring-package-managers/poetry.md): the Poetry equivalent for the same ecosystem.
