{ "info": { "author": "J. Koffi ONIPOH", "author_email": "jolli644@gmail.com", "bugtrack_url": null, "classifiers": [ "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", "Programming Language :: Python", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.1", "Programming Language :: Python :: 3.2", "Programming Language :: Python :: 3.3", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7" ], "description": "[![PyPI version](https://badge.fury.io/py/smartjson.svg)](https://pypi.org/project/smartjson/)\r\n[![PyPI version](https://img.shields.io/pypi/pyversions/smartjson.svg)](https://pypi.org/project/smartjson/)\r\n[![PyPI version](https://img.shields.io/pypi/dm/smartjson.svg)](https://pypi.org/project/smartjson/)\r\n\r\n\r\n[![PyPI install](https://img.shields.io/badge/Link-Install-blue.svg)](https://pypi.org/project/smartjson/)\r\n[![PyPI version](https://img.shields.io/badge/Link-GitHub-blue.svg)](https://github.com/koffiisen/SmartJson)\r\n[![PyPI download](https://img.shields.io/badge/Link-Download-blue.svg)](https://pypi.org/pypi/smartjson#files)\r\n\r\n* ``BigQuery | Google cloud`` [<==>](https://cloud.google.com/bigquery/) \r\n\r\n[![Downloads](https://pepy.tech/badge/smartjson)](https://pepy.tech/project/smartjson)\r\n[![Downloads](https://pepy.tech/badge/smartjson/month)](https://pepy.tech/project/smartjson/month)\r\n[![Downloads](https://pepy.tech/badge/smartjson/week)](https://pepy.tech/project/smartjson/week)\r\n\r\n### Python libraries to convert class to json, object and dict to Json and Json to Object ([SmartJson](https://github.com/koffiisen/SmartJson))\r\n\r\n[SmartJson](https://github.com/koffiisen/SmartJson) is a simple tool to convert any class or dict to JSON and convert json to Object.\r\n\r\nDocumentation\r\n===============================================================================\r\nFeatures: \r\n## ``version (2.0.3) ``\r\n* update list serialization\r\n\r\n## ``version (2.0.2) ``\r\n* Fix script\r\n* Add script support enumeration (``enum``)\r\n* Already support type : * ``class``\r\n * ``date``\r\n * ``datetime``\r\n * ``set``\r\n * ``OrderedDict``\r\n * ``deque``\r\n * ``list``\r\n * ``int``\r\n * ``float``\r\n * ``bool``\r\n * ``complex``\r\n * ``tuple``\r\n * ``str``\r\n * ``dict``\r\n * ``bytes``\r\n * ``None``\r\n* ### ex :\r\n ```python\r\n from enum import Enum, IntEnum\r\n from scripts import SmartJson\r\n\r\n class LoggerLevel(Enum):\r\n CRITICAL = 'CRITICAL'\r\n ERROR = 'ERROR'\r\n WARNING = 'WARNING'\r\n INFO = 'INFO'\r\n DEBUG = 'DEBUG'\r\n NOTSET = \"NOTSET\"\r\n\r\n\r\n class Status(IntEnum):\r\n success = 0\r\n failure = 1\r\n\r\n print(SmartJson({'Log': LoggerLevel, 'Stat': Status}).serialize())\r\n ```\r\n* ### output :\r\n ```json\r\n\r\n {\r\n \"Log\": [\r\n {\r\n \"CRITICAL\": \"CRITICAL\",\r\n \"DEBUG\": \"DEBUG\",\r\n \"ERROR\": \"ERROR\",\r\n \"INFO\": \"INFO\",\r\n \"NOTSET\": \"data\",\r\n \"WARNING\": \"WARNING\"\r\n }\r\n ],\r\n \"Stat\": [\r\n {\r\n \"failure\": 1,\r\n \"success\": 0\r\n }\r\n ]\r\n }\r\n\r\n ```\r\n\r\n\r\n## ``version (2.0.1) ``\r\n* Fix script\r\n* update complex serialization\r\n* Add new method ([`serializeToJsonFile`]()) ``convert your class to json file``\r\n* [dict]() : ``Default parameter directory=\"output\", filename=\"smart.json\" ``\r\n* [class]() : ``Default parameter directory=\"output\", filename=\"className.json\"``\r\n\r\n* ### ex :\r\n - ``SmartJson(Test()).serializeToJsonFile(directory=\"yourPath\", filename=\"MyFileName.json\")``\r\n\r\n - ``SmartJson(Test()).serializeToJsonFile() :=> (output) :=> outpout/Test.json ``\r\n\r\n## ``version (2.0.0) ``\r\n**Support** : \r\n* ``Class``\r\n* ``date``\r\n* ``datetime``\r\n* ``set``\r\n* ``OrderedDict``\r\n* ``deque``\r\n* ``list``\r\n* ``int``\r\n* ``float``\r\n* ``bool``\r\n* ``complex``\r\n* ``tuple``\r\n* ``str``\r\n* ``dict``\r\n* ``bytes``\r\n* ``None``\r\n\r\n\r\n ``Install``\r\n------------------------------------------------------------------------------\r\n\r\n``smartjson`` is released on PyPI, so all you need is:\r\n\r\n $ pip install smartjson\r\n\r\nTo upgrade to latest version:\r\n\r\n $ pip install --upgrade smartjson\r\n\r\n\r\n# Usage\r\n\r\n## Requirements\r\n\r\n[Python >= 2.7](https://www.python.org/downloads/) must be installed.\r\n\r\n## Parameters\r\n\r\n* `class or object or dict`: you want to convert to json\r\n\r\n## Project structure:\r\n\r\n* `scripts` - source code of a package\r\n* `example.py` - working examples\r\n\r\n## Contribute\r\n\r\n1. If unsure, open an issue for a discussion\r\n1. Create a fork\r\n1. Make your change\r\n1. Make a pull request\r\n1. Happy contribution!\r\n\r\n## EXAMPLE\r\n\r\n### Class\r\n\r\n```python\r\nimport datetime\r\nfrom collections import deque, OrderedDict\r\nfrom scripts.__smart_json__ import SmartJson\r\n\r\n\r\nclass Test:\r\n def __init__(self):\r\n self.test = \"none\"\r\n self.id = 2\r\n self.date = datetime.datetime.now()\r\n self.tuple = [((1, 'a'), (2, 'b'))]\r\n\r\n\r\ndata = {\r\n \"int\": 1,\r\n \"str\": \"SmartJson\",\r\n \"bytes\": \"pip install smartjson\".encode(\"utf-8\"),\r\n \"date\": datetime.date(2010, 1, 1),\r\n \"datetime\": datetime.datetime(2020, 1, 1, 18, 30, 0, 500),\r\n \"pull\": Test(),\r\n \"set\": ([\"1\", 12, datetime.datetime.now()]),\r\n \"list\": [datetime.datetime.now(), Test()],\r\n \"ordereddict\": OrderedDict([\r\n (\"b\", OrderedDict([(\"b\", Test()), (\"a\", datetime.datetime.now())])),\r\n (\"a\", OrderedDict([(\"b\", 1), (\"a\", [((1, 'a'), (datetime.datetime.now(), 'b'))])])),\r\n ]),\r\n \"deque\": deque([\r\n deque([1, 2]),\r\n deque([3, 4]),\r\n ])\r\n}\r\n\r\n\r\nclass Pull:\r\n def __init__(self):\r\n self.id = 2\r\n self.title = \"Iam pull\"\r\n self.author = \"Joel O.\"\r\n self.subPull = Pull.SubPull()\r\n self.data = data\r\n self.date = datetime.datetime.now()\r\n self.list = [1, datetime.datetime.now(), Pull.SubPull()]\r\n\r\n class SubPull:\r\n def __init__(self):\r\n self.subId = 3\r\n self.subTitle = \"I am sub title\"\r\n self.subAuthor = \"OKJ.\"\r\n self.date = datetime.date(2010, 1, 1)\r\n\r\n# Example\r\nmy_json = SmartJson(data).serialize()\r\nprint(my_json)\r\n\r\n```\r\n\r\n### Output: \r\n```json\r\n{\r\n \"bytes\": \"pip install smartjson\",\r\n \"date\": \"2010-01-01\",\r\n \"datetime\": \"2020-01-01 18:30:00.000500\",\r\n \"deque\": {\r\n \"1\": 2,\r\n \"3\": 4\r\n },\r\n \"int\": 1,\r\n \"list\": [\r\n \"2019-10-01 19:39:01.916122\",\r\n {\r\n \"date\": \"2019-10-01 19:39:01.916122\",\r\n \"id\": 2,\r\n \"test\": \"none\",\r\n \"tuple\": [\r\n [\r\n [\r\n 1,\r\n \"a\"\r\n ],\r\n [\r\n 2,\r\n \"b\"\r\n ]\r\n ]\r\n ]\r\n }\r\n ],\r\n \"ordereddict\": {\r\n \"a\": {\r\n \"a\": [\r\n [\r\n [\r\n 1,\r\n \"a\"\r\n ],\r\n [\r\n \"2019-10-01 19:39:01.916122\",\r\n \"b\"\r\n ]\r\n ]\r\n ],\r\n \"b\": 1\r\n },\r\n \"b\": {\r\n \"a\": \"2019-10-01 19:39:01.916122\",\r\n \"b\": {\r\n \"date\": \"2019-10-01 19:39:01.916122\",\r\n \"id\": 2,\r\n \"test\": \"none\",\r\n \"tuple\": [\r\n [\r\n [\r\n 1,\r\n \"a\"\r\n ],\r\n [\r\n 2,\r\n \"b\"\r\n ]\r\n ]\r\n ]\r\n }\r\n }\r\n },\r\n \"pull\": {\r\n \"date\": \"2019-10-01 19:39:01.916122\",\r\n \"id\": 2,\r\n \"test\": \"none\",\r\n \"tuple\": [\r\n [\r\n [\r\n 1,\r\n \"a\"\r\n ],\r\n [\r\n 2,\r\n \"b\"\r\n ]\r\n ]\r\n ]\r\n },\r\n \"set\": [\r\n \"1\",\r\n 12,\r\n \"2019-10-01 19:39:01.916122\"\r\n ],\r\n \"str\": \"SmartJson\"\r\n}\r\n```\r\n### Json to Object\r\n```text\r\n\r\nobjFromFile = smart_json.toObjectFromFile(\"jobs.json\")\r\nobj = smart_json.toObject('{\"people\":[{\"name\":\"Scott\", \"website\":\"stackabuse.com\", \"from\":\"Nebraska\"}]}')\r\nobj2 = smart_json.toObject({'item': 'Beer', 'cost': '\u00a34.00'})\r\n\r\nprint(obj2.item, obj2.cost)\r\nprint(objFromFile.job.item.another.precision)\r\nprint(obj.people[0].name, obj.people[0].website)\r\n\r\n# Beer \u00a34.00\r\n# 99.56\r\n# Scott stackabuse.com\r\n\r\n```\r\n### For support or coffee :)\r\n\r\n[![screenshot](https://github.com/koffiisen/SmartJson/blob/master/bymecoffee.PNG?raw=true) ](https://www.paypal.me/smartjson)\r\n\r\n## Author : [Koffi Joel O.](https://github.com/koffiisen)\r\n\r\n\r\n\r\n\r\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/koffiisen/SmartJson", "keywords": "Json,Class,Object to json,Class to json,json to object,json to class,Tool,convert Class,Python libraries to convert class to json,library to convert class to json python,object and dict,to Json,Json to Object,Class,date,datetime,set,OrderedDict,deque,list,enum,int,float,bool,complex,tuple,str,dict,bytes,None", "license": "", "maintainer": "", "maintainer_email": "", "name": "smartjson", "package_url": "https://pypi.org/project/smartjson/", "platform": "", "project_url": "https://pypi.org/project/smartjson/", "project_urls": { "Homepage": "https://github.com/koffiisen/SmartJson" }, "release_url": "https://pypi.org/project/smartjson/2.0.3/", "requires_dist": null, "requires_python": ">=2.7", "summary": "Python libraries to convert class to json or Tool to convert Class, object and dict to Json and Json to Object", "version": "2.0.3" }, "last_serial": 5929089, "releases": { "0.0.1": [ { "comment_text": "", "digests": { "md5": "44ad04a2b0f71d6d0ed2f1d615be6c26", "sha256": "99662a257b2c04bd76b007a074e3933178cdd6dcaca52850d3cd7fef110de501" }, "downloads": -1, "filename": "smartjson-0.0.1-py2-none-any.whl", "has_sig": false, "md5_digest": "44ad04a2b0f71d6d0ed2f1d615be6c26", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": ">=3", "size": 4919, "upload_time": "2019-09-30T20:20:50", "url": "https://files.pythonhosted.org/packages/97/09/93d08e9b9342370e9be469178e8293a9b4ee684861fa235515d1a12f5170/smartjson-0.0.1-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "131ee98f48eff12129832698ff19d83d", "sha256": "f56a95b9640d1d66d4bdd60482fe2ddec32746c92ec684c65e32203dfc66d5d1" }, "downloads": -1, "filename": "smartjson-0.0.1.tar.gz", "has_sig": false, "md5_digest": "131ee98f48eff12129832698ff19d83d", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3", "size": 4201, "upload_time": "2019-09-30T20:20:51", "url": "https://files.pythonhosted.org/packages/6c/c0/a0cfd7da35e49729e3f81fdee2574b9f6f2933b24831a6255f9135402c61/smartjson-0.0.1.tar.gz" } ], "0.0.2": [ { "comment_text": "", "digests": { "md5": "5727272eea10ed302d03c9c33a2d90d6", "sha256": "21b0a427b411f674cae480e7060dbaffe46b6e99cb60d72c43a5c7e3e0148f35" }, "downloads": -1, "filename": "smartjson-0.0.2-py2-none-any.whl", "has_sig": false, "md5_digest": "5727272eea10ed302d03c9c33a2d90d6", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": ">=2.7", "size": 4873, "upload_time": "2019-09-30T20:36:10", "url": "https://files.pythonhosted.org/packages/49/45/7738c6c123b3a1df0b2bd76278881e6f19e4edd6c164a24478a7345212d7/smartjson-0.0.2-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "edc46a0b34dd1f7069d128918b1df18a", "sha256": "4464637f7e7ab4ea345defd56c00cc41193aceafa8eca1c8e32efc93c5d093dc" }, "downloads": -1, "filename": "smartjson-0.0.2.tar.gz", "has_sig": false, "md5_digest": "edc46a0b34dd1f7069d128918b1df18a", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.7", "size": 4156, "upload_time": "2019-09-30T20:36:13", "url": "https://files.pythonhosted.org/packages/99/05/32bf5a0d1425fe36d685687bd0ab79c3d958f902007e0b5a4f99ee437272/smartjson-0.0.2.tar.gz" } ], "0.0.3": [ { "comment_text": "", "digests": { "md5": "c35d08565f4d885d3ad0dd2e0b737e10", "sha256": "52ee030d5f6f05bff1c0642843509c8d92d1cb1ba6d4e97fd0dabbd9521f7df7" }, "downloads": -1, "filename": "smartjson-0.0.3-py2-none-any.whl", "has_sig": false, "md5_digest": "c35d08565f4d885d3ad0dd2e0b737e10", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": ">=2.7", "size": 4878, "upload_time": "2019-09-30T20:41:54", "url": "https://files.pythonhosted.org/packages/04/fb/6c353ce77e31ad379166f78da433a114ec55908797d4a803a1ad61889c78/smartjson-0.0.3-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "38a071ec2229ad19e437c78a63ba0895", "sha256": "ad2a5318b865a48486bc61fba7af7a46498d79ed9a6479f62c2da5ec82ebccf6" }, "downloads": -1, "filename": "smartjson-0.0.3.tar.gz", "has_sig": false, "md5_digest": "38a071ec2229ad19e437c78a63ba0895", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.7", "size": 4156, "upload_time": "2019-09-30T20:41:58", "url": "https://files.pythonhosted.org/packages/59/0e/83739aba6bbfbc8ea7f7282e2307f7b9948126c74698f41a4e32ae2a227f/smartjson-0.0.3.tar.gz" } ], "2.0.0": [ { "comment_text": "", "digests": { "md5": "0bfc05f6cd691decc2b15bdb2fa9fbfe", "sha256": "c9974c9059eefee50b57c2f609e7e58a0e01b81f4aee9e4a7bf4b4acb29da145" }, "downloads": -1, "filename": "smartjson-2.0.0-py2-none-any.whl", "has_sig": false, "md5_digest": "0bfc05f6cd691decc2b15bdb2fa9fbfe", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": ">=2.7", "size": 6001, "upload_time": "2019-10-01T18:29:04", "url": "https://files.pythonhosted.org/packages/44/0f/f3c8244c6fcdba5dc49758ea222473c242b680d42a7de2a2284497e8bb99/smartjson-2.0.0-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "8fbc8c459a24f93464edc83350a0af0d", "sha256": "3870b369409062d2dbf7aaffded481797cddd859f18709ad4aa7cb85f568d3fd" }, "downloads": -1, "filename": "smartjson-2.0.0.tar.gz", "has_sig": false, "md5_digest": "8fbc8c459a24f93464edc83350a0af0d", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.7", "size": 6298, "upload_time": "2019-10-01T18:29:06", "url": "https://files.pythonhosted.org/packages/77/74/30e365b8d557a5456e17c00d2cca946c16754dce824f060fbe27581a4c15/smartjson-2.0.0.tar.gz" } ], "2.0.1": [ { "comment_text": "", "digests": { "md5": "bb4175c7cd6ac1923b7ba567b74539f0", "sha256": "08173dee573f0cd91702e3445edea8e206b9f1bc5eaa7a8951ac1bf761dc0d36" }, "downloads": -1, "filename": "smartjson-2.0.1-py2-none-any.whl", "has_sig": false, "md5_digest": "bb4175c7cd6ac1923b7ba567b74539f0", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": ">=2.7", "size": 6624, "upload_time": "2019-10-03T06:13:36", "url": "https://files.pythonhosted.org/packages/a4/96/97ae8ac71acf565ac1705bf6ed7dce51de1d08401be1c9af3f1b348f47f8/smartjson-2.0.1-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "6db81c104a421455d47509af82d8abff", "sha256": "54509687366005a5ea10e06f2a763e314ddcfe87fb5d7d7164a767689587fe56" }, "downloads": -1, "filename": "smartjson-2.0.1.tar.gz", "has_sig": false, "md5_digest": "6db81c104a421455d47509af82d8abff", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.7", "size": 7250, "upload_time": "2019-10-03T06:13:38", "url": "https://files.pythonhosted.org/packages/96/8b/a3e968f842f2c18b5fff1e5ad83d7abdf6dab11282f362c382952f9dd8b1/smartjson-2.0.1.tar.gz" } ], "2.0.2": [ { "comment_text": "", "digests": { "md5": "33057865dba77ac3d2eeb72324a39176", "sha256": "419847d6cddd0c40dd7d80ee04a289c2791711c00c135b93c4bc96a8770fbc20" }, "downloads": -1, "filename": "smartjson-2.0.2-py2-none-any.whl", "has_sig": false, "md5_digest": "33057865dba77ac3d2eeb72324a39176", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": ">=2.7", "size": 7551, "upload_time": "2019-10-03T17:08:46", "url": "https://files.pythonhosted.org/packages/9d/f4/76b103b515d6df2b95b6c50f7b71f7f7f7f8fa23ccae5bfe764e22fd4187/smartjson-2.0.2-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "31e48177630e61fe6dfad739d75f43f9", "sha256": "15f537357e56da1a8cf87dd875ae3e4f76b6af3d3b6fa78ee1c3179fa71092a4" }, "downloads": -1, "filename": "smartjson-2.0.2.tar.gz", "has_sig": false, "md5_digest": "31e48177630e61fe6dfad739d75f43f9", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.7", "size": 9472, "upload_time": "2019-10-03T17:08:48", "url": "https://files.pythonhosted.org/packages/6b/f7/ee24345e65c7cb05ba5697d3ebc1e39b7faae7d49ceaccb450752bc0d958/smartjson-2.0.2.tar.gz" } ], "2.0.3": [ { "comment_text": "", "digests": { "md5": "d00e3274c54ad69d88ba9098346d5df5", "sha256": "b333a6918bc09d5a260335edacb13d9ce95f0341d284fcb944902d5a8eb77b68" }, "downloads": -1, "filename": "smartjson-2.0.3-py2-none-any.whl", "has_sig": false, "md5_digest": "d00e3274c54ad69d88ba9098346d5df5", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": ">=2.7", "size": 7560, "upload_time": "2019-10-04T15:54:48", "url": "https://files.pythonhosted.org/packages/ef/97/cdc9acb8eeb9b15cc690c8e7d9e26af4160e244b079ea2335979e79a984c/smartjson-2.0.3-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "df11b05e59ef2bbcf9fadf60e99107db", "sha256": "4202bba9eba06d0fdc2adbd8184451cc51319281288c7c0188fbaca8dd1a3c0b" }, "downloads": -1, "filename": "smartjson-2.0.3.tar.gz", "has_sig": false, "md5_digest": "df11b05e59ef2bbcf9fadf60e99107db", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.7", "size": 9506, "upload_time": "2019-10-04T15:54:50", "url": "https://files.pythonhosted.org/packages/bd/8d/b08703b9eddc56cc34f8087e5c85bf3b5f386eb87fe26cdbd3891e0d084f/smartjson-2.0.3.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "d00e3274c54ad69d88ba9098346d5df5", "sha256": "b333a6918bc09d5a260335edacb13d9ce95f0341d284fcb944902d5a8eb77b68" }, "downloads": -1, "filename": "smartjson-2.0.3-py2-none-any.whl", "has_sig": false, "md5_digest": "d00e3274c54ad69d88ba9098346d5df5", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": ">=2.7", "size": 7560, "upload_time": "2019-10-04T15:54:48", "url": "https://files.pythonhosted.org/packages/ef/97/cdc9acb8eeb9b15cc690c8e7d9e26af4160e244b079ea2335979e79a984c/smartjson-2.0.3-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "df11b05e59ef2bbcf9fadf60e99107db", "sha256": "4202bba9eba06d0fdc2adbd8184451cc51319281288c7c0188fbaca8dd1a3c0b" }, "downloads": -1, "filename": "smartjson-2.0.3.tar.gz", "has_sig": false, "md5_digest": "df11b05e59ef2bbcf9fadf60e99107db", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.7", "size": 9506, "upload_time": "2019-10-04T15:54:50", "url": "https://files.pythonhosted.org/packages/bd/8d/b08703b9eddc56cc34f8087e5c85bf3b5f386eb87fe26cdbd3891e0d084f/smartjson-2.0.3.tar.gz" } ] }