{ "info": { "author": "Markus Siemens", "author_email": "markus@m-siemens.de", "bugtrack_url": null, "classifiers": [ "Development Status :: 5 - Production/Stable", "Intended Audience :: Developers", "Intended Audience :: System Administrators", "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", "Programming Language :: Python :: 2.6", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3.3", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: Implementation :: PyPy", "Topic :: Database", "Topic :: Database :: Database Engines/Servers", "Topic :: Utilities" ], "description": "tinydb-serialization\r\n^^^^^^^^^^^^^^^^^^^^\r\n\r\n|Build Status| |Coverage| |Version|\r\n\r\n``tinydb-serialization`` provides serialization for objects that TinyDB\r\notherwise couldn't handle.\r\n\r\nUsage\r\n*****\r\n\r\nCreating a Serializer\r\n---------------------\r\n\r\nIn this example we implement a serializer for ``datetime`` objects:\r\n\r\n.. code-block:: python\r\n\r\n from datetime import datetime\r\n from tinydb_serialization import Serializer\r\n\r\n class DateTimeSerializer(Serializer):\r\n OBJ_CLASS = datetime # The class this serializer handles\r\n\r\n def encode(self, obj):\r\n return obj.strftime('%Y-%m-%dT%H:%M:%S')\r\n\r\n def decode(self, s):\r\n return datetime.strptime(s, '%Y-%m-%dT%H:%M:%S')\r\n\r\nUsing a Serializer\r\n------------------\r\n\r\nYou can use your serializer like this:\r\n\r\n.. code-block:: python\r\n\r\n >>> from tinydb import TinyDB\r\n >>> from tinydb.storages import JSONStorage\r\n >>> from tinydb_serialization import SerializationMiddleware\r\n >>> from tinydb import Query\r\n >>>\r\n >>> from datetime import datetime\r\n >>>\r\n >>>\r\n >>> serialization = SerializationMiddleware()\r\n >>> serialization.register_serializer(DateTimeSerializer(), 'TinyDate')\r\n >>>\r\n >>> db = TinyDB('db.json', storage=serialization)\r\n >>> db.insert({'date': datetime(2000, 1, 1, 12, 0, 0)})\r\n >>> db.all()\r\n [{'date': datetime.datetime(2000, 1, 1, 12, 0)}]\r\n >>> query = Query()\r\n >>> db.insert({'date': datetime(2010, 1, 1, 12, 0, 0)})\r\n >>> db.search(query.date > datetime(2005, 1, 1))\r\n [{'date': datetime.datetime(2010, 1, 1, 12, 0)}]\r\n\r\n\r\nChangelog\r\n*********\r\n\r\n**v1.0.4** (2017-03-27)\r\n-----------------------\r\n\r\n- Don't modify the original element if it contains a list (see\r\n `pull request #5 `_)\r\n\r\n**v1.0.3** (2016-02-11)\r\n-----------------------\r\n\r\n- Handle nested data (nested dicts, lists) properly when serializing/deserializing (see\r\n `pull request #3 `_)\r\n\r\n**v1.0.2** (2016-01-04)\r\n-----------------------\r\n\r\n- Don't destroy original data when serializing (see\r\n `pull request #2 `_)\r\n\r\n**v1.0.1** (2015-11-17)\r\n-----------------------\r\n\r\n- Fix installation via pip (see `issue #1 `_)\r\n\r\n**v1.0.0** (2015-09-27)\r\n-----------------------\r\n\r\n- Initial release on PyPI\r\n\r\n.. |Build Status| image:: http://img.shields.io/travis/msiemens/tinydb-serialization.svg?style=flat-square\r\n :target: https://travis-ci.org/msiemens/tinydb-serialization\r\n.. |Coverage| image:: http://img.shields.io/coveralls/msiemens/tinydb-serialization.svg?style=flat-square\r\n :target: https://coveralls.io/r/msiemens/tinydb-serialization\r\n.. |Version| image:: http://img.shields.io/pypi/v/tinydb-serialization.svg?style=flat-square\r\n :target: https://pypi.python.org/pypi/tinydb-serialization/", "description_content_type": null, "docs_url": null, "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/msiemens/tinydb", "keywords": "database nosql", "license": "MIT", "maintainer": null, "maintainer_email": null, "name": "tinydb-serialization", "package_url": "https://pypi.org/project/tinydb-serialization/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/tinydb-serialization/", "project_urls": { "Download": "UNKNOWN", "Homepage": "https://github.com/msiemens/tinydb" }, "release_url": "https://pypi.org/project/tinydb-serialization/1.0.4/", "requires_dist": null, "requires_python": null, "summary": "Serialization for objects that TinyDB otherwise couldn't handle", "version": "1.0.4" }, "last_serial": 2733949, "releases": { "1.0.0": [ { "comment_text": "", "digests": { "md5": "a68af449b6ea36d39c2b550c9ec8864c", "sha256": "32a28fa984ba2cd69a3503bb62cd293206fa8fc1700e3695b375952296f1f8da" }, "downloads": -1, "filename": "tinydb-serialization-1.0.0.zip", "has_sig": false, "md5_digest": "a68af449b6ea36d39c2b550c9ec8864c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5581, "upload_time": "2015-09-27T14:06:14", "url": "https://files.pythonhosted.org/packages/26/8f/864b234a5cd3fe5daaebd2dd9b83c9c7e32dbb90ca18fbc4e81eb9629ba2/tinydb-serialization-1.0.0.zip" } ], "1.0.1": [ { "comment_text": "", "digests": { "md5": "820c361495f83decefe26339cd119f76", "sha256": "cfc71784079361ed45edcbcd65e81f0883e1e9cb884d617cbd4553c7625d382b" }, "downloads": -1, "filename": "tinydb-serialization-1.0.1.zip", "has_sig": false, "md5_digest": "820c361495f83decefe26339cd119f76", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7264, "upload_time": "2015-11-17T16:39:31", "url": "https://files.pythonhosted.org/packages/2b/99/1bb73fae9bfffccd5442005e497eb09922ddf067693625d8bed7871fb4b6/tinydb-serialization-1.0.1.zip" } ], "1.0.2": [ { "comment_text": "", "digests": { "md5": "02a11081fc4e1baae8e35f73c08e7ef4", "sha256": "ac1538b5a2f6453f2644bc5bb351806c446a5c46c756e8fe9fb03c34e8a774d7" }, "downloads": -1, "filename": "tinydb-serialization-1.0.2.zip", "has_sig": false, "md5_digest": "02a11081fc4e1baae8e35f73c08e7ef4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7573, "upload_time": "2016-01-04T20:19:32", "url": "https://files.pythonhosted.org/packages/1e/fa/eb7b3c4871911af5f39c3f7e61f21d14a6bd9ca936cdf08cb8804bd5a878/tinydb-serialization-1.0.2.zip" } ], "1.0.3": [ { "comment_text": "", "digests": { "md5": "aefbe616cc04c866e171bb08339275a7", "sha256": "2b339bee95c633768e2a87f895a17421aace9fd90b02615fd66dafbae9bc0702" }, "downloads": -1, "filename": "tinydb-serialization-1.0.3.zip", "has_sig": false, "md5_digest": "aefbe616cc04c866e171bb08339275a7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8083, "upload_time": "2016-02-11T05:37:57", "url": "https://files.pythonhosted.org/packages/04/d3/da8e26761990be5019a402ec5002ee0d1764ea2cf1ed262f6689500b9ccd/tinydb-serialization-1.0.3.zip" } ], "1.0.4": [ { "comment_text": "", "digests": { "md5": "702447e3f5f70ec07a160f4cff95e1fd", "sha256": "25940236a83825cef72431c96599bdaab445e34bde4f907c2be2ad91daa41581" }, "downloads": -1, "filename": "tinydb-serialization-1.0.4.zip", "has_sig": false, "md5_digest": "702447e3f5f70ec07a160f4cff95e1fd", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8664, "upload_time": "2017-03-27T16:28:17", "url": "https://files.pythonhosted.org/packages/8e/d3/88d7ae1ad819fc7c73dfe8d76e4a73cc476e3024a51f9b763b794272c727/tinydb-serialization-1.0.4.zip" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "702447e3f5f70ec07a160f4cff95e1fd", "sha256": "25940236a83825cef72431c96599bdaab445e34bde4f907c2be2ad91daa41581" }, "downloads": -1, "filename": "tinydb-serialization-1.0.4.zip", "has_sig": false, "md5_digest": "702447e3f5f70ec07a160f4cff95e1fd", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8664, "upload_time": "2017-03-27T16:28:17", "url": "https://files.pythonhosted.org/packages/8e/d3/88d7ae1ad819fc7c73dfe8d76e4a73cc476e3024a51f9b763b794272c727/tinydb-serialization-1.0.4.zip" } ] }