{ "info": { "author": "Christian Gonz\u00e1lez", "author_email": "christian.gonzalez@nerdocs.at", "bugtrack_url": null, "classifiers": [ "Development Status :: 3 - Alpha", "Environment :: Web Environment", "Framework :: Django :: 2.2", "Intended Audience :: Developers", "License :: OSI Approved :: GNU General Public License v3 or later (GPLv3+)", "Natural Language :: English", "Operating System :: OS Independent", "Programming Language :: JavaScript", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3 :: Only", "Topic :: Internet :: WWW/HTTP", "Topic :: Internet :: WWW/HTTP :: Dynamic Content", "Topic :: Internet :: WWW/HTTP :: WSGI" ], "description": "\nThe GDAPS library allows Django to make real \"pluggable\" apps.\n\nA standard Django \"app\" is *reusable* (if done correctly), but is not *pluggable*,\nlike being distributed and \"plugged\" into a Django main application without modifications. GDAPS is filling this gap.\n\nThe reason you want to use GDAPS is: **you want to create an application that should be extended via plugins**. GDAPS consists of a few bells and twistles where Django lacks \"automagic\":\n\n* Apps are automatically found using setuptools' entry points\n* Apps can provide their own URLs (they are included and merged into urlpatterns automatically)\n* Apps can define ``Interfaces``, that other GDAPS apps then can implement\n* Apps can provide Javascript frontends that are found and compiled automatically (WorkInProgress)\n\n\n## Credits\n\nI was majorly influenced by other plugin systems when writing this code, big thanks to them:\n\n* Marty Alchin's [Simple plugin framework](http://martyalchin.com/2008/jan/10/simple-plugin-framework/)\n* The [PyUtilib](https://github.com/PyUtilib/pyutilib) library\n* [The Pretix ecosystem](https://pretix.eu/)\n* [Yapsy](http://yapsy.sourceforge.net/)\n* [Django-Rest-Framework](https://www.django-rest-framework.org/)\n* [Graphene-Django](http://docs.graphene-python.org/projects/django/en/latest/)\n\n\n", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://gdaps.readthedocs.io", "keywords": "", "license": "GPLv3", "maintainer": "", "maintainer_email": "", "name": "gdaps", "package_url": "https://pypi.org/project/gdaps/", "platform": "", "project_url": "https://pypi.org/project/gdaps/", "project_urls": { "Documentation": "https://gdaps.readthedocs.io", "Homepage": "https://gdaps.readthedocs.io", "Source": "https://gitlab.com/nerdocs/gdaps", "Tracker": "https://gitlab.com/nerdocs/gdaps/issues" }, "release_url": "https://pypi.org/project/gdaps/0.4.2/", "requires_dist": [ "django", "semantic-version", "check-manifest ; extra == 'dev'", "pytest (==4.6.3) ; extra == 'dev'", "pytest-cov (==2.7.1) ; extra == 'dev'", "twine ; extra == 'dev'", "django-debug-toolbar ; extra == 'dev'" ], "requires_python": ">=3.6", "summary": "\"Generic Django Apps Plugin System\"", "version": "0.4.2" }, "last_serial": 5986660, "releases": { "0.0.1": [ { "comment_text": "", "digests": { "md5": "13ccea2bf4443ba9f061a2518390d8d6", "sha256": "9e312fb147021662091440884be30e265e00e7fcb3180d34f160e4846b3ce192" }, "downloads": -1, "filename": "gdaps-0.0.1-py3-none-any.whl", "has_sig": false, "md5_digest": "13ccea2bf4443ba9f061a2518390d8d6", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 18992, "upload_time": "2018-10-22T09:51:23", "url": "https://files.pythonhosted.org/packages/00/cf/9033fbebc7683b334d0d0c9f4226dbe51e3db0ba134399b1328551870497/gdaps-0.0.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "6b735768793087a69198c0f520bfc1b8", "sha256": "4e27063449a2f75eb9069692b45fe4301f66513724c7d88e7472331741f39703" }, "downloads": -1, "filename": "gdaps-0.0.1.tar.gz", "has_sig": false, "md5_digest": "6b735768793087a69198c0f520bfc1b8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6387, "upload_time": "2018-10-22T09:51:25", "url": "https://files.pythonhosted.org/packages/9e/df/dce8dabf24b5f214b5403e8f0b21c39ec751ae740b133f9c1764d28d2c08/gdaps-0.0.1.tar.gz" } ], "0.2.2": [ { "comment_text": "", "digests": { "md5": "79d154ab3ce840689c65bcf6b5bceb62", "sha256": "8a5eb0f01bc2fbfe731d43aa909d6e2b1a993319e4062f104ef619f66e545eb7" }, "downloads": -1, "filename": "gdaps-0.2.2-py3-none-any.whl", "has_sig": false, "md5_digest": "79d154ab3ce840689c65bcf6b5bceb62", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 30256, "upload_time": "2019-05-11T18:45:50", "url": "https://files.pythonhosted.org/packages/1f/ae/49694f203c60f45ef8e6edfd58a64fcb3716314a80f7c621669ef4d3be8a/gdaps-0.2.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "e787d29219766c012ec3d31ba71527c1", "sha256": "197aa70ef594849654421ed1f126ab4679389a0bd324fb3960c343910640c4c4" }, "downloads": -1, "filename": "gdaps-0.2.2.tar.gz", "has_sig": false, "md5_digest": "e787d29219766c012ec3d31ba71527c1", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 18573, "upload_time": "2019-05-11T18:45:51", "url": "https://files.pythonhosted.org/packages/a4/b4/e07615ab9fffb28864627e859a85a9ada81d10ff5d22704efd75c6da614b/gdaps-0.2.2.tar.gz" } ], "0.3.10": [ { "comment_text": "", "digests": { "md5": "0e1210676640cdf66cd6ffe6ce0eba51", "sha256": "f06b1ec834f2bcd2c0cb5de9893cc13e0aa649b8ac6e9c83c441b78c5f0b9ce4" }, "downloads": -1, "filename": "gdaps-0.3.10-py3-none-any.whl", "has_sig": false, "md5_digest": "0e1210676640cdf66cd6ffe6ce0eba51", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 47239, "upload_time": "2019-06-16T18:04:07", "url": "https://files.pythonhosted.org/packages/a1/ba/0c33ca1301c3b7c09802fca3a7f99049c136a14c6ca4b6100c8f3eb74df8/gdaps-0.3.10-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "d2c941c7313eac57f848471c245fa645", "sha256": "e654031556c1e56479709c647901d3d5dcdde1828ebaf4280ab1fbb85800fd94" }, "downloads": -1, "filename": "gdaps-0.3.10.tar.gz", "has_sig": false, "md5_digest": "d2c941c7313eac57f848471c245fa645", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 6590707, "upload_time": "2019-06-16T18:04:24", "url": "https://files.pythonhosted.org/packages/95/62/3b9d74ff89fa8083b6cc5c65677191093b05c7f45622b6ed30a51b35e845/gdaps-0.3.10.tar.gz" } ], "0.3.11": [ { "comment_text": "", "digests": { "md5": "38a327508613adc4b599509cae75c055", "sha256": "3e9cdd050f2237dff1c936c9d13e0addca07a6647d661045dd49efd7c6572240" }, "downloads": -1, "filename": "gdaps-0.3.11-py3-none-any.whl", "has_sig": false, "md5_digest": "38a327508613adc4b599509cae75c055", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 51177, "upload_time": "2019-07-13T20:28:46", "url": "https://files.pythonhosted.org/packages/9b/4a/5f5c723d9d85e0982dcda0fc070c535d8ae5121bec8ae1e76be91027825b/gdaps-0.3.11-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "53b4832a65c1b06a9a5433a92dc4a2dc", "sha256": "c049e2949c88ac2d2b073c2e7c94c626d40d002f4d26d29ac2349746709beffc" }, "downloads": -1, "filename": "gdaps-0.3.11.tar.gz", "has_sig": false, "md5_digest": "53b4832a65c1b06a9a5433a92dc4a2dc", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 6601499, "upload_time": "2019-07-13T20:28:51", "url": "https://files.pythonhosted.org/packages/3f/1e/8a493ed61d6d4b0430912044d6887ff21537678a6d51d1b6b4627bb754d8/gdaps-0.3.11.tar.gz" } ], "0.3.4": [ { "comment_text": "", "digests": { "md5": "2c21c0a65d018834abbf7d1944cdd89d", "sha256": "c03666e0987ccb266c83192f9bef3edc6b6fb40f5df9c01091a59a3262ef3ec2" }, "downloads": -1, "filename": "gdaps-0.3.4-py3-none-any.whl", "has_sig": false, "md5_digest": "2c21c0a65d018834abbf7d1944cdd89d", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 33385, "upload_time": "2019-06-15T15:48:19", "url": "https://files.pythonhosted.org/packages/93/29/6a541676ad7f52de3d1529a07ad16e5ea7182841521fa49f7367d4f24a1a/gdaps-0.3.4-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "08d83fc5774222d835763035ffc1c41f", "sha256": "124fdca0266b44ee31dc618da676ade374a4425366d86b4157a39dc38a3c125a" }, "downloads": -1, "filename": "gdaps-0.3.4.tar.gz", "has_sig": false, "md5_digest": "08d83fc5774222d835763035ffc1c41f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14087, "upload_time": "2019-06-15T15:48:21", "url": "https://files.pythonhosted.org/packages/ef/79/207ec3adee48d6b3d40b5692f58c91815510cfadd74949f6bde23135fb59/gdaps-0.3.4.tar.gz" } ], "0.3.5": [ { "comment_text": "", "digests": { "md5": "b1735d030af3c21abcabe388b4fcc0df", "sha256": "f9d6ae90dd97d28d6e94f6ec1e9769be17e55990b1d5cc21ae29cc4548fb76d2" }, "downloads": -1, "filename": "gdaps-0.3.5-py3-none-any.whl", "has_sig": false, "md5_digest": "b1735d030af3c21abcabe388b4fcc0df", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 33388, "upload_time": "2019-06-15T16:11:44", "url": "https://files.pythonhosted.org/packages/1e/a9/2aa7707253750a2cfb5f6bdfa9ac4bb6421dac479f463598629b3c225ce0/gdaps-0.3.5-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "df8d7628e716d7650307900de184164b", "sha256": "bb47e77f04533b1b22c6f37ceb52a5d4481d0065025a3e94a22c49d680470243" }, "downloads": -1, "filename": "gdaps-0.3.5.tar.gz", "has_sig": false, "md5_digest": "df8d7628e716d7650307900de184164b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14089, "upload_time": "2019-06-15T16:11:45", "url": "https://files.pythonhosted.org/packages/6f/11/95c55bdde23dac88ed796ca5ec277db9c2deb1627bf3db6e63c93438aa12/gdaps-0.3.5.tar.gz" } ], "0.3.9": [ { "comment_text": "", "digests": { "md5": "f7cf3d736f41fdecc4542ebd0d8c53e7", "sha256": "16868e85c3e6430df6c4c49dd33987ffe98eb794b80a5e238470167754505cef" }, "downloads": -1, "filename": "gdaps-0.3.9-py3-none-any.whl", "has_sig": false, "md5_digest": "f7cf3d736f41fdecc4542ebd0d8c53e7", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 47235, "upload_time": "2019-06-15T23:17:50", "url": "https://files.pythonhosted.org/packages/16/7d/7d71d008cc77a8c6d0f28b06f1622a37ef4ef9f1416dcd229e65f6d9b08e/gdaps-0.3.9-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "0517485f0e2021b269dd79da2417ea59", "sha256": "a81a735c66433670751f26a710997b1720d3d1caa056a97b8fd0eb316eef55ec" }, "downloads": -1, "filename": "gdaps-0.3.9.tar.gz", "has_sig": false, "md5_digest": "0517485f0e2021b269dd79da2417ea59", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 6590657, "upload_time": "2019-06-15T23:17:54", "url": "https://files.pythonhosted.org/packages/08/38/1cdb494c7c3e7b5a5ec42c89a0c7759f7e65fcf6d402e278879596494e7b/gdaps-0.3.9.tar.gz" } ], "0.4.0": [ { "comment_text": "", "digests": { "md5": "93b57d29749fba92aa8593568de182d8", "sha256": "18143c2becd7934a8c82cfd0c5b4cb035915718b629002994bbee52d82573c8f" }, "downloads": -1, "filename": "gdaps-0.4.0-py3-none-any.whl", "has_sig": false, "md5_digest": "93b57d29749fba92aa8593568de182d8", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 59874, "upload_time": "2019-10-12T11:44:35", "url": "https://files.pythonhosted.org/packages/4c/16/898aef77ec95e2bbb314904cc6470c92c72cd9e208b1f4043c12573c7b28/gdaps-0.4.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "c7f8470e718295f6963db709b9fea0d0", "sha256": "a8cfa08f7bc750661132736d22561432c6150001b8e74544110611d5337065af" }, "downloads": -1, "filename": "gdaps-0.4.0.tar.gz", "has_sig": false, "md5_digest": "c7f8470e718295f6963db709b9fea0d0", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 6701479, "upload_time": "2019-10-12T11:44:40", "url": "https://files.pythonhosted.org/packages/c7/62/6b488f6704e570a96a53c3102aa00b22c8e1f89e75596a7604b01384d0bb/gdaps-0.4.0.tar.gz" } ], "0.4.1": [ { "comment_text": "", "digests": { "md5": "b6c4ad4ada6c5da09885894086954cc0", "sha256": "e8d12ee60e8e78ceade3ea43b904c5309a845cf57f60b02af0d8988ef4c77614" }, "downloads": -1, "filename": "gdaps-0.4.1-py3-none-any.whl", "has_sig": false, "md5_digest": "b6c4ad4ada6c5da09885894086954cc0", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 61457, "upload_time": "2019-10-12T21:54:43", "url": "https://files.pythonhosted.org/packages/6d/0f/7ae6a43334f02ca9b749c426cfb77093627c86865cd7f2d0d2fa20fb55ea/gdaps-0.4.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "69dcedbb72a5dad456e10b184aba90d7", "sha256": "64ba9ae37809fe79b513f09b0a61ff2bc80ac76a4ac54f4eb486c4d087f29b60" }, "downloads": -1, "filename": "gdaps-0.4.1.tar.gz", "has_sig": false, "md5_digest": "69dcedbb72a5dad456e10b184aba90d7", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 6703237, "upload_time": "2019-10-12T21:54:48", "url": "https://files.pythonhosted.org/packages/8a/b1/3350b8434206325c659dab877075f3874e4d9a95c782c9eeccce2ddeab81/gdaps-0.4.1.tar.gz" } ], "0.4.2": [ { "comment_text": "", "digests": { "md5": "9e3e18fe8bc0498df063ea6b3fcfe0cc", "sha256": "ae4559bb816ed68f154aa33179987b7bc7d383978b3ed9b5ef9dcf13177a04d5" }, "downloads": -1, "filename": "gdaps-0.4.2-py3-none-any.whl", "has_sig": false, "md5_digest": "9e3e18fe8bc0498df063ea6b3fcfe0cc", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 61681, "upload_time": "2019-10-16T22:24:26", "url": "https://files.pythonhosted.org/packages/83/ad/5e6b1e7ebe69a197d959003008d99624e0bc4db6d20df233901ec273736c/gdaps-0.4.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "9017abfb92eafbe671aa37ee1f7915fe", "sha256": "d9fcdae823f63b59dae661501a711a6994ae6a549dec8e9e3fe172c9e9be4076" }, "downloads": -1, "filename": "gdaps-0.4.2.tar.gz", "has_sig": false, "md5_digest": "9017abfb92eafbe671aa37ee1f7915fe", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 6703480, "upload_time": "2019-10-16T22:24:43", "url": "https://files.pythonhosted.org/packages/7a/3f/30d6d8dfc2b3ddb95ce4f47f317f60e5402cb202282ebebdd9039ba4a6de/gdaps-0.4.2.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "9e3e18fe8bc0498df063ea6b3fcfe0cc", "sha256": "ae4559bb816ed68f154aa33179987b7bc7d383978b3ed9b5ef9dcf13177a04d5" }, "downloads": -1, "filename": "gdaps-0.4.2-py3-none-any.whl", "has_sig": false, "md5_digest": "9e3e18fe8bc0498df063ea6b3fcfe0cc", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 61681, "upload_time": "2019-10-16T22:24:26", "url": "https://files.pythonhosted.org/packages/83/ad/5e6b1e7ebe69a197d959003008d99624e0bc4db6d20df233901ec273736c/gdaps-0.4.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "9017abfb92eafbe671aa37ee1f7915fe", "sha256": "d9fcdae823f63b59dae661501a711a6994ae6a549dec8e9e3fe172c9e9be4076" }, "downloads": -1, "filename": "gdaps-0.4.2.tar.gz", "has_sig": false, "md5_digest": "9017abfb92eafbe671aa37ee1f7915fe", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 6703480, "upload_time": "2019-10-16T22:24:43", "url": "https://files.pythonhosted.org/packages/7a/3f/30d6d8dfc2b3ddb95ce4f47f317f60e5402cb202282ebebdd9039ba4a6de/gdaps-0.4.2.tar.gz" } ] }