Skip to content

Installation

Basic Installation

For installing django-graphex, run one of these in your shell:

# uv (recommended)
uv add django-graphex
# pip
pip install django-graphex

This pulls in the core dependencies (graphene, graphql-relay, pydantic, python-dateutil) — not graphene-django and not djangorestframework (the package depends on neither). Filtering is built on Django's ORM lookups + Q objects, so there is no django-filter dependency.

Validation and persistence use the built-in native (Pydantic) backend (Meta.model) — see Model backend (Pydantic).

Subscriptions (optional extra)

Real-time GraphQL subscriptions run over Channels and are shipped as an optional extra. The base install never pulls in Channels:

# uv (recommended)
uv add "django-graphex[subscriptions]"
# pip
pip install "django-graphex[subscriptions]"

This adds channels and channels-redis. See the Subscriptions guide for the ASGI wiring.

Requirements

  • Python: 3.12, 3.13, 3.14
  • Django: 4.0, 4.2, 5.0, 5.1, 5.2, 6.0
  • graphene: >=3.3,<4
  • pydantic: >=2,<3

Version Support

  • Minimum Python version: 3.12+
  • Minimum Django version: 4.0+
  • Full compatibility tested with all combinations of supported versions

Development Installation

If you want to contribute to the project, install it with uv:

# Clone the repository
git clone https://github.com/eamigo86/django-graphex.git
cd django-graphex

# Install all dependencies (including the dev group) into a managed venv
uv sync

# Run the tests / quality checks
uv run pytest
make quality

Verify Installation

You can verify the installation by importing the package:

import django_graphex
print(django_graphex.__version__)