pypi-profile
Pypi lacks a profile or a way to tie your identity to anything outside of pypi, other than a build server, via trusted publishing.
pypi-profile is a tool for uses a pypi_profile.toml file to track signatures that can be verified at other websites.
It supports other use cases, such as resume display, contact info, package lists, and successor information.
What the package does
pypi-profile currently ships:
- GUI for quick start and feature discovery.
- a CLI for
init,validate,inspect,serve,dump,doctor,fetch,keygen,sign,verify,update-proofs,build,find-profiles,gui, and key management (key-info,key-list,key-rotate,key-recover,key-export,key-import) - a TOML-first profile format for identity, packages, projects, hiring, contact, succession, and verification data
- a live website for validating signatures
- a static website for validating signatures within the constraints of javascript and CORS.
Install
Recommended: pipx
pipx install pypi-profile
Alternative: pip
pip install pypi-profile
pipx install "pypi-profile[all]"
Or with pip:
pip install "pypi-profile[all]"
From source
This repository is a uv workspace. Run commands from the repo root:
git clone https://github.com/matthewdeanmartin/matthewdeanmartin_pypi.git
cd matthewdeanmartin_pypi
uv sync --all-extras
uv run pypi-profile --help
Use the CLI entry point pypi-profile, not python -m pypi_profile.
Usage
The shortest path from zero to a local profile site is:
pypi-profile init --username your-pypi-name
pypi-profile inspect pypi_profile.toml
pypi-profile serve pypi_profile.toml
That gives you a starter TOML file and serves the profile locally at http://127.0.0.1:8000.
Useful follow-up commands:
pypi-profile dump pypi_profile.toml
pypi-profile doctor
If you already have source data, you can bootstrap from it:
pypi-profile init --from-json-resume resume.json --output pypi_profile.toml
pypi-profile init --username your-pypi-name --fetch
Security notes
- Proof-of-control signing is built around a local secret key. Keep that key out of version control.
serve --allow-codeis opt-in. Do not enable it for untrusted code.- Verification proves account co-control, not legal identity or the truth of every profile claim.
Legal
Apache license to match the Warehouse license for theme assets.
Not associated with the PSF. Trademarked logos are removed from the profile UI.
PyPI is a trademark of the Python Software Foundation.
PyPI's template and theme are Apache-licensed via Warehouse.
Metadata
Release files for pypi-profile 0.3.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| pypi_profile-0.3.0.tar.gz | 147.0 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| pypi_profile-0.3.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 290.1 kB
Release files / pypi_profile-0.3.0.tar.gz
| Download URL | pypi_profile-0.3.0.tar.gz |
|---|---|
| Size | 147.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
29b7cce6b51ec04b75de21acde985a91dd1caf72f2f827cd27fda00d16f85f7c
|
|
BLAKE2b-256 checksum How to use checksums |
b60cfc5019f11389dad9e088c8620f080aea47ef381e80162f84c6db70acb127
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.13
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on May 16, 2026.
Transparency logRelease files / pypi_profile-0.3.0-py3-none-any.whl
| Download URL | pypi_profile-0.3.0-py3-none-any.whl |
|---|---|
| Size | 143.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
c46b7cd6f1a758c068fc9056b1b77e4e59488e12ea9e8a008ebbd8cf05e47e5a
|
|
BLAKE2b-256 checksum How to use checksums |
32fa23f4ab0f4215a17ae5e567cadb8c990da76b28a2229249e0dbbb359db4a0
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.13
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on May 16, 2026.
Transparency log