{ "info": { "author": "Daniel Andrlik", "author_email": "daniel@andrlik.org", "bugtrack_url": null, "classifiers": [ "Development Status :: 3 - Alpha", "Framework :: Django", "Intended Audience :: Developers", "License :: OSI Approved :: BSD License", "Natural Language :: English", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7" ], "description": "=============================\nDjango Fiction Outlines\n=============================\n\n.. image:: https://badge.fury.io/py/django-fiction-outlines.svg\n :target: https://badge.fury.io/py/django-fiction-outlines\n\n.. image:: https://circleci.com/gh/maceoutliner/django-fiction-outlines.svg?style=svg\n :target: https://circleci.com/gh/maceoutliner/django-fiction-outlines\n\n.. image:: https://coveralls.io/repos/github/maceoutliner/django-fiction-outlines/badge.svg?branch=master\n :target: https://coveralls.io/github/maceoutliner/django-fiction-outlines?branch=master\n\n.. image:: https://readthedocs.org/projects/django-fiction-outlines/badge/?version=latest\n :target: http://django-fiction-outlines.readthedocs.io/en/latest/?badge=latest\n :alt: Documentation Status\n\nA reusable Django app for managing fiction outlines. Part of the broader maceoutliner project.\n\nDocumentation\n-------------\n\nThe full documentation is at https://django-fiction-outlines.readthedocs.io.\n\nQuickstart\n----------\n\nInstall Django Fiction Outlines::\n\n pip install django-fiction-outlines\n\nAdd it and dependencies to your `INSTALLED_APPS`:\n\n.. code-block:: python\n\n INSTALLED_APPS = (\n ...\n 'taggit',\n 'rules.apps.AutodiscoverRulesConfig',\n 'fiction_outlines',\n ...\n )\n\nAdd rules_ to your `AUTHENTICATION_BACKENDS`:\n\n.. code-block:: python\n\n AUTHENTICATION_BACKENDS = (\n 'rules.permissions.ObjectPermissionBackend',\n 'django.contrib.auth.backends.ModelBackend',\n )\n\nUnless you like to live dangerously, it is **STRONGLY** recommend you configure whichever database you use for outlines to have ``ATOMIC_REQUESTS`` to ``True``.\n\n.. code-block:: python\n\n DATABASES = {\n \"default\": {\n \"ENGINE\": \"django.db.backends.postgresql\",\n \"NAME\": \"outlines\",\n \"ATOMIC_REQUESTS\": True,\n }}\n\n.. _rules: https://github.com/dfunckt/django-rules\n\nAdd Django Fiction Outlines's URL patterns:\n\n.. code-block:: python\n\n from fiction_outlines import urls as fiction_outlines_urls\n\n\n urlpatterns = [\n ...\n url(r'^', include(fiction_outlines_urls)),\n ...\n ]\n\n\nFeatures\n--------\n\n* Provides models for managing series, outlines, characters, locations, and arcs.\n* Provides tools for managing multiple arcs within the context of a broader story outline.\n* Validates that arcs and outlines follow principles of MACE nesting, and seven point story structure.\n* Calculates estimated length of final manuscript based on complexity of outline.\n* Objects are associated with users to enable permission management.\n\n * NOTE: Django Fiction Outlines uses an object permission manager called `django-rules`_. This allows extremely flexible permission schemes without crufting up your database or model logic. By default, `fiction_outlines` will restrict any view or editing to the owner of the object. \n\n.. _django-rules: https://github.com/dfunckt/django-rules\n\nWhat It Doesn't Do\n------------------\n\n* Provide a full UI for managing the changes. An API and views are provided, but templates are very basic. It is expected that you will override the templates to match your overall project.\n* Outline the whole story for you.\n* Write the story for you.\n* Do your laundry.\n\nRunning Tests\n-------------\n\nDoes the code actually work?\n\n::\n\n $ pip install -r test_requirements.txt \n $ pytest\n $ pytest --flake8\n\nCredits\n-------\n\nTools used in rendering this package:\n\n* Cookiecutter_\n* `cookiecutter-djangopackage`_\n\n.. _Cookiecutter: https://github.com/audreyr/cookiecutter\n.. _`cookiecutter-djangopackage`: https://github.com/pydanny/cookiecutter-djangopackage\n\n\n\n\nHistory\n-------\n\n\n0.3.1 (2018-10-16)\n+++++++++++++++++++++++++++ \n\n* Now compatible with both Python 3.7 and 3.6\n\n0.3.0 (2018-08-08)\n+++++++++++++++++++++++++++ \n\n* Support for Django 2.1\n\n0.2.2 (2018-04-19)\n+++++++++++++++++++++++++++\n\n* Bug fix: override model_utils until my submitted \n bug fix for created/modified timestamps is merged upstream.\n\n0.2.1 (2018-04-14)\n+++++++++++++++++++++++++++\n\n* Add created and modified auto timestamps to all tree models.\n\n0.2.0 (2018-04-13)\n+++++++++++++++++++++++++++\n\n* Add export functions. A view is provided for users to export outlines as either\n OPML, JSON, or Markdown documents.\n\n0.1.5 (2018-04-09)\n+++++++++++++++++++++++++++\n\n* Improvements to length estimate calculation.\n* Improvements to test coverage.\n\n0.1.4 (2018-04-07)\n++++++++++++++++++\n\n* Hotfix release for tag field issue.\n\n0.1.3 (2018-04-07)\n++++++++++++++++++\n\n* Bugfix release for migrations\n\n0.1.2 (2018-04-02)\n++++++++++++++++++\n\n* Bugfix release.\n\n0.1.1 (2018-04-01)\n++++++++++++++++++\n\n* First release on PyPI.\n\n\n", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/maceoutliner/django-fiction-outlines", "keywords": "django-fiction-outlines", "license": "BSD", "maintainer": "", "maintainer_email": "", "name": "django-fiction-outlines", "package_url": "https://pypi.org/project/django-fiction-outlines/", "platform": "", "project_url": "https://pypi.org/project/django-fiction-outlines/", "project_urls": { "Documentation": "http://django-fiction-outlines.readthedocs.io/en/latest/index.html", "Homepage": "https://github.com/maceoutliner/django-fiction-outlines", "Issue Tracker": "https://github.com/maceoutliner/django-fiction-outlines/issues", "Source": "https://github.com/maceoutliner/django-fiction-outlines/" }, "release_url": "https://pypi.org/project/django-fiction-outlines/0.3.1/", "requires_dist": [ "django-braces (>=1.12.0)", "django-model-utils (>=3.1.1)", "django-taggit (>=0.23.0)", "django-treebeard (>=4.2.1)", "django (>=2.0)", "pytz", "rules (>=1.3)" ], "requires_python": "~=3.6", "summary": "A reusable Django app for managing fiction outlines. Part of the broader maceoutliner project.", "version": "0.3.1" }, "last_serial": 4382807, "releases": { "0.1.1": [ { "comment_text": "", "digests": { "md5": "48fca0290ba0e6a7942ab665f0470d61", "sha256": "236fc399daf3869230bf2548fc66c44541cf562ba5689d8a67faa4a0adf66078" }, "downloads": -1, "filename": "django-fiction-outlines-0.1.1.tar.gz", "has_sig": false, "md5_digest": "48fca0290ba0e6a7942ab665f0470d61", "packagetype": "sdist", "python_version": "source", "requires_python": "~=3.6", "size": 33717, "upload_time": "2018-04-02T01:44:44", "url": "https://files.pythonhosted.org/packages/47/02/5212cbc6b28a03ed5855fa3ab26e6076a180a8a9d27d107476628ddc766e/django-fiction-outlines-0.1.1.tar.gz" } ], "0.1.2": [ { "comment_text": "", "digests": { "md5": "aa7d2dc3eaff8fdb1b080a2af2b5506e", "sha256": "4905afa7c8b5d25a7890bd4cd98eb30ced82ac31d1e0834293d3661e804126de" }, "downloads": -1, "filename": "django-fiction-outlines-0.1.2.tar.gz", "has_sig": false, "md5_digest": "aa7d2dc3eaff8fdb1b080a2af2b5506e", "packagetype": "sdist", "python_version": "source", "requires_python": "~=3.6", "size": 34203, "upload_time": "2018-04-02T16:14:29", "url": "https://files.pythonhosted.org/packages/c8/71/0f43b39422d54ebd2d190f24dd54a47902aa03390737cb26687388bf79c6/django-fiction-outlines-0.1.2.tar.gz" } ], "0.1.3": [ { "comment_text": "", "digests": { "md5": "e07d97a16efad8fde6faa40a3f147cdc", "sha256": "1654830c0eed3d9e820893c683e4afa595910e8e3c1f78b7422711b7bed3a697" }, "downloads": -1, "filename": "django-fiction-outlines-0.1.3.tar.gz", "has_sig": false, "md5_digest": "e07d97a16efad8fde6faa40a3f147cdc", "packagetype": "sdist", "python_version": "source", "requires_python": "~=3.6", "size": 35839, "upload_time": "2018-04-08T02:20:37", "url": "https://files.pythonhosted.org/packages/d2/2f/577425918f11bc85b86bc2290b19bd2b903ffdbbb015d8edf2ee54b54832/django-fiction-outlines-0.1.3.tar.gz" } ], "0.1.4": [ { "comment_text": "", "digests": { "md5": "beef71567292fecbb56bbba5e747173b", "sha256": "72c090853a8d5a5e0a005f99c9ef4a5b93134818d8745bd6196ed00adbeaa411" }, "downloads": -1, "filename": "django-fiction-outlines-0.1.4.tar.gz", "has_sig": false, "md5_digest": "beef71567292fecbb56bbba5e747173b", "packagetype": "sdist", "python_version": "source", "requires_python": "~=3.6", "size": 36090, "upload_time": "2018-04-08T02:46:23", "url": "https://files.pythonhosted.org/packages/7e/eb/bfefbec823f32633e03a6280fca8766c8e9f980a27bc8878a13c909f493e/django-fiction-outlines-0.1.4.tar.gz" } ], "0.1.5": [ { "comment_text": "", "digests": { "md5": "8f3c515efe4af7959e2486a836be11d4", "sha256": "9ba267275d60e02a458ccd68493c1a3d2c8ef5029dc67452f3186cf2b162ecc8" }, "downloads": -1, "filename": "django_fiction_outlines-0.1.5-py3-none-any.whl", "has_sig": false, "md5_digest": "8f3c515efe4af7959e2486a836be11d4", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": "~=3.6", "size": 57520, "upload_time": "2018-04-09T19:46:28", "url": "https://files.pythonhosted.org/packages/69/1e/848f2b742092deae1e3fdff1737a2009e0971672fbec7d83ba7e3b7c3168/django_fiction_outlines-0.1.5-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "4b743641d573b8d62104c1e7fdf7b6b4", "sha256": "a68c5aad21f1ab091e27b52ac662027e06651728a80226a8400e7719bc474b45" }, "downloads": -1, "filename": "django-fiction-outlines-0.1.5.tar.gz", "has_sig": false, "md5_digest": "4b743641d573b8d62104c1e7fdf7b6b4", "packagetype": "sdist", "python_version": "source", "requires_python": "~=3.6", "size": 36622, "upload_time": "2018-04-09T19:46:30", "url": "https://files.pythonhosted.org/packages/a0/49/93b14520c4cc06641aa3c1b202854876b94613d162166c1cdb6a80bfdeaa/django-fiction-outlines-0.1.5.tar.gz" } ], "0.2.0": [ { "comment_text": "", "digests": { "md5": "58851f5e365969acdcf71cf3361f95ea", "sha256": "323619843b8d31560121d95c5bd03479d6574091d5b74f9bfe1d3f52636d8a78" }, "downloads": -1, "filename": "django_fiction_outlines-0.2.0-py3-none-any.whl", "has_sig": false, "md5_digest": "58851f5e365969acdcf71cf3361f95ea", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": "~=3.6", "size": 58969, "upload_time": "2018-04-13T20:04:45", "url": "https://files.pythonhosted.org/packages/1b/27/e7f6744215959d45386c41371fda52ea26632240222684d2f78588070aae/django_fiction_outlines-0.2.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "2a5538e703a14705662756a9d8726c69", "sha256": "cb61cec8ea874fd2cc0865255fbb86c9f7b7355ee0e7451912ddef5123b94508" }, "downloads": -1, "filename": "django-fiction-outlines-0.2.0.tar.gz", "has_sig": false, "md5_digest": "2a5538e703a14705662756a9d8726c69", "packagetype": "sdist", "python_version": "source", "requires_python": "~=3.6", "size": 38127, "upload_time": "2018-04-13T20:04:46", "url": "https://files.pythonhosted.org/packages/51/89/d408edb24c447d74a3c3e49aaf6c051da7c44755d385e6a9221ae26be13e/django-fiction-outlines-0.2.0.tar.gz" } ], "0.2.1": [ { "comment_text": "", "digests": { "md5": "80c2721c9c263cee680b51850c848ef3", "sha256": "6c8554df96150c54230b33aab2cc78fee74c1bac86cf8dc415f4edda3cad1644" }, "downloads": -1, "filename": "django_fiction_outlines-0.2.1-py3-none-any.whl", "has_sig": false, "md5_digest": "80c2721c9c263cee680b51850c848ef3", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": "~=3.6", "size": 59550, "upload_time": "2018-04-15T01:52:56", "url": "https://files.pythonhosted.org/packages/2a/5e/d5a2f08617681e4a2b24035603c01ff3bb4ba1b8ebdb029277d873c1a849/django_fiction_outlines-0.2.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "4a62cd408e8a48358667f12980a8ff83", "sha256": "3ee75ca3829a5a7a8767b5b284999abe4ee94d274ca6ac3e137475cb06aec6f4" }, "downloads": -1, "filename": "django-fiction-outlines-0.2.1.tar.gz", "has_sig": false, "md5_digest": "4a62cd408e8a48358667f12980a8ff83", "packagetype": "sdist", "python_version": "source", "requires_python": "~=3.6", "size": 37950, "upload_time": "2018-04-15T01:52:57", "url": "https://files.pythonhosted.org/packages/83/ed/fcb37b5ea271035f8cff3f6c53b41a6012aa66f7c0bb23454dd88f626aa9/django-fiction-outlines-0.2.1.tar.gz" } ], "0.2.2": [ { "comment_text": "", "digests": { "md5": "6f622734bc05e47f563926307ce0c63f", "sha256": "162bedb6b5f3a0831c1ae943a9cc7443ad9364156d0a804444c751208f0f1f9e" }, "downloads": -1, "filename": "django_fiction_outlines-0.2.2-py3-none-any.whl", "has_sig": false, "md5_digest": "6f622734bc05e47f563926307ce0c63f", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": "~=3.6", "size": 60489, "upload_time": "2018-04-19T17:41:08", "url": "https://files.pythonhosted.org/packages/d4/73/2e1404eaf30051898176896325e8a6b0f2ae837376a755b86af4c4e89976/django_fiction_outlines-0.2.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "98c6ff6f825c9a7cabac1e117ae8b9e2", "sha256": "17a1d63f5c7985da276be271ad7e3d9c5ff4e3b4d31f6fbecaa8cf43a7f4d738" }, "downloads": -1, "filename": "django-fiction-outlines-0.2.2.tar.gz", "has_sig": false, "md5_digest": "98c6ff6f825c9a7cabac1e117ae8b9e2", "packagetype": "sdist", "python_version": "source", "requires_python": "~=3.6", "size": 38941, "upload_time": "2018-04-19T17:41:09", "url": "https://files.pythonhosted.org/packages/57/32/a1ed9107628009a6d8686951c4cdd5230b5c40bc195d8f9a5c370f8e0b1e/django-fiction-outlines-0.2.2.tar.gz" } ], "0.3.0": [ { "comment_text": "", "digests": { "md5": "d6756f7fd4566b5dfac0ccc835ab70ee", "sha256": "e8a3bd061ae1f6860e8dc5c576bff2f72edcbece79d2a413ef67b2d23e63fd58" }, "downloads": -1, "filename": "django_fiction_outlines-0.3.0-py3-none-any.whl", "has_sig": false, "md5_digest": "d6756f7fd4566b5dfac0ccc835ab70ee", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": "~=3.6", "size": 60505, "upload_time": "2018-08-08T17:39:25", "url": "https://files.pythonhosted.org/packages/68/73/e1fece3b6e8018b7fab8d1aa7f6a04db9ff86904bde965aa7bae9aeb501d/django_fiction_outlines-0.3.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "dca74e043772c720cb1f2a0af17ccd18", "sha256": "19d660f2a1b0a6818b4a555c804f441204cc1da5cd623165c37c65bf7dfea231" }, "downloads": -1, "filename": "django-fiction-outlines-0.3.0.tar.gz", "has_sig": false, "md5_digest": "dca74e043772c720cb1f2a0af17ccd18", "packagetype": "sdist", "python_version": "source", "requires_python": "~=3.6", "size": 36961, "upload_time": "2018-08-08T17:39:27", "url": "https://files.pythonhosted.org/packages/97/fc/0ffaaf52ea8b8f145aa3af4865d3b8812c6ad6411e38d0017e1b22667680/django-fiction-outlines-0.3.0.tar.gz" } ], "0.3.1": [ { "comment_text": "", "digests": { "md5": "66629822ac7651bf285e3be39dbf055c", "sha256": "8c406e8d197ef14753116ee73387a3426941cfa91ea216c27424038967241fd1" }, "downloads": -1, "filename": "django_fiction_outlines-0.3.1-py3-none-any.whl", "has_sig": false, "md5_digest": "66629822ac7651bf285e3be39dbf055c", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": "~=3.6", "size": 61962, "upload_time": "2018-10-16T18:42:20", "url": "https://files.pythonhosted.org/packages/76/bf/0d05dc428cbeac4ff8a2c167cc48691f8d58ac6fa07a08da7550f73c7934/django_fiction_outlines-0.3.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "2c3b453fbcc550791dd91ad947595e89", "sha256": "d5ff337bbd5bc9c159ab3cff3e8f1f03f2cde7de0dcb4f0b95978ebc37dbad71" }, "downloads": -1, "filename": "django-fiction-outlines-0.3.1.tar.gz", "has_sig": false, "md5_digest": "2c3b453fbcc550791dd91ad947595e89", "packagetype": "sdist", "python_version": "source", "requires_python": "~=3.6", "size": 37025, "upload_time": "2018-10-16T18:42:22", "url": "https://files.pythonhosted.org/packages/4f/56/bdc28889e9c322a6228c46868dcc422645b1471ccc9dcb4437334c2d9830/django-fiction-outlines-0.3.1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "66629822ac7651bf285e3be39dbf055c", "sha256": "8c406e8d197ef14753116ee73387a3426941cfa91ea216c27424038967241fd1" }, "downloads": -1, "filename": "django_fiction_outlines-0.3.1-py3-none-any.whl", "has_sig": false, "md5_digest": "66629822ac7651bf285e3be39dbf055c", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": "~=3.6", "size": 61962, "upload_time": "2018-10-16T18:42:20", "url": "https://files.pythonhosted.org/packages/76/bf/0d05dc428cbeac4ff8a2c167cc48691f8d58ac6fa07a08da7550f73c7934/django_fiction_outlines-0.3.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "2c3b453fbcc550791dd91ad947595e89", "sha256": "d5ff337bbd5bc9c159ab3cff3e8f1f03f2cde7de0dcb4f0b95978ebc37dbad71" }, "downloads": -1, "filename": "django-fiction-outlines-0.3.1.tar.gz", "has_sig": false, "md5_digest": "2c3b453fbcc550791dd91ad947595e89", "packagetype": "sdist", "python_version": "source", "requires_python": "~=3.6", "size": 37025, "upload_time": "2018-10-16T18:42:22", "url": "https://files.pythonhosted.org/packages/4f/56/bdc28889e9c322a6228c46868dcc422645b1471ccc9dcb4437334c2d9830/django-fiction-outlines-0.3.1.tar.gz" } ] }