{ "info": { "author": "Geoff Ford and Chris Tarttelin and Cam McHugh", "author_email": "g_ford@hotmail.ccom", "bugtrack_url": null, "classifiers": [], "description": "[![Build Status](https://travis-ci.org/alephnullplex/xml_models2.svg?branch=master)](https://travis-ci.org/alephnullplex/xml_models2)\n[![Coverage Status](https://coveralls.io/repos/alephnullplex/xml_models2/badge.svg?branch=master)](https://coveralls.io/r/alephnullplex/xml_models2?branch=master)\n\n[Read The Docs](http://xml-models2.readthedocs.org/en/latest/)\n\n# XmlModels2\n\nXmlModels allows you to define Models similar in nature to Django models that are backed by XML endpoints rather than a\ndatabase. Using a familiar declarative definition, the fields map to values in the XML document by means of XPath\nexpressions. With support for querying external REST APIs using a django-esque approach, we have strived to make\nwriting and using xml backed models as close to django database models as we can, within the limitations of the\navailable API calls.\n\n# Installation\n\nThe simplest approach is to to use `pip install xml_models2`\n\n# A simple example\n\nJust to get started, this is an example of taking an XML representation of an Address that might be returned from a\nGET request to an external REST api.\n\n
\n 22\n Acacia Avenue\n Maiden\n England\n IM6 66B\n
\n\n class Address(xml_models.Model):\n id=xml_models.IntField(xpath=\"/Address/@id\")\n number = xml_models.IntField(xpath=\"/Address/number\")\n street = xml_models.CharField(xpath=\"/Address/street\")\n city = xml_models.CharField(xpath=\"/Address/city\")\n country = xml_models.CharField(xpath=\"/Address/country\")\n postcode = xml_models.CharField(xpath=\"/Address/postcode\")\n\n finders = {(id,): 'http://adresses/%s'}\n\nThis example would be used as follows:-\n\n >>> address = Address.objects.get(id=2)\n >>> print \"address is %s, %s\" % (address.number, address.street)\n \"22, Acacia Avenue\"\n\n# Heritage\n\nThis project is a fork of [Django REST Models](http://djangorestmodel.sourceforge.net/)", "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/alephnullplex/xml_models2", "keywords": null, "license": "UNKNOWN", "maintainer": null, "maintainer_email": null, "name": "xml_models2", "package_url": "https://pypi.org/project/xml_models2/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/xml_models2/", "project_urls": { "Download": "UNKNOWN", "Homepage": "http://github.com/alephnullplex/xml_models2" }, "release_url": "https://pypi.org/project/xml_models2/0.11.1/", "requires_dist": null, "requires_python": null, "summary": "XML backed models queried from external REST apis", "version": "0.11.1" }, "last_serial": 1793066, "releases": { "0.10.0": [ { "comment_text": "", "digests": { "md5": "570a047b3d4f2ec99dacb986f846ddd4", "sha256": "89493bc65c849755a029db201b10b8086f8dd5f7ecaac31d7f11d34eb6b2dec5" }, "downloads": -1, "filename": "xml_models2-0.10.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "570a047b3d4f2ec99dacb986f846ddd4", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 13016, "upload_time": "2015-10-27T03:23:27", "url": "https://files.pythonhosted.org/packages/10/52/feb9f6a14438e1650ce9c6c766e076202e77b55e763e5b89e0a1c316bfe5/xml_models2-0.10.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "690017ed48d5bd2994877302e557b789", "sha256": "dca82023f3c9c255d2e33538231b2d5d9aaeafdbc0051fa52b0982c843b5f6e5" }, "downloads": -1, "filename": "xml_models2-0.10.0.zip", "has_sig": false, "md5_digest": "690017ed48d5bd2994877302e557b789", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13471, "upload_time": "2015-10-27T03:23:32", "url": "https://files.pythonhosted.org/packages/17/23/a88d7784721ca83b921d514d3fede4adc6fd2488190396e98e29953ec1d7/xml_models2-0.10.0.zip" } ], "0.11.0": [ { "comment_text": "", "digests": { "md5": "80f09aa765e97de9a7d47f9968e2eb0c", "sha256": "acb4db6054a898fbe1e4f6b5c91c515345fabdeee1d3546e00172e6b14e0fc8d" }, "downloads": -1, "filename": "xml_models2-0.11.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "80f09aa765e97de9a7d47f9968e2eb0c", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 13090, "upload_time": "2015-10-28T01:55:33", "url": "https://files.pythonhosted.org/packages/2d/02/7f02398aaeb00b99dfdd71f64905c85a684daaedbe950bea11f77a58bb53/xml_models2-0.11.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "23fa13b1998e8f2353b9c4dfbc263d1c", "sha256": "926834ae6be4140e6b00221eb49bed37f7ec0760e3b434f6b0a860a25a86b6e8" }, "downloads": -1, "filename": "xml_models2-0.11.0.zip", "has_sig": false, "md5_digest": "23fa13b1998e8f2353b9c4dfbc263d1c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13539, "upload_time": "2015-10-28T01:55:38", "url": "https://files.pythonhosted.org/packages/2a/e5/cad6931a7485f387c3c5ff53fd90b70edfbb6825fad76d4aad2f0c3a1797/xml_models2-0.11.0.zip" } ], "0.11.1": [ { "comment_text": "", "digests": { "md5": "553af082e3015e124b49174a8d743c47", "sha256": "a801a9f0fb2598745b0039d3b88eb4830214d75275906f013055dde81a22e214" }, "downloads": -1, "filename": "xml_models2-0.11.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "553af082e3015e124b49174a8d743c47", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 13086, "upload_time": "2015-10-30T05:36:16", "url": "https://files.pythonhosted.org/packages/b1/69/060b5b9c61538173c356e02d679bce0958e373aec4ab3349a50b5badd2a1/xml_models2-0.11.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "a6659925ed98d1be607bb95e2d94b6c2", "sha256": "45a1704fef9c03962da40b2c4a535eb974fc108c2977f856fcbbd4dae4a8cecd" }, "downloads": -1, "filename": "xml_models2-0.11.1.zip", "has_sig": false, "md5_digest": "a6659925ed98d1be607bb95e2d94b6c2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13539, "upload_time": "2015-10-30T05:36:22", "url": "https://files.pythonhosted.org/packages/56/79/202fe19e3fe8b3c43fc77b74c5f1e9a7106e5060242996ba46ef2093ef89/xml_models2-0.11.1.zip" } ], "0.7.0": [ { "comment_text": "", "digests": { "md5": "22462d5539c6ac92f36b3ef872324d41", "sha256": "c04ae64f95aa3598abe84db6ce850590823c5520e2c8da7baaa36a572c020a7b" }, "downloads": -1, "filename": "xml_models2-0.7.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "22462d5539c6ac92f36b3ef872324d41", "packagetype": "bdist_wheel", "python_version": "3.4", "requires_python": null, "size": 6751, "upload_time": "2015-07-01T11:23:17", "url": "https://files.pythonhosted.org/packages/6d/74/6f941e8ed526bb93d029fabe74b0bf57c7db0bbeaef0791d5b563bf00651/xml_models2-0.7.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "a3d1fa1bee7123e5380aaff77d757f5f", "sha256": "d9af6cfb18c32838dc72fb8ecc62773127c3758467b5c122bfc5062aa41a8e68" }, "downloads": -1, "filename": "xml_models2-0.7.0.tar.gz", "has_sig": false, "md5_digest": "a3d1fa1bee7123e5380aaff77d757f5f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4783, "upload_time": "2015-07-01T11:23:22", "url": "https://files.pythonhosted.org/packages/a5/ef/3e7e2d4ec14ddd7962d85bfca49f0a4d5678146f0e6caec49469fee7b333/xml_models2-0.7.0.tar.gz" } ], "0.7.1": [ { "comment_text": "", "digests": { "md5": "60265037e476f1f97f035781dfdd7edf", "sha256": "39478d1b3eb0a00c01d7aae6b31dd0fdea0985b8a231b04fc7994b73b735d23d" }, "downloads": -1, "filename": "xml_models2-0.7.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "60265037e476f1f97f035781dfdd7edf", "packagetype": "bdist_wheel", "python_version": "3.4", "requires_python": null, "size": 8548, "upload_time": "2015-07-01T11:40:33", "url": "https://files.pythonhosted.org/packages/e8/f2/d15f8b438ed6f5a96f95ae87839cdc29e3368edf969c6b625cf65b49c223/xml_models2-0.7.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "40dbc16492703eeac620632fc0a28d34", "sha256": "9948aee351d30bdcb1a0cde7301c67486003d7769d11c677f097828888713462" }, "downloads": -1, "filename": "xml_models2-0.7.1.tar.gz", "has_sig": false, "md5_digest": "40dbc16492703eeac620632fc0a28d34", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5760, "upload_time": "2015-07-01T11:40:37", "url": "https://files.pythonhosted.org/packages/0d/f2/ee1275f24450630461873f5bb37953901c481954987ab7c8af868146638a/xml_models2-0.7.1.tar.gz" } ], "0.8.0": [ { "comment_text": "", "digests": { "md5": "24820c0ab4425c1ec93f76485869dec6", "sha256": "a495250ad6150f103fb5e4479f5e7756a6e8cd277cea9327ae900af03a9d0c29" }, "downloads": -1, "filename": "xml_models2-0.8.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "24820c0ab4425c1ec93f76485869dec6", "packagetype": "bdist_wheel", "python_version": "3.4", "requires_python": null, "size": 9649, "upload_time": "2015-07-06T22:50:47", "url": "https://files.pythonhosted.org/packages/f3/c0/49d14c2093b0bd6b2886c8c4f1b5b3e10046c4265718e8d221377b60fc5f/xml_models2-0.8.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "64eb3dd43b748fe8251769be9c7c79d6", "sha256": "3b3ff6ce2524dd1d859063d7ff952e77897f211814a276a20b714ec4652fb306" }, "downloads": -1, "filename": "xml_models2-0.8.0.tar.gz", "has_sig": false, "md5_digest": "64eb3dd43b748fe8251769be9c7c79d6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6819, "upload_time": "2015-07-06T22:50:52", "url": "https://files.pythonhosted.org/packages/d2/25/86bf45ced08a7a224bc0ee8dec6754fcdb60eea6dc891d284e7219dc5061/xml_models2-0.8.0.tar.gz" } ], "0.9.0": [ { "comment_text": "", "digests": { "md5": "7bf84a5ed821c1ae3a6bd7291e4cb057", "sha256": "de2438076c27a8a24843759e49c8bee8c28d973a841b304ba9dcb524e57c7c98" }, "downloads": -1, "filename": "xml_models2-0.9.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "7bf84a5ed821c1ae3a6bd7291e4cb057", "packagetype": "bdist_wheel", "python_version": "3.4", "requires_python": null, "size": 23133, "upload_time": "2015-09-03T04:24:22", "url": "https://files.pythonhosted.org/packages/8c/e6/fbbbdbab82985c438c10e7061aa9c02ce0e216584a5109693829d766a835/xml_models2-0.9.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "7a5e901fa4ac8c5191b400f741447720", "sha256": "17f0ee59643b0ab1ac5e4addbd7da28ef3f8c6fb32feca7cea809a7af0331144" }, "downloads": -1, "filename": "xml_models2-0.9.0.tar.gz", "has_sig": false, "md5_digest": "7a5e901fa4ac8c5191b400f741447720", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10375, "upload_time": "2015-09-03T04:24:27", "url": "https://files.pythonhosted.org/packages/b5/90/de8ef3fbfd7d04c90c87d55c5aff5195b29e18efd33fa0289a7f6bd6c343/xml_models2-0.9.0.tar.gz" } ], "0.9.1": [ { "comment_text": "", "digests": { "md5": "3d0b12bc8db6e2aab8b01b136a27d88a", "sha256": "9e0594afe953a70845d019a35667c261d0fa1b093c528f6f653c9b3b85a32074" }, "downloads": -1, "filename": "xml_models2-0.9.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "3d0b12bc8db6e2aab8b01b136a27d88a", "packagetype": "bdist_wheel", "python_version": "3.4", "requires_python": null, "size": 23212, "upload_time": "2015-09-04T06:45:33", "url": "https://files.pythonhosted.org/packages/11/62/cba75a369a36a23e440a2e495ee0568fd32d531a0c436434ec1d9e154e31/xml_models2-0.9.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "c545651e6e4c51e1cc78bb2a2fce88c0", "sha256": "fd90801544197f2d9ef7e5a52edd5b0d3e53263f63d03624ad3acc48c3bb2199" }, "downloads": -1, "filename": "xml_models2-0.9.1.tar.gz", "has_sig": false, "md5_digest": "c545651e6e4c51e1cc78bb2a2fce88c0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10429, "upload_time": "2015-09-04T06:45:40", "url": "https://files.pythonhosted.org/packages/44/ff/0c9ca95897e53fe02d0a1441002e7c5371607932189d27fc8f03dc0840e6/xml_models2-0.9.1.tar.gz" } ], "0.9.2": [ { "comment_text": "", "digests": { "md5": "3f74229a0a81de96d4ecdef17823d729", "sha256": "2295bc2c10b8e7a43b8830d0c8eb74976ff13fb7066646328f04e070e4baac21" }, "downloads": -1, "filename": "xml_models2-0.9.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "3f74229a0a81de96d4ecdef17823d729", "packagetype": "bdist_wheel", "python_version": "3.4", "requires_python": null, "size": 23210, "upload_time": "2015-09-04T06:49:47", "url": "https://files.pythonhosted.org/packages/ec/6f/530bc07952aae6b0d88ba5e4566f46e2edeb0917e0d5756fad5252ccaaba/xml_models2-0.9.2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "4c0cb7b62bdf287688b34473f4464b20", "sha256": "7f54b72983e2dd70a15c63bbf8ab39c4beb452a9dba3a2cc74add77cf8e7e858" }, "downloads": -1, "filename": "xml_models2-0.9.2.tar.gz", "has_sig": false, "md5_digest": "4c0cb7b62bdf287688b34473f4464b20", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10427, "upload_time": "2015-09-04T06:49:53", "url": "https://files.pythonhosted.org/packages/2f/3e/603a99bc3def4c384b270f80d0853f34224a186c11f2078f9e89e28418ee/xml_models2-0.9.2.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "553af082e3015e124b49174a8d743c47", "sha256": "a801a9f0fb2598745b0039d3b88eb4830214d75275906f013055dde81a22e214" }, "downloads": -1, "filename": "xml_models2-0.11.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "553af082e3015e124b49174a8d743c47", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 13086, "upload_time": "2015-10-30T05:36:16", "url": "https://files.pythonhosted.org/packages/b1/69/060b5b9c61538173c356e02d679bce0958e373aec4ab3349a50b5badd2a1/xml_models2-0.11.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "a6659925ed98d1be607bb95e2d94b6c2", "sha256": "45a1704fef9c03962da40b2c4a535eb974fc108c2977f856fcbbd4dae4a8cecd" }, "downloads": -1, "filename": "xml_models2-0.11.1.zip", "has_sig": false, "md5_digest": "a6659925ed98d1be607bb95e2d94b6c2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13539, "upload_time": "2015-10-30T05:36:22", "url": "https://files.pythonhosted.org/packages/56/79/202fe19e3fe8b3c43fc77b74c5f1e9a7106e5060242996ba46ef2093ef89/xml_models2-0.11.1.zip" } ] }