{ "info": { "author": "Timothee Mazzucotelli", "author_email": "timothee.mazzucotelli@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 5 - Production/Stable", "Intended Audience :: Developers", "License :: OSI Approved :: Mozilla Public License 2.0 (MPL 2.0)", "Operating System :: Microsoft :: Windows", "Operating System :: POSIX", "Operating System :: Unix", "Programming Language :: Python", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.3", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: Implementation :: CPython", "Programming Language :: Python :: Implementation :: PyPy", "Topic :: Utilities" ], "description": "============================\nDjango Complex System Models\n============================\n\n\n\nA Django app that helps you creating models within a Complex System.\n\nLicense\n=======\n\nSoftware licensed under `MPL 2.0`_ license.\n\n.. _BSD-2 : https://opensource.org/licenses/BSD-2-Clause\n.. _MPL 2.0 : https://www.mozilla.org/en-US/MPL/2.0/\n\nInstallation\n============\n\n::\n\n pip install django-cs-models\n\n\nUsage\n=====\n\nTwo parameters have to be set in your settings. Here is an example:\n\n.. code:: python\n\n COMPLEX_APP_NAME = 'ecosystem'\n\n COMPLEX_STRUCTURE = {\n 'roots': [\n ['Organization', 'Committee', 'Board', 'Cohort'],\n ],\n 'nodes': [\n ['ProjectTeam'],\n ['Resource'],\n ['Member'],\n ]\n }\n\nRoots are entities that contain nodes (a root cannot contain another root).\nNodes are entities contained by and containing other nodes.\n\nYou can define roots and nodes at different levels, i.e. their position\nin the hierarchy. These levels will tell if such entity can be\ncontained by such other entity.\n\nNow in `ecosystem` app:\n\n.. code:: python\n\n from csmodels.models import abstract_model\n\n class Cohort(abstract_model('Cohort')):\n your_model_fields_here = models.SomeField()\n\n class Meta:\n verbose_name = _('Cohort')\n verbose_name_plural = _('Cohorts')\n\n\nThe cohort model will inherit many to many relationships to\nproject teams, resources and members from the abstract model.\n\nOf course, a change in the complex structure will change the models,\ntherefore migrations will be needed!\n\nFirst diagram shows the example above.\n\n.. image:: http://i.imgur.com/a2dGa9V.png\n :alt: Example diagram\n\n\nSecond diagram shows how links are created between entity depending on their\ntype (root or node) and their level. Letters (their names) are not important,\nbut numbers (their levels) are.\n\n.. image:: http://i.imgur.com/apJNGpe.png\n :alt: Abstract diagram\n\n\nDocumentation\n=============\n\nhttps://github.com/Pawamoy/django-cs-models.wiki\n\nDevelopment\n===========\n\nTo run all the tests: ``tox``\n\n=========\nChangelog\n=========\n\n0.1.0 (2016-10-06)\n==================\n\n* Alpha release on PyPI.", "description_content_type": null, "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/Pawamoy/django-cs-models", "keywords": "", "license": "MPL 2.0", "maintainer": "", "maintainer_email": "", "name": "django-cs-models", "package_url": "https://pypi.org/project/django-cs-models/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/django-cs-models/", "project_urls": { "Homepage": "https://github.com/Pawamoy/django-cs-models" }, "release_url": "https://pypi.org/project/django-cs-models/1.0.0/", "requires_dist": null, "requires_python": "", "summary": "A Django app that helps you creating models within a Complex System.", "version": "1.0.0" }, "last_serial": 2384024, "releases": { "1.0.0": [ { "comment_text": "", "digests": { "md5": "83655225dba9c1061b8794b8d290148f", "sha256": "309c2c8881510748a48edd82b92270086111e971a9025f8d12f15979941e4f5a" }, "downloads": -1, "filename": "django_cs_models-1.0.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "83655225dba9c1061b8794b8d290148f", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 6305, "upload_time": "2016-10-06T09:23:20", "url": "https://files.pythonhosted.org/packages/91/71/9c4915d93886bd780a2153898cc7dcb37d6a5130a876a4253285948f93fe/django_cs_models-1.0.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "a59cb25509610fba6d57050ee93c433a", "sha256": "6735571a7c4058a405cf50242a6a94d8a415eaf6b948cdff6d36c22ccaac6e28" }, "downloads": -1, "filename": "django-cs-models-1.0.0.tar.gz", "has_sig": false, "md5_digest": "a59cb25509610fba6d57050ee93c433a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 20669, "upload_time": "2016-10-06T09:23:23", "url": "https://files.pythonhosted.org/packages/b2/2f/d4903df8dbe39a9ff7fbad87ed543a8f9af2aafe1d92b184116f4369e9e6/django-cs-models-1.0.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "83655225dba9c1061b8794b8d290148f", "sha256": "309c2c8881510748a48edd82b92270086111e971a9025f8d12f15979941e4f5a" }, "downloads": -1, "filename": "django_cs_models-1.0.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "83655225dba9c1061b8794b8d290148f", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 6305, "upload_time": "2016-10-06T09:23:20", "url": "https://files.pythonhosted.org/packages/91/71/9c4915d93886bd780a2153898cc7dcb37d6a5130a876a4253285948f93fe/django_cs_models-1.0.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "a59cb25509610fba6d57050ee93c433a", "sha256": "6735571a7c4058a405cf50242a6a94d8a415eaf6b948cdff6d36c22ccaac6e28" }, "downloads": -1, "filename": "django-cs-models-1.0.0.tar.gz", "has_sig": false, "md5_digest": "a59cb25509610fba6d57050ee93c433a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 20669, "upload_time": "2016-10-06T09:23:23", "url": "https://files.pythonhosted.org/packages/b2/2f/d4903df8dbe39a9ff7fbad87ed543a8f9af2aafe1d92b184116f4369e9e6/django-cs-models-1.0.0.tar.gz" } ] }