django-postgresql-dag


Namedjango-postgresql-dag JSON
Version 0.4.0 PyPI version JSON
download
home_pagehttps://github.com/OmenApps/django-postgresql-dag
SummaryDirected Acyclic Graph implementation for Django & Postgresql
upload_time2023-01-15 18:22:42
maintainer
docs_urlNone
authorJack Linke
requires_python>=3.8,<4.0
licenseMIT
keywords django graph tree dag network directed acyclic postgres cte
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            [![codecov](https://codecov.io/gh/OmenApps/django-postgresql-dag/branch/master/graph/badge.svg?token=IJRBEE6R0C)](https://codecov.io/gh/OmenApps/django-postgresql-dag) ![PyPI](https://img.shields.io/pypi/v/django-postgresql-dag?color=green) ![last commit](https://badgen.net/github/last-commit/OmenApps/django-postgresql-dag/main) [![Documentation Status](https://readthedocs.org/projects/django-postgresql-dag/badge/?version=latest)](http://django-postgresql-dag.readthedocs.io/) [![made-with-python](https://img.shields.io/badge/Made%20with-Python-1f425f.svg)](https://www.python.org/)

# 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](https://django-postgresql-dag.readthedocs.io/en/latest/quickstart.html)

## Install

    pip install django-postgresql-dag

With optional dependencies for using transformations:

    pip install django-postgresql-dag[transforms]


## ToDo

See the checklists in [issues](https://github.com/OmenApps/django-postgresql-dag/issues) to understand the future goals of this project.


## Credits:

1. [This excellent blog post](https://www.fusionbox.com/blog/detail/graph-algorithms-in-a-database-recursive-ctes-and-topological-sort-with-postgres/620/)
2. [django-dag](https://pypi.org/project/django-dag/)
3. [django-dag-postgresql](https://github.com/worsht/django-dag-postgresql)
4. [django-treebeard-dag](https://pypi.org/project/django-treebeard-dag/)

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/OmenApps/django-postgresql-dag",
    "name": "django-postgresql-dag",
    "maintainer": "",
    "docs_url": null,
    "requires_python": ">=3.8,<4.0",
    "maintainer_email": "",
    "keywords": "django,graph,tree,dag,network,directed,acyclic,postgres,cte",
    "author": "Jack Linke",
    "author_email": "jack@watervize.com",
    "download_url": "https://files.pythonhosted.org/packages/eb/48/3d681301bb28efa0aa79c1f660686f681f08e8833ea68ec1bfe856caea44/django_postgresql_dag-0.4.0.tar.gz",
    "platform": null,
    "description": "[![codecov](https://codecov.io/gh/OmenApps/django-postgresql-dag/branch/master/graph/badge.svg?token=IJRBEE6R0C)](https://codecov.io/gh/OmenApps/django-postgresql-dag) ![PyPI](https://img.shields.io/pypi/v/django-postgresql-dag?color=green) ![last commit](https://badgen.net/github/last-commit/OmenApps/django-postgresql-dag/main) [![Documentation Status](https://readthedocs.org/projects/django-postgresql-dag/badge/?version=latest)](http://django-postgresql-dag.readthedocs.io/) [![made-with-python](https://img.shields.io/badge/Made%20with-Python-1f425f.svg)](https://www.python.org/)\n\n# Django & Postgresql-based Directed Acyclic Graphs\n\nThe main distinguishing factor for this project is that it can retrieve entire sections of a graph with far\nfewer queries than most other packages. The trade off is portability: it uses Postgres' Common Table\nExpressions (CTE) to achieve this and is therefore not compatible with other databases.\n\nNOTE: 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.\n\nThe 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.\n\nCurrently, 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.\n\n## Demo\n\n[Quickstart example](https://django-postgresql-dag.readthedocs.io/en/latest/quickstart.html)\n\n## Install\n\n    pip install django-postgresql-dag\n\nWith optional dependencies for using transformations:\n\n    pip install django-postgresql-dag[transforms]\n\n\n## ToDo\n\nSee the checklists in [issues](https://github.com/OmenApps/django-postgresql-dag/issues) to understand the future goals of this project.\n\n\n## Credits:\n\n1. [This excellent blog post](https://www.fusionbox.com/blog/detail/graph-algorithms-in-a-database-recursive-ctes-and-topological-sort-with-postgres/620/)\n2. [django-dag](https://pypi.org/project/django-dag/)\n3. [django-dag-postgresql](https://github.com/worsht/django-dag-postgresql)\n4. [django-treebeard-dag](https://pypi.org/project/django-treebeard-dag/)\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "Directed Acyclic Graph implementation for Django & Postgresql",
    "version": "0.4.0",
    "split_keywords": [
        "django",
        "graph",
        "tree",
        "dag",
        "network",
        "directed",
        "acyclic",
        "postgres",
        "cte"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "00190a52805a31dd8c5ee9e52be084722ced949a58293f83d9a14610c3d7c0e5",
                "md5": "75a733a0404643d1f1f41e23198db3eb",
                "sha256": "192141cd5c0d0887d9397291ca17546282e832b0b8057eac23ad80c7f01b7be0"
            },
            "downloads": -1,
            "filename": "django_postgresql_dag-0.4.0-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "75a733a0404643d1f1f41e23198db3eb",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.8,<4.0",
            "size": 18496,
            "upload_time": "2023-01-15T18:22:39",
            "upload_time_iso_8601": "2023-01-15T18:22:39.579029Z",
            "url": "https://files.pythonhosted.org/packages/00/19/0a52805a31dd8c5ee9e52be084722ced949a58293f83d9a14610c3d7c0e5/django_postgresql_dag-0.4.0-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "eb483d681301bb28efa0aa79c1f660686f681f08e8833ea68ec1bfe856caea44",
                "md5": "7376ef804cac0a61acecf5fb364800ed",
                "sha256": "224a724d19ca256c8547158f25211bbda651c907efe508385f62203e47803a52"
            },
            "downloads": -1,
            "filename": "django_postgresql_dag-0.4.0.tar.gz",
            "has_sig": false,
            "md5_digest": "7376ef804cac0a61acecf5fb364800ed",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.8,<4.0",
            "size": 18086,
            "upload_time": "2023-01-15T18:22:42",
            "upload_time_iso_8601": "2023-01-15T18:22:42.065060Z",
            "url": "https://files.pythonhosted.org/packages/eb/48/3d681301bb28efa0aa79c1f660686f681f08e8833ea68ec1bfe856caea44/django_postgresql_dag-0.4.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2023-01-15 18:22:42",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "github_user": "OmenApps",
    "github_project": "django-postgresql-dag",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "requirements": [],
    "lcname": "django-postgresql-dag"
}
        
Elapsed time: 0.02992s