{% extends "pypi_profile/base.html" %} {% import "pypi_ds/components/layout.html" as layout %} {% import "pypi_ds/components/feedback.html" as feedback %} {% import "pypi_ds/components/navigation.html" as navigation %} {% import "pypi_profile/components.html" as pc %} {% block profile_title %}Verification{% endblock %} {% block content %} {{ pc.profile_header(profile) }} {% call layout.horizontal_section("horizontal-section--grey horizontal-section--thin") %}
Verification and proof-of-control details
PyPI account: {{ profile.identity.pypi_username }}
{% endif %} {% endcall %} {% call layout.card("Public key", "project-panel") %} {% if profile.verification.public_key %} {{ feedback.status_badge("Public key present", tone="good") }}Signature backend: {{ profile.verification.preferred_signature_backend }}
{{ profile.verification.public_key }}
| Profile | URL | {% if static_mode %}Status (stored){% else %}Status{% endif %} | {% if static_mode %}Live check | {% endif %} {% if not static_mode %}Diagnostics | {% endif %}
|---|---|---|---|---|
| {{ item.label }} | {{ item.url }} | {{ pc.claim_badge(item.status) }} | {% if static_mode %}— | {% endif %} {% if not static_mode %}
{% if item.detail %}
{% if item.status == 'verified' %}✓ steps{% else %}why?{% endif %}
|
{% endif %}
| Profile | URL | Status |
|---|---|---|
| {{ link.label }} | {{ link.url }} | {{ pc.claim_badge(link.verification) }} |
No external profiles listed.
{% endif %} {% endcall %} {% if proofs %} {% call layout.card("Add proof-of-control", "project-panel") %} {% for item in proofs %}{{ item.label }} — {{ item.url }}
{% if item.proof %}{{ item.proof }}
{% elif item.error == "no-key" %}
{{ feedback.notification(
"No secret key found. Run pypi-profile keygen to generate one, then reload this page.",
tone="warning", title="Key required"
) }}
{% else %}
{{ feedback.notification(item.error, tone="bad", title="Could not generate proof") }}
{% endif %}