Skip to main content

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.

pipeline status coverage PyPI License


Status

Pre-developmentv0.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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

django_clade-0.0.5.post1.tar.gz (55.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

django_clade-0.0.5.post1-py3-none-any.whl (10.2 kB view details)

Uploaded Python 3

File details

Details for the file django_clade-0.0.5.post1.tar.gz.

File metadata

  • Download URL: django_clade-0.0.5.post1.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

Hashes for django_clade-0.0.5.post1.tar.gz
Algorithm Hash digest
SHA256 f9bb0585f5ee980103c380a14b0ee780bfc606829729d4b2c4d1a8542626a636
MD5 7e2d788160c8700cdcc6baf8d6b5bc80
BLAKE2b-256 040d686040f535196851c54099aa12c93fcc93a6bb03215d758bf32cb7718623

See more details on using hashes here.

File details

Details for the file django_clade-0.0.5.post1-py3-none-any.whl.

File metadata

  • Download URL: django_clade-0.0.5.post1-py3-none-any.whl
  • Upload date:
  • Size: 10.2 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

Hashes for django_clade-0.0.5.post1-py3-none-any.whl
Algorithm Hash digest
SHA256 246f91cded2cabea19032dc62b355c64126239b6c80c776dd3cd17024ee184fb
MD5 f90d0482bb5cda4fd6bd939b8dfe5588
BLAKE2b-256 7d7a179a26dcdf724d2ae6e2c4cbc5e7d52926f8c4cd23a651ffd1ca9658e6e7

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page