Conjure your Django admin — read your models, summon a CRUD API and dashboard.
Project description
django-conjure
Conjure your Django admin — read your models, summon a CRUD API + schema.
The Python package behind Conjure. It introspects your
models and serves a generic admin REST API (/conjure/) plus a schema endpoint that a
frontend — or codegen — can read. A matching React dashboard lives in the repo and is in
active development; for the 0.1.x line, point any client at the API below.
Install
pip install django-conjure # session auth (default)
pip install "django-conjure[jwt]" # add JWT auth mode
# settings.py
INSTALLED_APPS += ["conjure"]
CONJURE = {
"AUTH": "session", # or "jwt"
"BRAND": {"name": "My Admin", "accent": "#4f46e5"},
# "USER_PAYLOAD": "myapp.hooks.payload", # custom user model? return any dict
}
# urls.py
urlpatterns += [path("conjure/", include("conjure.urls"))]
python manage.py migrate conjure # AdminAuditLog table (audit log, optional but recommended)
Register a model
Drop an admin_config.py into any app — it's discovered automatically, like admin.py:
from conjure import register, AdminConfig
from myapp.models import Product
@register(Product)
class ProductConfig(AdminConfig):
list_display = ["name", "price", "is_active"]
search_fields = ["name"]
list_filter = ["is_active"]
inlines = [(ProductImage, "product")] # inline child editing
is_readonly = False # True => log/history models, blocks writes
Anything you leave unset is inferred from the model's fields.
What you get
GET /conjure/schema/+…/schema/{app.Model}/— model introspection (codegen + runtime source)GET/POST /conjure/r/{app.Model}/and…/{pk}/— generic CRUD…/autocomplete/,…/bulk/(atomic inline ops),…/{pk}/related/(delete impact)- Django-permission gating (
view/add/change/delete, shared with Django admin),is_staffrequired - Audit log with before/after diff, staff auth (session or JWT), dashboard widget registry
Extend without forking
from conjure import register_widget
@register_widget("signup-trend")
def signup_trend(request):
... # return any JSON; served at /conjure/widgets/signup-trend/
Full docs, the settings reference, the REST contract, and the extension SDK live at docs.conjure.terracelab.co.kr.
Develop
pip install -e ".[dev]"
pytest
ruff check . && ruff format --check .
MIT © Terrace Lab
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file django_conjure-0.1.1.tar.gz.
File metadata
- Download URL: django_conjure-0.1.1.tar.gz
- Upload date:
- Size: 22.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
edecd14ccdadc5cc8d6c0c4ff251b9c69f6e75421e38f3a221e399b0c141bc1f
|
|
| MD5 |
b707853b9f83df8e6b0aa608d52d3593
|
|
| BLAKE2b-256 |
1272d9d440a3172372eb45bb6e482b1ed6832a5b437b086231af090848340018
|
Provenance
The following attestation bundles were made for django_conjure-0.1.1.tar.gz:
Publisher:
release.yml on terracelab/django-conjure
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
django_conjure-0.1.1.tar.gz -
Subject digest:
edecd14ccdadc5cc8d6c0c4ff251b9c69f6e75421e38f3a221e399b0c141bc1f - Sigstore transparency entry: 1834707218
- Sigstore integration time:
-
Permalink:
terracelab/django-conjure@3d818b210fb1fc6539ec467ae66f21e017a0826e -
Branch / Tag:
refs/heads/main - Owner: https://github.com/terracelab
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@3d818b210fb1fc6539ec467ae66f21e017a0826e -
Trigger Event:
workflow_dispatch
-
Statement type:
File details
Details for the file django_conjure-0.1.1-py3-none-any.whl.
File metadata
- Download URL: django_conjure-0.1.1-py3-none-any.whl
- Upload date:
- Size: 26.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1196f73a58b5c0a3da4b9115c5ba3e44b55972325294feff95f91975171ee724
|
|
| MD5 |
9c5634e828138babef327c695355e827
|
|
| BLAKE2b-256 |
7c1c16c0f0fe114cde6bc3bd329d925e2f920fe41bf604b958a6f741578ce44d
|
Provenance
The following attestation bundles were made for django_conjure-0.1.1-py3-none-any.whl:
Publisher:
release.yml on terracelab/django-conjure
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
django_conjure-0.1.1-py3-none-any.whl -
Subject digest:
1196f73a58b5c0a3da4b9115c5ba3e44b55972325294feff95f91975171ee724 - Sigstore transparency entry: 1834707308
- Sigstore integration time:
-
Permalink:
terracelab/django-conjure@3d818b210fb1fc6539ec467ae66f21e017a0826e -
Branch / Tag:
refs/heads/main - Owner: https://github.com/terracelab
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@3d818b210fb1fc6539ec467ae66f21e017a0826e -
Trigger Event:
workflow_dispatch
-
Statement type: