GitLab PyPI registry tools
Project description
gitlab-pypi
A command-line tool for managing Python packages in GitLab's PyPI registry.
GitLab provides a built-in PyPI package registry, but the web UI for browsing and managing packages is limited. gitlab-pypi gives you a fast, readable CLI for listing packages, inspecting versions, and downloading or uploading wheel files — all via the GitLab REST API.
Features
- List packages — see all packages at a glance, with version counts and latest stable version
- Show versions — view all versions for one or more packages, with pre-release filtering
- Download — fetch
.whlfiles from the registry - Upload — publish one or more
.whlfiles to the registry - Delete — remove a package version from the registry
- Multiple output formats — coloured tables (default),
--plainfor piping into pip, or--jsonfor scripting
Zero external dependencies — uses only the Python 3.12+ standard library.
Installation
pip install gitlab-pypi
Configuration
Create a config file at ~/.config/gitlab-pypi/config.json:
{
"url": "https://gitlab.com",
"project": "my-group/my-project",
"token": "glpat-xxxxxxxxxxxx"
}
Or pass these as CLI flags (--url, --project, --token) on each command.
Usage
# List all packages in the registry
gitlab-pypi list
# Show versions for a package (stable only by default)
gitlab-pypi show my-package
# Show all versions including pre-releases
gitlab-pypi show my-package --all
# Plain output for piping into pip or requirements files
gitlab-pypi show my-package --plain
# Download the latest stable wheel
gitlab-pypi download my-package
# Download a specific version
gitlab-pypi download my-package==1.2.3
# Download all versions of a package
gitlab-pypi download my-package --all
# Upload one or more wheels
gitlab-pypi upload dist/my_package-1.0.0-py3-none-any.whl
gitlab-pypi upload dist/*.whl
# Delete a specific version
gitlab-pypi delete my-package==1.0.0
Development
make dev # Create dev environment
make check # Run ruff + pyright
make format # Auto-fix and format code
make build # Build wheel + docs
make docs # Build HTML documentation
Licence
MIT License — Copyright (c) 2026 Cyber Assessment Labs
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file gitlab_pypi-0.1.0-py3-none-any.whl.
File metadata
- Download URL: gitlab_pypi-0.1.0-py3-none-any.whl
- Upload date:
- Size: 35.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1559cee25fca60c571b6c3edb10e68e7b452bcd466c44eae04f9e57b7f4cadc2
|
|
| MD5 |
0cc7c3cda47b278104eac3bb74728eea
|
|
| BLAKE2b-256 |
50af10acf6a927f29a14ec5291b5cb3390e75b5acb0225c972b82dc0d75787d4
|