Skip to main content

Directed Acyclic Graph implementation for Django & Postgresql

Project description

codecov PyPI last commit Documentation Status made-with-python

Django & Postgresql-based Directed Acyclic Graphs

The main distinguishing factor for this project is that it can retrieve entire sections of a graph with far fewer queries than most other packages. The trade off is portability: it uses Postgres' Common Table Expressions (CTE) to achieve this and is therefore not compatible with other databases.

NOTE: Not all methods which would benefit from CTEs use them yet. This project is a work in progress. Again, this project is a work in progress. While functional, it is not yet fully optimized.

The primary purpose of this package is to build and manipulate DAGs within a Django project. If you are looking for graph analysis or visualization, this may not be the right package.

Currently, django-postgresql-dag provides numerous methods for retrieving nodes, and a few for retrieving edges within the graph. In-progress are filters within the CTEs in order to limit the area of the graph to be searched, ability to easily export to NetworkX, and other improvements and utilities.

Demo

Quickstart example

Install

pip install django-postgresql-dag

With optional dependencies for using transformations:

pip install django-postgresql-dag[transforms]

ToDo

See the checklists in issues to understand the future goals of this project.

Credits:

  1. This excellent blog post
  2. django-dag
  3. django-dag-postgresql
  4. django-treebeard-dag

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_postgresql_dag-0.4.0.tar.gz (18.1 kB view details)

Uploaded Source

Built Distribution

django_postgresql_dag-0.4.0-py3-none-any.whl (18.5 kB view details)

Uploaded Python 3

File details

Details for the file django_postgresql_dag-0.4.0.tar.gz.

File metadata

  • Download URL: django_postgresql_dag-0.4.0.tar.gz
  • Upload date:
  • Size: 18.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.2.2 CPython/3.10.6 Linux/5.15.0-56-generic

File hashes

Hashes for django_postgresql_dag-0.4.0.tar.gz
Algorithm Hash digest
SHA256 224a724d19ca256c8547158f25211bbda651c907efe508385f62203e47803a52
MD5 7376ef804cac0a61acecf5fb364800ed
BLAKE2b-256 eb483d681301bb28efa0aa79c1f660686f681f08e8833ea68ec1bfe856caea44

See more details on using hashes here.

File details

Details for the file django_postgresql_dag-0.4.0-py3-none-any.whl.

File metadata

File hashes

Hashes for django_postgresql_dag-0.4.0-py3-none-any.whl
Algorithm Hash digest
SHA256 192141cd5c0d0887d9397291ca17546282e832b0b8057eac23ad80c7f01b7be0
MD5 75a733a0404643d1f1f41e23198db3eb
BLAKE2b-256 00190a52805a31dd8c5ee9e52be084722ced949a58293f83d9a14610c3d7c0e5

See more details on using hashes here.

Supported by

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