A Django module for managing hierarchical data models through a node tree, with kinship relationship queries and optional database-native optimisations.
Project description
Clade
A Django module for managing hierarchical data models through a tree of nodes, with kinship relationship queries and optional database-native optimisations.
Status
Pre-development — v0.0.5 in progress. Not yet usable.
See the milestones and open issues on GitLab for the full roadmap.
What it does
Clade provides a Django application for modelling and querying tree-structured data. It exposes the full set of kinship relationships derivable from a node tree — not only parent/child pairs, but ancestors, descendants, siblings, and collateral lines (piblings, niblings, cousins…) — using gender-neutral terminology throughout.
It also introduces Affinity: a lateral relationship between nodes that share attribute values without any hierarchical link between them.
The module targets multiple database backends:
- PostgreSQL with
ltree— native optimisation (primary target) - SQLite / other — pure-Django fallback
Install
Not yet published. Instructions will be added at
v0.1.0.
pip install clade # future
# settings.py
INSTALLED_APPS = [
...
"clade",
]
Requirements
- Python 3.10+
- Django 5.2+
Contributing
See CONTRIBUTING.md and CODE_OF_CONDUCT.md.
Licence
Apache License 2.0 — see LICENSE.txt and NOTICE.
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_clade-0.0.5.tar.gz.
File metadata
- Download URL: django_clade-0.0.5.tar.gz
- Upload date:
- Size: 55.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.11.3 {"installer":{"name":"uv","version":"0.11.3","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"22.04","id":"jammy","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
09e6b88cb935b5b48541f68268e3712dd1f1fa398eba37af696818cac8a6dc0a
|
|
| MD5 |
b8240c179f709dca5ffcb1243f67d40d
|
|
| BLAKE2b-256 |
20200e15ac7484a9b45078b043baaf3532acda02836fdaed644b41436706d0ec
|
File details
Details for the file django_clade-0.0.5-py3-none-any.whl.
File metadata
- Download URL: django_clade-0.0.5-py3-none-any.whl
- Upload date:
- Size: 10.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.11.3 {"installer":{"name":"uv","version":"0.11.3","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"22.04","id":"jammy","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e10c114a6a803fee513a5734a9dbfb7e99f5883cf962bae896f26aada38edf05
|
|
| MD5 |
6bd27da0c9da79607adef6c65374979d
|
|
| BLAKE2b-256 |
0e5d96c946a32d440896ea7bc92194169cb62a749a3763c984e345de65c0a3c9
|