Metadata-Version: 2.1
Name: django-dagmodel
Version: 0.1.0
Summary: DAG in django
Home-page: https://github.com/dryprojects/django-dagmodel
Author: dryprojects
Author-email: rk19931211@hotmail.com
License: MIT license
Keywords: dag
Platform: UNKNOWN
Classifier: Development Status :: 2 - Pre-Alpha
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Natural Language :: English
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Requires-Python: >=3.6

===============
django-dagmodel
===============


.. image:: https://img.shields.io/pypi/v/dag.svg
        :target: https://pypi.python.org/pypi/django-dagmodel

DAG in django


* Free software: MIT license
* Documentation: https://dag.readthedocs.io.


Installation
---------------

.. code-block:: sh

   $ pip install django-dagmodel

or

.. code-block:: sh

   $ python setup install

Usage
----------------

.. code-block:: python

   from dag import with_dag_node, with_dag_edge, with_dag


   class MyJob(model.Model):
       name = models.CharField(max_length=20)


   class MyNode(with_dag_node('MyEdge', 'MyDag')):
       name = models.CharField(max_length=10, unique=True)

       def __str__(self):
           return self.name


   class MyEdge(with_dag_edge(MyNode)):
       def __str__(self):
           return f"{self.prev_node} -> {self.next_node}"

       def __repr__(self):
           return f"{self.prev_node} -> {self.next_node}"


   class MyDag(with_dag(MyJob, 'MyEdge')): ...

   >>> job = TestJob.objects.create(name='myjob')
   >>> dag = MyDag.objects.create(job=job)


Credits
-------

This package was created with Cookiecutter_ and the `audreyr/cookiecutter-pypackage`_ project template.

.. _Cookiecutter: https://github.com/audreyr/cookiecutter
.. _`audreyr/cookiecutter-pypackage`: https://github.com/audreyr/cookiecutter-pypackage


=======
History
=======

0.1.0 (2021-06-12)
------------------

* First release on PyPI.


