{ "info": { "author": "tao.py", "author_email": "taojy123@163.com", "bugtrack_url": null, "classifiers": [ "Programming Language :: Python", "Programming Language :: Python :: 2", "Programming Language :: Python :: 3", "Programming Language :: Python :: Implementation", "Topic :: Software Development :: Libraries" ], "description": "# easyserializer\n\n\n[![PyPI Downloads](https://pypistats.com/badge/easyserializer.png)](https://pypistats.com/package/easyserializer)\n\n\n\u7b80\u6613\u5bf9\u8c61\u5e8f\u5217\u5316\u5de5\u5177\nserialize a object \n\n\n```\n$ pip install easyserializer\n```\n\n```python\n\nfrom easyserializer import SerializeableObject, obj_to_dict, obj_to_json, serialize\nimport datetime\n\nclass Student(object):\n role = 'student'\n\n def __init__(self, name, birthday):\n self.name = name\n self.birthday = birthday\n\n @property\n def age(self):\n return int(((datetime.datetime.now().date() - self.birthday).days) / 365)\n \n\nclass Teacher(SerializeableObject):\n role = 'teacher'\n\n def __init__(self, name, subject, students):\n self.name = name\n self.subject = subject\n self.students = students\n\ns0 = Student('Dad', datetime.date(1963, 7, 28))\ns1 = Student('Mom', datetime.date(1964, 11, 2))\nt = Teacher('Tao', 'physics', [s0, s1])\n\n# =============== \u4f20\u53c2\u8bf4\u660e =================\n# filter_fields: \u6307\u5b9a\u8f93\u51fa\u5b57\u6bb5\uff0c\u53ef\u4f7f\u7528 list \u548c dict \u4e24\u79cd\u4f20\u53c2\u5f62\u5f0f\n# \u793a\u4f8b: obj_to_dict(obj, 'field1', 'field2', filter_fields=['field3', 'field4'])\n# \u9ed8\u8ba4\u4e3a\u8f93\u51fa\u6240\u6709\u5b57\u6bb5\n# exclude_fields: \u8fc7\u6ee4\u4e0d\u8981\u8f93\u51fa\u5b57\u6bb5\n# limit_deep: \u9650\u5236\u9012\u5f52\u6df1\u5ea6, \u9ed8\u8ba45\u5c42. \u8bbe\u4e3a0\u5219\u4e0d\u9650\u5236\u9012\u5f52\u6df1\u5ea6(\u4e0d\u5efa\u8bae\u8fd9\u4e48\u505a!)\n# prune: \u7cbe\u7b80\u6a21\u5f0f(\u53ea\u53d6 `__dict__` \u4e2d\u7684\u5b57\u6bb5, \u9ed8\u8ba4\u4e0d\u5f00\u542f)\n\n# \u7ee7\u627f\u81ea SerializeableObject \u7684\u5bf9\u8c61\u76f4\u63a5\u8c03\u7528 serialize \u65b9\u6cd5\uff0c\u8be5\u5bf9\u8c61\u8f6c\u6362\u4e3a dict \u8fd4\u56de\nprint(t.serialize())\nprint(t.serialize('name', 'students'))\n\n\n# \u8c03\u7528\u5bf9\u8c61\u7684 to_json \u65b9\u6cd5\uff0c\u5bf9\u8c61\u4ee5 json \u5b57\u7b26\u4e32\u5f62\u5f0f\u8fd4\u56de (\u53ef\u4f20\u5165 json.dump \u7684\u53c2\u6570\u5982 `indent`)\nprint(t.to_json())\nprint(t.to_json(exclude_fields=['role'], indent=4))\n\n# \u4e5f\u53ef\u4ee5\u76f4\u63a5\u4f7f\u7528 obj_to_dict, obj_to_json \u8fd9\u4e9b\u51fd\u6570\nprint(obj_to_dict(t, limit_deep=2))\nprint(obj_to_json(t, prune=True, indent=4))\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/taojy123/EasySerializer", "keywords": "", "license": "MIT License", "maintainer": "tao.py", "maintainer_email": "taojy123@163.com", "name": "easyserializer", "package_url": "https://pypi.org/project/easyserializer/", "platform": "all", "project_url": "https://pypi.org/project/easyserializer/", "project_urls": { "Homepage": "https://github.com/taojy123/EasySerializer" }, "release_url": "https://pypi.org/project/easyserializer/0.2.15/", "requires_dist": null, "requires_python": "", "summary": "serialize a object | \u7b80\u6613\u5bf9\u8c61\u5e8f\u5217\u5316\u5de5\u5177", "version": "0.2.15" }, "last_serial": 5664522, "releases": { "0.2.0": [ { "comment_text": "", "digests": { "md5": "0e3015310a39e9b01e0aed7d86f9ab4c", "sha256": "8bf03a730c86a11a596a4a9c83bdc8a199402f4d305815b3798efeaf2d90eded" }, "downloads": -1, "filename": "easyserializer-0.2.0.tar.gz", "has_sig": false, "md5_digest": "0e3015310a39e9b01e0aed7d86f9ab4c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2941, "upload_time": "2018-07-23T08:36:51", "url": "https://files.pythonhosted.org/packages/67/6c/69c927460b0db2ba60e9d5c8ca0c9b9a740b41df7c9ba39640e097aed871/easyserializer-0.2.0.tar.gz" } ], "0.2.1": [ { "comment_text": "", "digests": { "md5": "7e3056f1da8df71108da2a9a7a110bf6", "sha256": "8430fa6a288727c61fabc112674cdac3f2f528d91b4107843befe829b656d18c" }, "downloads": -1, "filename": "easyserializer-0.2.1.tar.gz", "has_sig": false, "md5_digest": "7e3056f1da8df71108da2a9a7a110bf6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3031, "upload_time": "2018-07-30T06:49:58", "url": "https://files.pythonhosted.org/packages/7f/dc/284ae478e18f986e66064402c6c6f3b289936f89c92a311b85cb5f8cb7a6/easyserializer-0.2.1.tar.gz" } ], "0.2.10": [ { "comment_text": "", "digests": { "md5": "7a5f137a47803e352c00673abda49b4d", "sha256": "52a910b1b433a2aed5d725f51472a9b416b532fb5aae76826b3a73a6e48883ff" }, "downloads": -1, "filename": "easyserializer-0.2.10.tar.gz", "has_sig": false, "md5_digest": "7a5f137a47803e352c00673abda49b4d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3549, "upload_time": "2019-06-25T12:41:49", "url": "https://files.pythonhosted.org/packages/c5/34/64e0197c56145224e79b3a86a6f45dedd5e9df2f8ea4d5a006f71fab0ee2/easyserializer-0.2.10.tar.gz" } ], "0.2.11": [ { "comment_text": "", "digests": { "md5": "e27c536af450b8f18f0d8bad1258e04d", "sha256": "ddcdb39679e4f9d47a258d7571fc2170130f7c2f5bf3cd2a9aeb94fe9ccea96a" }, "downloads": -1, "filename": "easyserializer-0.2.11.tar.gz", "has_sig": false, "md5_digest": "e27c536af450b8f18f0d8bad1258e04d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3581, "upload_time": "2019-06-25T12:53:06", "url": "https://files.pythonhosted.org/packages/60/80/6eed096d105aaa6f4062f0861cfc9dacaf5c40d577a954c0262a1ddac776/easyserializer-0.2.11.tar.gz" } ], "0.2.12": [ { "comment_text": "", "digests": { "md5": "0b26171ee656b59e5c4bbb3909979778", "sha256": "4cdc9b082e0804d75a74acf8580baa37592858b7c674298fc6be7b87004431e5" }, "downloads": -1, "filename": "easyserializer-0.2.12.tar.gz", "has_sig": false, "md5_digest": "0b26171ee656b59e5c4bbb3909979778", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3589, "upload_time": "2019-06-25T13:02:26", "url": "https://files.pythonhosted.org/packages/be/1f/b4ae814aaf65ef896c87cbcff8f75504d2af482714ddade6ad26b19d0aaf/easyserializer-0.2.12.tar.gz" } ], "0.2.13": [ { "comment_text": "", "digests": { "md5": "4fe5e44b32522de659a366a053049ecf", "sha256": "171923da6343162efeb62048f96c8748ce2683fdc2c7baff54bce8d17c1ac983" }, "downloads": -1, "filename": "easyserializer-0.2.13.tar.gz", "has_sig": false, "md5_digest": "4fe5e44b32522de659a366a053049ecf", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3611, "upload_time": "2019-06-26T08:07:42", "url": "https://files.pythonhosted.org/packages/be/b0/795c51bec1c6ed3f277a8bfac1bdb34d544260b08ced7a33e74581af4e95/easyserializer-0.2.13.tar.gz" } ], "0.2.14": [ { "comment_text": "", "digests": { "md5": "f8c61cfb7335728abad60610f7c26bb1", "sha256": "7e8170d1410629d2b956cfff044244b8c250665ebd21bd4ff372c75d3abbd040" }, "downloads": -1, "filename": "easyserializer-0.2.14.tar.gz", "has_sig": false, "md5_digest": "f8c61cfb7335728abad60610f7c26bb1", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3622, "upload_time": "2019-08-12T07:41:15", "url": "https://files.pythonhosted.org/packages/da/95/a66b75cc21a691b3a02e7c9ae44e5b93637ce3ed299d32fcc5d531db53f2/easyserializer-0.2.14.tar.gz" } ], "0.2.15": [ { "comment_text": "", "digests": { "md5": "eb36b5d5bd6282552507bf7a26571f42", "sha256": "876b02a93558ebb0be4c0e8521b5ecb683fb81e77992729ef2ff9eecb055af23" }, "downloads": -1, "filename": "easyserializer-0.2.15.tar.gz", "has_sig": false, "md5_digest": "eb36b5d5bd6282552507bf7a26571f42", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3758, "upload_time": "2019-08-12T07:42:59", "url": "https://files.pythonhosted.org/packages/b9/d1/349b873578da3152f0161e5735fe50f0d714728f851f51c3ab59e9ffff68/easyserializer-0.2.15.tar.gz" } ], "0.2.2": [ { "comment_text": "", "digests": { "md5": "cf0758938d4a3b138aff40d4117549bc", "sha256": "42b7bd26d1228480a5bf78450629e1f7d7472fbe502ced69b6282cbc90614169" }, "downloads": -1, "filename": "easyserializer-0.2.2.tar.gz", "has_sig": false, "md5_digest": "cf0758938d4a3b138aff40d4117549bc", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3038, "upload_time": "2018-07-30T09:32:15", "url": "https://files.pythonhosted.org/packages/02/d4/4632a6a10211e46b762509fb07790dd3be34dd49d738cf79424b6abc4439/easyserializer-0.2.2.tar.gz" } ], "0.2.3": [ { "comment_text": "", "digests": { "md5": "a05f8d93f63b7b4dbe37784648280b90", "sha256": "55fa2e80c46da519240b1b08a5489011fd0ee295e863426e6946c25208049418" }, "downloads": -1, "filename": "easyserializer-0.2.3.tar.gz", "has_sig": false, "md5_digest": "a05f8d93f63b7b4dbe37784648280b90", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3080, "upload_time": "2018-08-03T05:48:56", "url": "https://files.pythonhosted.org/packages/95/6a/aba7a76eee93680b6699fc78cf6488d15bf950b8a9180a6c1deb5b4403af/easyserializer-0.2.3.tar.gz" } ], "0.2.4": [ { "comment_text": "", "digests": { "md5": "de4c73e38ecf1e296c967ba677305507", "sha256": "f4f05096051458496559485a78c6f0472abdc01768d7cdb4613c38ff1de78130" }, "downloads": -1, "filename": "easyserializer-0.2.4.tar.gz", "has_sig": false, "md5_digest": "de4c73e38ecf1e296c967ba677305507", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3099, "upload_time": "2018-08-03T06:03:00", "url": "https://files.pythonhosted.org/packages/31/a2/1ae7bad73ca2a5f6f9d5a0bd54d9f8b2d0f72c42f35e24f3497ebc08a86c/easyserializer-0.2.4.tar.gz" } ], "0.2.5": [ { "comment_text": "", "digests": { "md5": "d6ad407bb02cb54ff5a17a6a2e94a58e", "sha256": "4d04f3a28e0aa426648bc197aa8c52aba532ca610e9c4fe7e84dda013db96fd3" }, "downloads": -1, "filename": "easyserializer-0.2.5.tar.gz", "has_sig": false, "md5_digest": "d6ad407bb02cb54ff5a17a6a2e94a58e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3104, "upload_time": "2018-08-03T10:38:03", "url": "https://files.pythonhosted.org/packages/ea/73/2b87a65e97793e528cf03a95572fad391f10f96225c25e54d889f76cea4a/easyserializer-0.2.5.tar.gz" } ], "0.2.6": [ { "comment_text": "", "digests": { "md5": "55eb7760fc7298e5d1ee476bd6e3ea75", "sha256": "bd15a853abea3f7655a4b9b34a98daa6f27f7c1b8bee680940b2cb0348ec598f" }, "downloads": -1, "filename": "easyserializer-0.2.6.tar.gz", "has_sig": false, "md5_digest": "55eb7760fc7298e5d1ee476bd6e3ea75", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3096, "upload_time": "2018-08-03T14:20:39", "url": "https://files.pythonhosted.org/packages/2a/7f/8af33cc5b234dd10a063ca9bb2ca44ebdb2479c8b1fc79ddffe9b49438fa/easyserializer-0.2.6.tar.gz" } ], "0.2.7": [ { "comment_text": "", "digests": { "md5": "c72d9dc37373e7d5cb89b1d063fd6c49", "sha256": "7ba23205126c022155585e5ff6d80126e6e06f35eef21306cc0869dcb52cc02b" }, "downloads": -1, "filename": "easyserializer-0.2.7.tar.gz", "has_sig": false, "md5_digest": "c72d9dc37373e7d5cb89b1d063fd6c49", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3082, "upload_time": "2018-08-13T02:46:32", "url": "https://files.pythonhosted.org/packages/31/d1/ade887f19f5d1c019aebf23d7234448f0cc0d998dff521c4c209a7ebc236/easyserializer-0.2.7.tar.gz" } ], "0.2.8": [ { "comment_text": "", "digests": { "md5": "5687924316d539b2602c6e6110d25a4f", "sha256": "7937e242f1023321dc603628f3fd5e6dff44cbf3f2687ed92ce349fc21639e55" }, "downloads": -1, "filename": "easyserializer-0.2.8.tar.gz", "has_sig": false, "md5_digest": "5687924316d539b2602c6e6110d25a4f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3039, "upload_time": "2019-06-19T03:06:36", "url": "https://files.pythonhosted.org/packages/5e/4f/91758f450dbe5d968a11f6f56107c578da2815f46cf220206abed9447a26/easyserializer-0.2.8.tar.gz" } ], "0.2.9": [ { "comment_text": "", "digests": { "md5": "554dcd916babae2ff564f5993293385c", "sha256": "cc692c61ebe393c65db4cf2ac9ca3287cac528711ff37d13002ee2ff5540c98e" }, "downloads": -1, "filename": "easyserializer-0.2.9.tar.gz", "has_sig": false, "md5_digest": "554dcd916babae2ff564f5993293385c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3497, "upload_time": "2019-06-19T05:34:25", "url": "https://files.pythonhosted.org/packages/03/d6/759004ff340bacf37a4d364ee9fe6b99e1e4d61e4983d7d529202e83c19b/easyserializer-0.2.9.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "eb36b5d5bd6282552507bf7a26571f42", "sha256": "876b02a93558ebb0be4c0e8521b5ecb683fb81e77992729ef2ff9eecb055af23" }, "downloads": -1, "filename": "easyserializer-0.2.15.tar.gz", "has_sig": false, "md5_digest": "eb36b5d5bd6282552507bf7a26571f42", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3758, "upload_time": "2019-08-12T07:42:59", "url": "https://files.pythonhosted.org/packages/b9/d1/349b873578da3152f0161e5735fe50f0d714728f851f51c3ab59e9ffff68/easyserializer-0.2.15.tar.gz" } ] }