{% extends "base.html" %} {% block title %}{{ category_title }}{% endblock %} {% block description %}{{ category_description }}{% endblock %} {% block canonical_url %}{{ category_url }}{% endblock %} {% block alternate_links %}{% endblock %} {% block extra_head %} {% endblock %} {% block header %}
{% if parent_category %}

{{ parent_category.name }}

{% endif %}

{{ category.name }}

{% if category.description_html %}

{{ category.description_html | safe }}

{% endif %} {% if intro_html %}
{{ intro_html | safe }}
{% endif %}
{% if group_categories %} {% endif %}
{% endblock %} {% block content %} {% macro entry_rows(entry, index) %} {{ index }} {{ entry.name }} {% if entry.subcategories %}{{ entry.subcategories[0].name }}{% else %}{{ category.name }}{% endif %} {% if entry.downloads is not none %}{{ "{:,}".format(entry.downloads) }}{% elif entry.source_type == 'Stdlib' %}Stdlib{% elif entry.bundled %}Bundled{% elif entry.badge %}{{ entry.badge }}{% else %}Not on PyPI{% endif %} {% if entry.stars is not none %}{{ "{:,}".format(entry.stars) }}{% elif entry.source_type %}{{ entry.source_type }}{% else %}—{% endif %} {% if entry.last_commit_at %}{% else %}—{% endif %} {% for subcat in entry.subcategories %} {{ subcat.name }} {% endfor %} {% for cat in entry.categories %} {{ cat }} {% endfor %} {% if entry.groups %} {% set group_url = filter_urls[entry.groups[0]] %} {{ entry.groups[0] }} {% endif %} {% if entry.source_type == 'Stdlib' %} Stdlib {% endif %} → {% if entry.description %}
{{ entry.description | safe }}
{% endif %}
{% if entry.also_see %}
Also see: {% for see in entry.also_see %}{{ see.name }}{% if not loop.last %}, {% endif %}{% endfor %}
{% endif %}
{% if entry.owner %}{{ entry.owner }}/{% endif %}{{ entry.url | replace("https://", "") }} {% if entry.last_commit_at %}/{% endif %} {% if entry.downloads is not none %}/{{ "{:,}".format(entry.downloads) }} downloads/month{% endif %}
{% endmacro %}

Search every project in one place

Press / to search. Tap a tag to filter. Click any row for details.

Search and filter

Filtering for

Results

{% for entry in entries %} {{ entry_rows(entry, loop.index) }} {% endfor %}
Row number Tags

Know a project that belongs here?

Tell us what it does and why it stands out.

{% endblock %}