Developer Documentation

This section explains how pypi-profile works internally. It is aimed at anyone who wants to understand the code, fix a bug, add a feature, or build on top of the tool.

What the tool does

pypi-profile is a profile site generator for PyPI package publishers. It lets you:

  1. Keep your profile data in a single TOML file (pypi_profile.toml).
  2. Generate a live or static website from that data.
  3. Cryptographically prove you control external accounts (GitHub, Mastodon, etc.).
  4. Publish your profile as a Python package that others can install.

The code is structured as a uv workspace with four sub-packages:

matthewdeanmartin_pypi/
├── pypi_profile/        ← main CLI, server, and plugin host
├── john_doe/            ← example profile plugin (test fixture)
├── matthewdeanmartin/   ← author's own profile plugin (real-world example)
└── pypi_ds/             ← Jinja2 design system and static assets

Topics