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. If you are looking for graph analysis or visualization, this is not 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.3.2.tar.gz (24.5 kB view details)

Uploaded Source

Built Distribution

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

django_postgresql_dag-0.3.2-py3-none-any.whl (20.9 kB view details)

Uploaded Python 3

File details

Details for the file django-postgresql-dag-0.3.2.tar.gz.

File metadata

  • Download URL: django-postgresql-dag-0.3.2.tar.gz
  • Upload date:
  • Size: 24.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.6.1 pkginfo/1.7.0 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.56.0 CPython/3.9.6

File hashes

Hashes for django-postgresql-dag-0.3.2.tar.gz
Algorithm Hash digest
SHA256 768cf1ddf592c75f29a6f71ad9f0061c5f87c75ac937e8477ca5b0d962a9d979
MD5 b611e46c414f3d2ec2af96be7be9c8f7
BLAKE2b-256 34097e352db1e22bcc7bffcb9878491ee8b3d53a983926a3af3b09c83b67a8fb

See more details on using hashes here.

File details

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

File metadata

  • Download URL: django_postgresql_dag-0.3.2-py3-none-any.whl
  • Upload date:
  • Size: 20.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.6.1 pkginfo/1.7.0 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.56.0 CPython/3.9.6

File hashes

Hashes for django_postgresql_dag-0.3.2-py3-none-any.whl
Algorithm Hash digest
SHA256 5d29ec52a711639849350109a1b93fbe21e4069b5ce93716ed26fb4f5b8bfdd6
MD5 a5f96a4b61ed4c1245b0c094eea9f2f6
BLAKE2b-256 af4a84372cad239f115417b5edb31eeac2d90d34bacc52dd12a8e6a28fd2d5ce

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