Welcome to django-indieweb’s documentation!¶
django-indieweb provides IndieAuth, Micropub, Webmention, and h-card support for Django applications.
Contents:
- IndieWeb Concepts
- Tutorial
- IndieAuth Implementation
- Micropub Implementation Guide
- Webmentions
- H-Cards
- API Reference
- Configuration
- Development
- Backlog
- Changelog
- Unreleased
- 0.5.3 (2025-10-28)
- 0.5.2 (2025-07-27)
- 0.5.1 (2025-07-26)
- 0.5.0 (2025-07-25)
- 0.4.3 (2025-07-11)
- 0.4.2 (2025-07-10)
- 0.4.1 (2025-07-10)
- 0.4.0 (2025-07-10)
- 0.3.5 (2025-06-29)
- 0.3.4 (2025-06-29)
- 0.3.3 (2025-06-29)
- 0.3.2 (2025-06-29)
- 0.3.1 (2025-06-28)
- 0.3.0 (2025-06-28)
- 0.2.0 (2025-06-16)
- 0.1.0 (2025-06-13)
- 0.0.8 (unreleased)
- 0.0.7 (2023-01-07)
- 0.0.6 (2022-11-05)
- 0.0.5 (2019-05-19)
- 0.0.4 (2016-06-14)
- 0.0.3 (2016-06-13)
- 0.0.2 (2016-05-15)
- 0.0.1 (2016-05-14)
- indieweb
Features¶
IndieAuth authentication endpoint - For logging into IndieWeb sites
IndieAuth authorization endpoint with consent screen - For granting permissions to apps
IndieAuth token endpoint - For exchanging auth codes for access tokens
Micropub endpoint with full content creation support
Webmention support - Send and receive cross-site conversations
H-card profiles - Store and display user profiles with microformats2
Pluggable content handler system for Micropub integration
Pluggable interfaces for Webmention URL resolution and spam checking
Support for both form-encoded and JSON Micropub requests
Microformats2 parsing for rich webmention content and h-cards
Micropub query endpoints (config, syndicate-to)
Django integration
Note
The Micropub endpoint now includes a complete content creation system with a pluggable handler architecture. See Micropub Implementation Guide for implementation details.
Project Planning¶
Planned work is tracked in the project backlog. See Backlog.
Installation¶
Install django-indieweb using pip:
pip install django-indieweb
Or with uv:
uv pip install django-indieweb
Quick Start¶
Add “indieweb” to your INSTALLED_APPS setting:
INSTALLED_APPS = [ ... 'indieweb', ]
Include the indieweb URLconf in your project urls.py:
path('indieweb/', include('indieweb.urls')),
Run migrations:
python manage.py migrate
Visit the IndieWeb endpoints at:
/indieweb/auth/- Authentication endpoint/indieweb/token/- Token endpoint/indieweb/micropub/- Micropub endpoint/indieweb/webmention/- Webmention endpoint
To enable content creation via Micropub, create a content handler:
from indieweb.handlers import MicropubContentHandler, MicropubEntry class MyContentHandler(MicropubContentHandler): def create_entry(self, properties, user): # Your content creation logic here pass
See Micropub Implementation Guide for detailed implementation examples.