django-esi
Django app for accessing the EVE Stable Interface (ESI).
What it is and what it does
Django-ESI is a Django application that bridges your Django site to EVE Online's official API (the EVE Stable Interface). It generates API clients dynamically from OpenAPI specifications, handles both public and private ESI endpoints, and integrates EVE Single Sign-On for character authentication. The package is maintained by the Alliance Auth project and is built on aiopenapi3, a Pydantic-based OpenAPI client library.
The package handles the complexity of EVE's API versioning, token management, and authentication flow so you don't have to. It's designed for applications that need to interact with EVE Online data—whether that's character information, corporation assets, market data, or other in-game resources. It requires Django 5.2 or 6.0 and Python 3.10 or later, and integrates with celery for async tasks and django-redis for caching.
Use it for:
- Build a Django web app that displays EVE Online character or corporation data by authenticating users via EVE SSO
- Fetch and cache EVE market prices, asset lists, or character skill queues in a Django admin dashboard
- Integrate EVE Online data into an existing Django application without writing raw HTTP clients
- Manage multiple ESI endpoint versions in a single Django deployment
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Django-ESI provides a Django app that wraps the EVE Online API (ESI) with dynamically generated clients, EVE SSO authentication support, and control over endpoint versioning.
Yes, if you are building a Django application that needs to interact with EVE Online's API. The package is actively maintained, has low install friction, and handles the complexity of ESI authentication and versioning. The GPLv3 license is a hard blocker for proprietary projects; open-source and internal tools are a good fit. No known security vulnerabilities.
Install
django-esi on PyPI
pip
pip install django-esiuv
uv add django-esipoetry
poetry add django-esiInstalling django-esi
Before you install
Low install friction with a pure-Python wheel distribution. Actively maintained as of 10 days ago with support for current Django (5.2, 6.0) and Python versions (3.10–3.14). Depends on 9 runtime packages including celery, django-redis, and httpx, which are all standard ecosystem choices.
License in practice
Licensed under GPLv3 (copyleft). Any derivative work or application bundling this package must also be open-source under a compatible license; proprietary or closed-source projects cannot use it without negotiating alternative licensing.
Quickstart
pip install django-esi
# In your Django settings, add 'esi' to INSTALLED_APPS
# Configure ESI credentials and EVE SSO details
from esi.clients import EsiClientFactory
client = EsiClientFactory()
# Use client to call ESI endpoints
Requires Django 5.2 or 6.0, Python 3.10–3.14, and EVE Online API credentials (client ID/secret) registered at https://developers.eveonline.com/
Verify before relying
- Whether EVE Online API credentials or account setup is required before the package becomes functional
- Performance characteristics under high-volume ESI request loads
- Whether the celery and django-redis dependencies are optional or required for all use cases
Package facts
| License | not declared (copyleft) |
| Python support | supports the current Python release (<3.15,>=3.10) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 9 — aiopenapi3, celery, django, django-redis, httpx, python-jose, requests, requests-oauthlib, tenacity |
| Maintenance | actively maintained — 10 days since the last release |
| First released | |
| Downloads | 337,438/month — #7,448 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: django_esi-9.9.0-py3-none-any.whl
Keywords: eveonline
Tags
More WWW/HTTP packages
urllib3 is an HTTP client library that provides…
permissive · top 100 on PyPI
requestsRequests is a Python HTTP library that…
permissive · top 100 on PyPI
h11h11 is a pure-Python HTTP/1.1 protocol…
permissive · top 100 on PyPI
httpxHTTPX is a fully featured HTTP client library…
permissive · top 100 on PyPI
httpcoreA minimal low-level HTTP client library that…
permissive · top 100 on PyPI
aiohttpaiohttp is an async HTTP client and server…
permissive · top 100 on PyPI
allianceauthAlliance Auth is a Django-based authentication…
copyleft · top 15,000 on PyPI
django-eveonline-sdeProvides Django models for EVE Online's Static…
copyleft · top 15,000 on PyPI
django-eveuniverseProvides Django models for Eve Online universe…
unclear · top 15,000 on PyPI
aa-structuresA Django app that integrates with Alliance Auth…
unclear · top 15,000 on PyPI
aa-contactsA Django plugin for AllianceAuth that tracks…
copyleft · top 15,000 on PyPI
allianceauth-discordbotA Discord bot framework for Alliance Auth that…
permissive · top 15,000 on PyPI
aa-srpaa-srp is a Django plugin for Alliance Auth…
copyleft · top 15,000 on PyPI
allianceauth-blacklistIntegrates with Alliance Auth to maintain a…
permissive · top 15,000 on PyPI
python-casImplements a CAS (Central Authentication…
permissive · top 15,000 on PyPI
pydiscourseA Python client library for the Discourse API…
permissive · top 15,000 on PyPI