{% import "pypi_ds/components/feedback.html" as feedback %} {# Profile header banner — maps to PyPI package_header #} {% macro profile_header(profile) -%} {%- endmacro %} {# Map principal kind to a status tone #} {% macro principal_kind_badge(kind) -%} {% set tone_map = { "individual": "good", "team": "good", "company": "unknown", "llc": "unknown", "foundation": "unknown", "collective": "unknown", "project": "unknown", "other": "unknown" } %} {{ feedback.status_badge(kind | title, tone=tone_map.get(kind, "unknown")) }} {%- endmacro %} {# Claim status badge — clearly distinguishes verified vs self-asserted #} {% macro claim_badge(status) -%} {% if status == "verified" %} {{ feedback.status_badge("Verified", tone="good") }} {% elif status == "self_asserted" %} {{ feedback.badge("Self-asserted", tone="neutral") }} {% elif status == "unverified" %} {{ feedback.badge("Unverified", tone="neutral") }} {% elif status == "invalid" %} {{ feedback.status_badge("Verification failed", tone="bad") }} {% elif status == "expired" %} {{ feedback.status_badge("Expired", tone="warn") }} {% else %} {{ feedback.badge("Unknown", tone="neutral") }} {% endif %} {%- endmacro %} {# Package state badge #} {% macro state_badge(state) -%} {% set tone_map = { "active": "good", "maintained": "good", "stable": "good", "experimental": "warn", "planning": "warn", "paused": "warn", "archived": "unknown", "deprecated": "bad", "abandoned": "bad", "seeking-maintainer": "warn", "security-only": "warn", "unmaintained-but-usable": "warn", "superseded": "bad", "transferred": "unknown", "private": "unknown", "unknown": "unknown" } %} {{ feedback.status_badge(state | replace("-", " ") | title, tone=tone_map.get(state, "unknown")) }} {%- endmacro %} {# Single package card #} {% macro package_card(pkg) -%}

{{ pkg.name }}

Role: {{ pkg.role }}  ·  {{ state_badge(pkg.state) }}

{% if pkg.summary %}

{{ pkg.summary }}

{% endif %}
{%- endmacro %} {# Single project card #} {% macro project_card(proj) -%}

{% if proj.url %}{{ proj.name }}{% else %}{{ proj.name }}{% endif %}

Role: {{ proj.role }}  ·  {{ state_badge(proj.state) }}

{% if proj.summary %}

{{ proj.summary }}

{% endif %}
{%- endmacro %} {# Contact method card #} {% macro contact_card(method) -%}

{{ method.label }}

{{ method.kind }} {% if method.audience %}· for: {{ method.audience | join(", ") }}{% endif %}

{% if method.visibility == "public" %}

{{ method.value }}

{% elif method.visibility == "link" %}

Contact form

{% else %}

Contact details obfuscated

{% endif %}
{%- endmacro %} {# Human/maintainer card #} {% macro human_card(human) -%}

{{ human.display_name }}

{% if human.role %}

{{ human.role }}

{% endif %} {% if human.bio %}

{{ human.bio }}

{% endif %}
{%- endmacro %} {# External profile link with claim status #} {% macro profile_link_row(link) -%}
  • {{ link.label }}  {{ claim_badge(link.verification) }}
  • {%- endmacro %} {# Hiring availability panel — maps to package classifiers #} {% macro hiring_panel(hiring) -%} {%- endmacro %} {# Work timeline entry #} {% macro work_entry(entry) -%}

    {{ entry.start_date }}{% if entry.end_date %} – {{ entry.end_date }}{% endif %}

    {{ entry.title }} at {{ entry.organization }}

    {% if entry.summary %}

    {{ entry.summary }}

    {% endif %}
    {%- endmacro %} {# Succession notice #} {% macro succession_notice(succession) -%} {% if succession.policy %} {{ feedback.notification(succession.policy, tone="info", title="Succession policy") }} {% endif %} {% if succession.last_reviewed %} {% endif %} {%- endmacro %}