{ "info": { "author": "Jason Kraus", "author_email": "zbyte64@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Environment :: Web Environment", "Framework :: Django", "Intended Audience :: Developers", "License :: OSI Approved :: BSD License", "Natural Language :: English", "Operating System :: OS Independent", "Programming Language :: Python", "Topic :: Internet :: WWW/HTTP :: Dynamic Content" ], "description": "============\nIntroduction\n============\n\ndjango-hyperadmin is a HATEOAS API framework for building resources in Django. Resources are anything that can be manipulated with forms and configuration of a Resource is similar to that of an Admin Model. While Resources offer a REST CRUD layer out of the box they are meant to power workflows that go beyond CRUD. Additionally Resources aim to be reusable throughout the web application and not to be limitted to a single API endpoint.\n\nThis is BETA\n\nDocumentation: http://django-hyperadmin.readthedocs.org/\n\n--------\nFeatures\n--------\n* ModelResource works like AdminModel\n* Data store agnostic\n* Media type agnostic\n* Index classes define search and filter capabilities through forms\n* Autoloads basic functionality from admin site\n* Inline support\n* Clients packaged seperately\n* Throttling\n* API key authentication\n* Wizard workflows\n\nSupported Media Formats:\n\n* application/text-html, text/html - provides HTML responses\n* application/json - plain json serialization, uses datataps\n* text/javascript - for jsonp\n* application/vnd.Collection+JSON\n* application/vnd.Collection.next+JSON\n* application/vnd.Collection.hyperadmin+JSON - for the emberjs client\n* TODO: xml, yaml, ???\n\nHeaders control media type; \"Accepts\" and \"Content-Type\" control response and request format\n\n------------\nRequirements\n------------\n\n* Python 2.6 or later\n* Django 1.3 or later\n* django-datatap\n\n\n===============\nHelp & Feedback\n===============\n\nWe have a mailing list for general discussion and help: http://groups.google.com/group/django-hyperadmin/\n\n============\nInstallation\n============\n\nInstall hyperadmin into your python environment::\n\n pip install django-hyperadmin\n\nor::\n\n pip install -e git+git://github.com/webcube/django-hyperadmin.git#egg=django-hyperadmin\n\n\nPut 'hyperadmin' into your ``INSTALLED_APPS`` section of your settings file.\n\nAdd to root url patterns::\n\n url(r'^hyperapi/', include('hyperadmin.urls')),\n\n\n=============\nConfiguration\n=============\n\n------------------\nRegistering models\n------------------\n\nRegistering a model with hyperadmin::\n\n import hyperadmin\n from hpyeradmin.resources.models import ModelResource, InlineModelResource\n from myapp.models import MyModel, ChildModel\n \n class ChildModelResource(InlineModelResource):\n model = ChildModel\n \n class MyModelResource(ModelResource):\n inlines = [ChildModelResource]\n list_display = ['name', 'number']\n list_filter = ['timestamp', 'category']\n \n hyperadmin.site.register(MyModel, MyModelResource)\n\n\nAPI Endpoints\n-------------\n\n* \"/\" lists rows; POST to create\n* \"/add/\" POST to add\n* \"//\" displays a specific row; PUT/POST to update, DELETE to delete\n* \"//delete/\" POST to delete\n\nInline API Endpoints\n--------------------\n\n* \"//(relname)/\" lists rows; POST to create\n* \"//(relname)/add/\" POST to add\n* \"//(relname)//\" displays a specific row; PUT/POST to update, DELETE to delete\n* \"//(relname)//delete/\" POST to delete\n\n-----------------------------\nAutoloading from Django Admin\n-----------------------------\n\nThe following registers the models from admin site (this is already done if you import from ``hyperadmin.urls``)::\n\n from hyperadmin.resources.models.autload import DjangoCTModelAdminLoader\n from django.contrib.admin import site as admin_site\n from hyperadmin import site as root_endpoint\n \n loader = DjangoCTModelAdminLoader(root_endpoint, admin_site)\n loader.register_resources()\n\n\n=======\nClients\n=======\n\nVisiting the api endpoint in a browser will let you browse the various hyberobjects made available through the resource. Clients may be installed on a different url.\n\n----------------------\nDjango Template Client\n----------------------\n\nhttps://github.com/webcube/django-hyperadmin-client\n\nUses django templates to render an admin interface. Responsive design out of the box.\n\n-----------------\nEmber REST Client\n-----------------\n\nhttps://github.com/zbyte64/django-hyperadmin-emberclient\n\nUses REST calls and emberjs to render an admin interface.\n\n-----------------\nBackbone Bindings\n-----------------\n\nhttps://github.com/zbyte64/django-hyperadmin-backboneclient\n\nProvides basic bindings to the Backbone API.\n\n----------\nDockit CMS\n----------\n\nhttps://github.com/webcube/django-dockitcms\n\nA dynamic API builder with a public HTML (template driven) client.\n\n=============================\nReading up on Hypermedia APIs\n=============================\n\nhttp://www.amundsen.com/hypermedia/hfactor/\n\nhttp://code.ge/media-types/collection-next-json/", "description_content_type": null, "docs_url": null, "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "http://github.com/webcube/django-hyperadmin", "keywords": "django hypermedia HATEOAS REST", "license": "New BSD License", "maintainer": null, "maintainer_email": null, "name": "django-hyperadmin", "package_url": "https://pypi.org/project/django-hyperadmin/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/django-hyperadmin/", "project_urls": { "Download": "UNKNOWN", "Homepage": "http://github.com/webcube/django-hyperadmin" }, "release_url": "https://pypi.org/project/django-hyperadmin/0.10.0/", "requires_dist": null, "requires_python": null, "summary": "A hypermedia API framework for Django.", "version": "0.10.0" }, "last_serial": 789829, "releases": { "0.10.0": [ { "comment_text": "", "digests": { "md5": "c2c83146c43a60c9f7fa9eeadbc05142", "sha256": "cc18d189428d8babada9411a3728229230041994671bf6a51388826e5120eb6e" }, "downloads": -1, "filename": "django-hyperadmin-0.10.0.tar.gz", "has_sig": false, "md5_digest": "c2c83146c43a60c9f7fa9eeadbc05142", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 63568, "upload_time": "2013-04-11T18:24:37", "url": "https://files.pythonhosted.org/packages/c3/ff/d03161a671e9b4bb17d11ef3343fb8b8b1529e24d2aa4ba3b4bdf426c34a/django-hyperadmin-0.10.0.tar.gz" } ], "0.8.0": [ { "comment_text": "", "digests": { "md5": "e75736fe862145106c6f63889ed8e928", "sha256": "2d28e1d26a5f27fd5ef11f23102bcc4ae0ba60f08aea5b1a96048e1901c1064c" }, "downloads": -1, "filename": "django-hyperadmin-0.8.0.tar.gz", "has_sig": false, "md5_digest": "e75736fe862145106c6f63889ed8e928", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 46869, "upload_time": "2013-01-17T19:25:56", "url": "https://files.pythonhosted.org/packages/7c/12/c3ff1dffa69d884ed561892ef3407bae407109a4be900b34b4bf13fd2938/django-hyperadmin-0.8.0.tar.gz" } ], "0.8.1": [ { "comment_text": "", "digests": { "md5": "cd56e2ff54aa93f3a6a439082cdd6c26", "sha256": "0aa9b59c29122d9d7d9616e4f20bf4683fbf9d8df9e605b4d61904acb47ba2a3" }, "downloads": -1, "filename": "django-hyperadmin-0.8.1.tar.gz", "has_sig": false, "md5_digest": "cd56e2ff54aa93f3a6a439082cdd6c26", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 48581, "upload_time": "2013-01-18T22:35:37", "url": "https://files.pythonhosted.org/packages/40/c6/4220f99cd5e8bdc228ecb4fcb87e488469f81ddcefe17d1df5be5e88761c/django-hyperadmin-0.8.1.tar.gz" } ], "0.8.2": [ { "comment_text": "", "digests": { "md5": "b2854c13a82a8c54ca74d7a0bcfb2a9c", "sha256": "746aa97b0f933b0af15e15f6719c1dda5a2e3ab62cf884f00a66db3be246aae5" }, "downloads": -1, "filename": "django-hyperadmin-0.8.2.tar.gz", "has_sig": false, "md5_digest": "b2854c13a82a8c54ca74d7a0bcfb2a9c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 50298, "upload_time": "2013-02-02T01:14:16", "url": "https://files.pythonhosted.org/packages/04/67/a50f37c08b8b9978521ddb6be6e703c1ed4b424e77203e398cec07252ef7/django-hyperadmin-0.8.2.tar.gz" } ], "0.9.0": [ { "comment_text": "", "digests": { "md5": "a219136c178bbe367a3846030056ff83", "sha256": "48ef13ba3d1f4aac1343207ca208b8104e7fb294f8e9095507768b0e2258d1e0" }, "downloads": -1, "filename": "django-hyperadmin-0.9.0.tar.gz", "has_sig": false, "md5_digest": "a219136c178bbe367a3846030056ff83", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 58885, "upload_time": "2013-02-19T22:37:31", "url": "https://files.pythonhosted.org/packages/ac/73/a8947449a5f8657b48127b17480ba2d8eee4cac9ce7a19a033cd7c976b22/django-hyperadmin-0.9.0.tar.gz" } ], "0.9.1": [ { "comment_text": "", "digests": { "md5": "b38298fb13203927798c8e6c4be79358", "sha256": "b3453e801e6d0718bfc6df15365d419109557170ebce08e1b37c6dbf22ffa146" }, "downloads": -1, "filename": "django-hyperadmin-0.9.1.tar.gz", "has_sig": false, "md5_digest": "b38298fb13203927798c8e6c4be79358", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 60891, "upload_time": "2013-03-21T02:45:33", "url": "https://files.pythonhosted.org/packages/3d/44/60bada9d3001cadd97de55da4fc07b86ed42049dc3d7498356510fc84ab4/django-hyperadmin-0.9.1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "c2c83146c43a60c9f7fa9eeadbc05142", "sha256": "cc18d189428d8babada9411a3728229230041994671bf6a51388826e5120eb6e" }, "downloads": -1, "filename": "django-hyperadmin-0.10.0.tar.gz", "has_sig": false, "md5_digest": "c2c83146c43a60c9f7fa9eeadbc05142", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 63568, "upload_time": "2013-04-11T18:24:37", "url": "https://files.pythonhosted.org/packages/c3/ff/d03161a671e9b4bb17d11ef3343fb8b8b1529e24d2aa4ba3b4bdf426c34a/django-hyperadmin-0.10.0.tar.gz" } ] }