Skip to main content

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-code is 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)

Source distribution for pypi-profile 0.3.0
File Size Uploaded
pypi_profile-0.3.0.tar.gz 147.0 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for pypi-profile 0.3.0
File Interpreter ABI Platform
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 log

Release 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

Release history Release notifications | RSS feed

This release

0.3.0 This release

2 release files

0.2.0

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page