{ "info": { "author": "heweitao", "author_email": "675428202@qq.com", "bugtrack_url": null, "classifiers": [ "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", "Programming Language :: Python :: 3" ], "description": "# PyDeclares\n\nThis library provides a simple API for encoding and decoding declared classes to and from JSON, XML, FORM-DATA or QueryString.\n\nIt's very easy to get started.\n\n## Quickstart\n\n`pip install pydeclares`\n\n```python\nfrom pydeclares import var, Declared\n\nclass Person(Declared):\n\tname = var(str)\n\tage = var(int)\n\n# decode json string\ndata = '{\"name\": \"Tom\", \"age\": 18}'\nperson = Person.from_json(data)\n\nassert person.name == \"Tom\"\nassert person.age == 18\n\n# you can encode to xml after decode json string\nresult = person.to_xml()\n\nassert result == 'Tom18'\n\n# or form-data\nresult = person.to_form_data()\n\nassert result == \"name=Tom&age=18\"\n\n# or query string\nperson = Person(name=\"tom@a\", age=18)\nresult = person.to_query_string()\n\nassert result == \"name=tom%40a&age=18\"\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://github.com/phona/pydeclares", "keywords": "", "license": "", "maintainer": "", "maintainer_email": "", "name": "pydeclares", "package_url": "https://pypi.org/project/pydeclares/", "platform": "", "project_url": "https://pypi.org/project/pydeclares/", "project_urls": { "Homepage": "https://github.com/phona/pydeclares" }, "release_url": "https://pypi.org/project/pydeclares/1.0.3/", "requires_dist": [ "typing-extensions (>=3.7.2) ; python_version < \"3.7\"" ], "requires_python": ">=3.5", "summary": "A tool for provide format and serialize support to json, xml, form data and query string.", "version": "1.0.3", "yanked": false, "yanked_reason": null }, "last_serial": 10853210, "releases": { "0.1": [ { "comment_text": "", "digests": { "md5": "c3dc7f67e9cf2ecd5931459dc9c78aa1", "sha256": "d8caf5986b711c61ee5410d6b092111c7295396c40d0dd28ef1965a64e7fc8c0" }, "downloads": -1, "filename": "pydeclares-0.1.tar.gz", "has_sig": false, "md5_digest": "c3dc7f67e9cf2ecd5931459dc9c78aa1", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9472, "upload_time": "2019-10-11T03:44:46", "upload_time_iso_8601": "2019-10-11T03:44:46.172492Z", "url": "https://files.pythonhosted.org/packages/c7/82/b7fe0dac413ebbe8def763fbfb1948cf92fdb930c2ce7142d20003b28bc8/pydeclares-0.1.tar.gz", "yanked": false, "yanked_reason": null } ], "0.2": [ { "comment_text": "", "digests": { "md5": "a0d27cd04d3f87833cc6678942cea53c", "sha256": "0ae8886e0e90c1b92e6a3e34dee0a2afcc5f650e5a2a35e6045996bd257de4c5" }, "downloads": -1, "filename": "pydeclares-0.2.tar.gz", "has_sig": false, "md5_digest": "a0d27cd04d3f87833cc6678942cea53c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9990, "upload_time": "2019-10-12T09:40:59", "upload_time_iso_8601": "2019-10-12T09:40:59.441865Z", "url": "https://files.pythonhosted.org/packages/b1/4c/99bc8407373df9e142966ec889fdb8cf19d046b8f170a341f448f0b88e3c/pydeclares-0.2.tar.gz", "yanked": false, "yanked_reason": null } ], "0.3": [ { "comment_text": "", "digests": { "md5": "c41d77ca047ed447acb3283bd56a4281", "sha256": "68e0c651a17632090ed66529658b47141987c0e926e1f17de4082bf0ef1fcfda" }, "downloads": -1, "filename": "pydeclares-0.3.tar.gz", "has_sig": false, "md5_digest": "c41d77ca047ed447acb3283bd56a4281", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10094, "upload_time": "2019-10-14T03:24:46", "upload_time_iso_8601": "2019-10-14T03:24:46.792688Z", "url": "https://files.pythonhosted.org/packages/12/9c/efc84aaa0234a852b19036122c73552462fa116d22a832959712e9414d23/pydeclares-0.3.tar.gz", "yanked": false, "yanked_reason": null } ], "0.4": [ { "comment_text": "", "digests": { "md5": "2584f048942e6223fefa347533071803", "sha256": "9ac14a5e54113f34d7ca57b45e52f67aa60bc058a538d8863b8a8aab5b882dfa" }, "downloads": -1, "filename": "pydeclares-0.4.tar.gz", "has_sig": false, "md5_digest": "2584f048942e6223fefa347533071803", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10122, "upload_time": "2019-10-17T03:42:58", "upload_time_iso_8601": "2019-10-17T03:42:58.452816Z", "url": "https://files.pythonhosted.org/packages/86/bb/e99fc0f7b778419da1c4bcb43140c1cc30bd6831a4df986c7899eff62250/pydeclares-0.4.tar.gz", "yanked": false, "yanked_reason": null } ], "0.5": [ { "comment_text": "", "digests": { "md5": "281354e19fb17a058d46f01bab6265ca", "sha256": "c2fccafcdf5694ccd07a6f601a38bfb9d8b2008e7a7c63452a7051ac46a7f90f" }, "downloads": -1, "filename": "pydeclares-0.5.tar.gz", "has_sig": false, "md5_digest": "281354e19fb17a058d46f01bab6265ca", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10150, "upload_time": "2019-10-25T03:13:36", "upload_time_iso_8601": "2019-10-25T03:13:36.305655Z", "url": "https://files.pythonhosted.org/packages/76/c5/fadfca4c71d35394df95194da4cae2fdd9c2ce0afdc88cd819a3535bee10/pydeclares-0.5.tar.gz", "yanked": false, "yanked_reason": null } ], "0.6": [ { "comment_text": "", "digests": { "md5": "64cc12a0a4addf21bb49ffd13487bcfc", "sha256": "f2be801388b1f055bbcc9290161130f6f9e3b58db4c179cae583010a6b3402ec" }, "downloads": -1, "filename": "pydeclares-0.6.tar.gz", "has_sig": false, "md5_digest": "64cc12a0a4addf21bb49ffd13487bcfc", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10167, "upload_time": "2019-10-31T08:13:04", "upload_time_iso_8601": "2019-10-31T08:13:04.725032Z", "url": "https://files.pythonhosted.org/packages/de/4f/c8128003502af5f5c5f5c7d94851939c079e7b632964fc6a7cd2d9a6ce7a/pydeclares-0.6.tar.gz", "yanked": false, "yanked_reason": null } ], "0.6.1": [ { "comment_text": "", "digests": { "md5": "d275f6be94bf3d373d019ae14ab52f8d", "sha256": "3737eec98a9fd4664ce90d31475648693dbea88ea9673ac626033ac2a58237dc" }, "downloads": -1, "filename": "pydeclares-0.6.1.tar.gz", "has_sig": false, "md5_digest": "d275f6be94bf3d373d019ae14ab52f8d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10156, "upload_time": "2019-12-23T06:42:14", "upload_time_iso_8601": "2019-12-23T06:42:14.218891Z", "url": "https://files.pythonhosted.org/packages/0b/6c/f60787ec395dc3ce601bfa0487df03e36aa7f1bc00fbe1a3ca1a33567725/pydeclares-0.6.1.tar.gz", "yanked": false, "yanked_reason": null } ], "0.6.3": [ { "comment_text": "", "digests": { "md5": "1023cb7d831c27591328eb2ec399e8b4", "sha256": "c4946d566c4eeb3579102e11f03135652b9781d188830a2af4d5c346a411ce2c" }, "downloads": -1, "filename": "pydeclares-0.6.3.tar.gz", "has_sig": false, "md5_digest": "1023cb7d831c27591328eb2ec399e8b4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10203, "upload_time": "2020-06-24T07:23:52", "upload_time_iso_8601": "2020-06-24T07:23:52.090254Z", "url": "https://files.pythonhosted.org/packages/07/6a/30809e9202fd566f6086d2d7c91bd49946b31f88dc52cadfbd2970bef4f3/pydeclares-0.6.3.tar.gz", "yanked": false, "yanked_reason": null } ], "1.0.0": [ { "comment_text": "", "digests": { "md5": "a613c929c7033ee4d4eefa063e9cf187", "sha256": "6793385d98a18582008263db9c27f0c27c6257bbb0537357eb2dd02aed7f8e61" }, "downloads": -1, "filename": "pydeclares-1.0.0-py3-none-any.whl", "has_sig": false, "md5_digest": "a613c929c7033ee4d4eefa063e9cf187", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.5", "size": 23182, "upload_time": "2021-01-06T02:02:00", "upload_time_iso_8601": "2021-01-06T02:02:00.856083Z", "url": "https://files.pythonhosted.org/packages/52/b3/3a90933e9aec80748f5c897eb5322394bb6c05ef45b20ee25facc7fcfe76/pydeclares-1.0.0-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "c62605cc8f2afea51f0e0601266c4977", "sha256": "c8befce48d1aca0b1c5a21a7e7cb8d1e136cec46b031aedba398963f92eeb344" }, "downloads": -1, "filename": "pydeclares-1.0.0.tar.gz", "has_sig": false, "md5_digest": "c62605cc8f2afea51f0e0601266c4977", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 18535, "upload_time": "2021-01-06T02:02:03", "upload_time_iso_8601": "2021-01-06T02:02:03.612571Z", "url": "https://files.pythonhosted.org/packages/0b/9b/6bfe817fca7497ce27ed3cc0edcb0ac4bff28272ce0fa3fcbb1f8f555cd7/pydeclares-1.0.0.tar.gz", "yanked": false, "yanked_reason": null } ], "1.0.1": [ { "comment_text": "", "digests": { "md5": "5fb52c350cc146fe5d9e899ab70081b9", "sha256": "c69c4985e1d6ce9af7b0e8e0ced6efc0ba4ecc1ec5bac7e6640ce660307c8d9e" }, "downloads": -1, "filename": "pydeclares-1.0.1-py3-none-any.whl", "has_sig": false, "md5_digest": "5fb52c350cc146fe5d9e899ab70081b9", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.5", "size": 23389, "upload_time": "2021-02-02T09:09:57", "upload_time_iso_8601": "2021-02-02T09:09:57.044018Z", "url": "https://files.pythonhosted.org/packages/a3/91/e752e25ad37a6438f410f2207475bb904f6e3d92b262aabe145795fbbaa9/pydeclares-1.0.1-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "445373c26754217e693843a38a4a1e8c", "sha256": "373ff4dfc8aa37d2edadf2225fc8c84a46070efbf7431c74799c09b458ba502b" }, "downloads": -1, "filename": "pydeclares-1.0.1.tar.gz", "has_sig": false, "md5_digest": "445373c26754217e693843a38a4a1e8c", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 18760, "upload_time": "2021-02-02T09:09:58", "upload_time_iso_8601": "2021-02-02T09:09:58.746788Z", "url": "https://files.pythonhosted.org/packages/aa/f3/041d00378282293ec89e8dd2a903ad27deb1cb0aa9e9a5a2c11230766309/pydeclares-1.0.1.tar.gz", "yanked": false, "yanked_reason": null } ], "1.0.2": [ { "comment_text": "", "digests": { "md5": "eb49462953717e09766a3cf520396370", "sha256": "056c50e03af5d9820d8ac6fa7bcceb40de0f847ec62256b13a4c2a009d6cbdda" }, "downloads": -1, "filename": "pydeclares-1.0.2-py3-none-any.whl", "has_sig": false, "md5_digest": "eb49462953717e09766a3cf520396370", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.5", "size": 23550, "upload_time": "2021-03-24T07:26:26", "upload_time_iso_8601": "2021-03-24T07:26:26.945734Z", "url": "https://files.pythonhosted.org/packages/f3/9b/abe4863b33993eff3eb99914c29779263b703c6c4499dee25a6bc3c2611b/pydeclares-1.0.2-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "316304a052b354d301d338777a8ab264", "sha256": "73ab7730c3bbcfa4334d16f39abf39279cda060d887d186718f162d4bc668ef8" }, "downloads": -1, "filename": "pydeclares-1.0.2.tar.gz", "has_sig": false, "md5_digest": "316304a052b354d301d338777a8ab264", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 18919, "upload_time": "2021-03-24T07:26:29", "upload_time_iso_8601": "2021-03-24T07:26:29.228530Z", "url": "https://files.pythonhosted.org/packages/16/c1/a0547c91c23925418fbdf87cb1a7642df911a06038f07f998a4264adb3c7/pydeclares-1.0.2.tar.gz", "yanked": false, "yanked_reason": null } ], "1.0.3": [ { "comment_text": "", "digests": { "md5": "1d72a3e0fd68cb04743897788a3d57c0", "sha256": "e07811e967509aa64c7be15f01959bb0635b01689f9082ef443a6ef659dd14e3" }, "downloads": -1, "filename": "pydeclares-1.0.3-py3-none-any.whl", "has_sig": false, "md5_digest": "1d72a3e0fd68cb04743897788a3d57c0", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.5", "size": 23798, "upload_time": "2021-07-08T08:13:45", "upload_time_iso_8601": "2021-07-08T08:13:45.156541Z", "url": "https://files.pythonhosted.org/packages/aa/2e/29ab24434f3ca1380e84cc99753658cc170ba4076e215e4a1167a71da8b4/pydeclares-1.0.3-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "e923045b67163f0dd927a544e9c5c90d", "sha256": "e58ac9805bdd94b271d90c9b353cbfee465f135105eb3ddad08b9f65c89b2187" }, "downloads": -1, "filename": "pydeclares-1.0.3.tar.gz", "has_sig": false, "md5_digest": "e923045b67163f0dd927a544e9c5c90d", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 19090, "upload_time": "2021-07-08T08:13:47", "upload_time_iso_8601": "2021-07-08T08:13:47.061105Z", "url": "https://files.pythonhosted.org/packages/38/6c/9913b0a1959bc1c583a37a49cf01ff49b7d8d11679b81519e84f482c7114/pydeclares-1.0.3.tar.gz", "yanked": false, "yanked_reason": null } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "1d72a3e0fd68cb04743897788a3d57c0", "sha256": "e07811e967509aa64c7be15f01959bb0635b01689f9082ef443a6ef659dd14e3" }, "downloads": -1, "filename": "pydeclares-1.0.3-py3-none-any.whl", "has_sig": false, "md5_digest": "1d72a3e0fd68cb04743897788a3d57c0", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.5", "size": 23798, "upload_time": "2021-07-08T08:13:45", "upload_time_iso_8601": "2021-07-08T08:13:45.156541Z", "url": "https://files.pythonhosted.org/packages/aa/2e/29ab24434f3ca1380e84cc99753658cc170ba4076e215e4a1167a71da8b4/pydeclares-1.0.3-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "e923045b67163f0dd927a544e9c5c90d", "sha256": "e58ac9805bdd94b271d90c9b353cbfee465f135105eb3ddad08b9f65c89b2187" }, "downloads": -1, "filename": "pydeclares-1.0.3.tar.gz", "has_sig": false, "md5_digest": "e923045b67163f0dd927a544e9c5c90d", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 19090, "upload_time": "2021-07-08T08:13:47", "upload_time_iso_8601": "2021-07-08T08:13:47.061105Z", "url": "https://files.pythonhosted.org/packages/38/6c/9913b0a1959bc1c583a37a49cf01ff49b7d8d11679b81519e84f482c7114/pydeclares-1.0.3.tar.gz", "yanked": false, "yanked_reason": null } ], "vulnerabilities": [] }