{ "info": { "author": "Dmitry Krukov", "author_email": "glebov.ru@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Programming Language :: Python", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7", "Topic :: Software Development :: Libraries :: Python Modules" ], "description": "========\nReformer\n========\n\n.. image:: https://travis-ci.org/Krukov/reformer.svg?branch=master\n :target: https://travis-ci.org/Krukov/reformer\n\nSimple and beautiful library for data formatting/convert/serialize\n------------------------------------------------------------------\n\n::\n\n pip install reformer\n\n\nWhy\n---\nThere are many great python libraries for validation, serialization and data formatting search as marshmallow, DRF etc.\nUsually they base on data validation.\n\nOtherwise reformer design only for data formatting, and in a schema you need to define type of transformation and data source.\n\nHow to use\n----------\nTo define schema you need to create Reformer base class::\n\n from reformer import Reformer, Field, MapField, MethodField\n\n class Schema(Reformer):\n _fields_ = ('name', 'surname')\n fullname = Field('name').replace('_', '-') + ' ' + Field('surname')\n admin = Field('username').at(['admin', 'root'])\n welcome = MapField('username', {\n 'admin': 'Hi bro',\n 'root': 'God?'\n })\n posts_titles = Field('posts').iter(['title'])\n status = ('http://api.com/get_user_status/' + Field('id', to=str)).handle(requests.get)\n\n\n target = {\n 'id': 353,\n 'name': 'John',\n 'surname': 'Black',\n 'username': 'admin',\n 'posts': [\n {'title': 'New', 'id': 10},\n {'title': 'My first post', 'id': 11},\n ]\n }\n\n print(Schema.transform(target))\n # OrderedDict([\n # ('name', 'John'),\n # ('surname', 'Black'),\n # ('fullname', 'John Black'),\n # ('admin', True),\n # ('welcome', 'Hi bro'),\n # ('posts_titles', ['New', 'My first post']),\n # ('status', 'INIT'),\n # ])\n\n\n*FUTURE*\n========\n - errors\n\n\n", "description_content_type": "", "docs_url": null, "download_url": "https://github.com/Krukov/reformer/tarball/0.1.3", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/Krukov/reformer", "keywords": "reformat format transform serializer schema", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "reformer", "package_url": "https://pypi.org/project/reformer/", "platform": "", "project_url": "https://pypi.org/project/reformer/", "project_urls": { "Download": "https://github.com/Krukov/reformer/tarball/0.1.3", "Homepage": "https://github.com/Krukov/reformer" }, "release_url": "https://pypi.org/project/reformer/0.1.3/", "requires_dist": null, "requires_python": "", "summary": "The tool for creating notes", "version": "0.1.3" }, "last_serial": 4328606, "releases": { "0.0.1": [ { "comment_text": "", "digests": { "md5": "992551c167916ee2f91395b9fbdcfd34", "sha256": "3321b940a21094c21c252562b646a0abbed47747b9d72a430ed07bf0925031db" }, "downloads": -1, "filename": "reformer-0.0.1.tar.gz", "has_sig": false, "md5_digest": "992551c167916ee2f91395b9fbdcfd34", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2568, "upload_time": "2018-08-29T05:24:59", "url": "https://files.pythonhosted.org/packages/3a/78/b98573f70364d01c426b7932dd8192c1adab951c5d64e4aff68e870530ca/reformer-0.0.1.tar.gz" } ], "0.0.3": [ { "comment_text": "", "digests": { "md5": "26061e02ed5f9e1c1c28a482f4001dae", "sha256": "a1eb772ac18d9d5dc8fdd30a6f568f594f25e0edc30a88f21512bbd44c05d9c2" }, "downloads": -1, "filename": "reformer-0.0.3.tar.gz", "has_sig": false, "md5_digest": "26061e02ed5f9e1c1c28a482f4001dae", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3593, "upload_time": "2018-09-18T21:36:48", "url": "https://files.pythonhosted.org/packages/8b/77/df78badda102ab2e6a632b7fd10ac59191b352fcd91294fcd14df587eec4/reformer-0.0.3.tar.gz" } ], "0.0.4": [ { "comment_text": "", "digests": { "md5": "c5f392724931f16cd9c1a20705950bda", "sha256": "660aea3e09cc8b66a39fc68b74e22e175704885512c5bcbe41c69d6542416b3f" }, "downloads": -1, "filename": "reformer-0.0.4-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "c5f392724931f16cd9c1a20705950bda", "packagetype": "bdist_wheel", "python_version": "3.5", "requires_python": null, "size": 3853, "upload_time": "2018-09-20T19:09:07", "url": "https://files.pythonhosted.org/packages/f2/e7/aa491cca79ca8d462db545eba748e68cb6454d65165f2c2151d42b39c444/reformer-0.0.4-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "7706455a3e6b7a4d3a740b5bd0501504", "sha256": "fccbb931fe1e846c447291e5b29005ae0e79bafc5e929f0e0a43552fce650b12" }, "downloads": -1, "filename": "reformer-0.0.4-py3-none-any.whl", "has_sig": false, "md5_digest": "7706455a3e6b7a4d3a740b5bd0501504", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 3851, "upload_time": "2018-09-20T19:13:02", "url": "https://files.pythonhosted.org/packages/0f/89/3256f2a4da9088552196e5274cb960225dbe7ecc929713603e2966d65dbb/reformer-0.0.4-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "bba06bcd2f6320bea86b1b34014f1184", "sha256": "1bfc8e126b6f95a18d0b4e752d78fd6c0c722c5296aa79d2daa39d4fc581c639" }, "downloads": -1, "filename": "reformer-0.0.4.tar.gz", "has_sig": false, "md5_digest": "bba06bcd2f6320bea86b1b34014f1184", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3734, "upload_time": "2018-09-20T19:13:04", "url": "https://files.pythonhosted.org/packages/2e/29/1a8c5c5c2731cc3ba08e4fdc7ba310d65054ccda6e9a5d7328860fce580b/reformer-0.0.4.tar.gz" } ], "0.0.5": [ { "comment_text": "", "digests": { "md5": "a96afd33592d004faead656d19fcc3a8", "sha256": "36bf01b4d0d95b0d4ed784455b42cc58682e2d04986a163de0043e83ac2ddcd5" }, "downloads": -1, "filename": "reformer-0.0.5-py3-none-any.whl", "has_sig": false, "md5_digest": "a96afd33592d004faead656d19fcc3a8", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 3845, "upload_time": "2018-09-20T19:57:25", "url": "https://files.pythonhosted.org/packages/5a/10/f50e25929894a3b0ba44bf66f6f65053c6e92dda202adb825a82e3d32162/reformer-0.0.5-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "aa5a9ac77253d98b538b34ce154252a2", "sha256": "168f1f0df8b47e38e809abc3d412ff2a2e2eadce522338102e40a4f3f83921c3" }, "downloads": -1, "filename": "reformer-0.0.5.tar.gz", "has_sig": false, "md5_digest": "aa5a9ac77253d98b538b34ce154252a2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3723, "upload_time": "2018-09-20T19:57:28", "url": "https://files.pythonhosted.org/packages/c4/68/ba6d9d7a999da385a854f722564feafab10e4d0a20a0b64cd3efb606b54f/reformer-0.0.5.tar.gz" } ], "0.0.6": [ { "comment_text": "", "digests": { "md5": "9c23d47d3d56aea793b92560c016c8cf", "sha256": "08f2459f053ce09640ac9b3b602eab1c7a6012f8d52ad7176a7508dde83ebd71" }, "downloads": -1, "filename": "reformer-0.0.6-py3-none-any.whl", "has_sig": false, "md5_digest": "9c23d47d3d56aea793b92560c016c8cf", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 3966, "upload_time": "2018-09-20T21:49:32", "url": "https://files.pythonhosted.org/packages/e5/aa/b44efaee6b32727b825762402a50580f90b9e6ba8145da6adccd0dbff287/reformer-0.0.6-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "ca8138aa19f7392986bdc1b2b35b972e", "sha256": "0a4167bfad4d5282be90369b1108480f8f21db3ac1e1aae60295a68aa5d7b000" }, "downloads": -1, "filename": "reformer-0.0.6.tar.gz", "has_sig": false, "md5_digest": "ca8138aa19f7392986bdc1b2b35b972e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3875, "upload_time": "2018-09-20T21:49:33", "url": "https://files.pythonhosted.org/packages/c6/b3/b014973ec7c78f9f8101a4d982276be8578f9d8164da5d39bafa9ddf6d50/reformer-0.0.6.tar.gz" } ], "0.1.0": [ { "comment_text": "", "digests": { "md5": "e139895cdddcdefadf6a7e49b32ca1ef", "sha256": "ef673e398adf0c9b3d65fa8a5154939969219248ce995633345852dce6d0e485" }, "downloads": -1, "filename": "reformer-0.1.0-py3-none-any.whl", "has_sig": false, "md5_digest": "e139895cdddcdefadf6a7e49b32ca1ef", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 5974, "upload_time": "2018-09-26T20:10:52", "url": "https://files.pythonhosted.org/packages/56/fa/497e90c6f0b7306fb2237fcda5393ed7112c409a9480cb049e0e9df71628/reformer-0.1.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "902be3a3e6933873a801aa27481d2fa6", "sha256": "f0765b329c8e2691426e2cb0747f28ca0d72d0f715ca7768a1b76a36d1d60319" }, "downloads": -1, "filename": "reformer-0.1.0.tar.gz", "has_sig": false, "md5_digest": "902be3a3e6933873a801aa27481d2fa6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4175, "upload_time": "2018-09-26T20:10:53", "url": "https://files.pythonhosted.org/packages/38/d1/d4260c455e4e896e1eac61fed113d4a7a77f1f3a929639a3cfbcbe172634/reformer-0.1.0.tar.gz" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "3ce8ed746deacf972341de7eff246437", "sha256": "54dc53336c4ef2fe3ef443b41a7e70453d6a6a10f4b0d3131290f15c8085b99b" }, "downloads": -1, "filename": "reformer-0.1.1-py3-none-any.whl", "has_sig": false, "md5_digest": "3ce8ed746deacf972341de7eff246437", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 4374, "upload_time": "2018-09-27T19:36:40", "url": "https://files.pythonhosted.org/packages/02/fa/8cdb999b4d05bd8b3e5ddcf92543e88925ce1a23aef500ef036b7a78e506/reformer-0.1.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "aef019717e5a82881c8d14188793a097", "sha256": "5b91fc378176f45c1c832440fd948eaf11280b2894f397bc5fa0a3b80ca8c0da" }, "downloads": -1, "filename": "reformer-0.1.1.tar.gz", "has_sig": false, "md5_digest": "aef019717e5a82881c8d14188793a097", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4233, "upload_time": "2018-09-27T19:36:41", "url": "https://files.pythonhosted.org/packages/ba/7a/5ce5c62cd4385ebb66e379a26ad0ba0b5d93d87e4169ac51ec4044566f42/reformer-0.1.1.tar.gz" } ], "0.1.3": [ { "comment_text": "", "digests": { "md5": "bf0d8b3eddc19990c9593572ff056c2e", "sha256": "9c2e21768c30d4f9f20b1ddb6242803cd3557c5122847714bfdfad3642afea6c" }, "downloads": -1, "filename": "reformer-0.1.3-py3-none-any.whl", "has_sig": false, "md5_digest": "bf0d8b3eddc19990c9593572ff056c2e", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 6119, "upload_time": "2018-10-01T14:02:08", "url": "https://files.pythonhosted.org/packages/0f/a5/51e22a24f48550c1b977cbc755261094dc42c090f294d023d5542feed83c/reformer-0.1.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "c1333cabe7646a36ccbb003041ed9ae8", "sha256": "c844e31355ca005fd945f8e3d69896a1ce8690e9b0b26c554156cf2e2bab801a" }, "downloads": -1, "filename": "reformer-0.1.3.tar.gz", "has_sig": false, "md5_digest": "c1333cabe7646a36ccbb003041ed9ae8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4386, "upload_time": "2018-10-01T14:02:10", "url": "https://files.pythonhosted.org/packages/74/76/10d1e95186ffc6a77db09ceba0f237623f3aad6452a7058d224de47cb016/reformer-0.1.3.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "bf0d8b3eddc19990c9593572ff056c2e", "sha256": "9c2e21768c30d4f9f20b1ddb6242803cd3557c5122847714bfdfad3642afea6c" }, "downloads": -1, "filename": "reformer-0.1.3-py3-none-any.whl", "has_sig": false, "md5_digest": "bf0d8b3eddc19990c9593572ff056c2e", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 6119, "upload_time": "2018-10-01T14:02:08", "url": "https://files.pythonhosted.org/packages/0f/a5/51e22a24f48550c1b977cbc755261094dc42c090f294d023d5542feed83c/reformer-0.1.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "c1333cabe7646a36ccbb003041ed9ae8", "sha256": "c844e31355ca005fd945f8e3d69896a1ce8690e9b0b26c554156cf2e2bab801a" }, "downloads": -1, "filename": "reformer-0.1.3.tar.gz", "has_sig": false, "md5_digest": "c1333cabe7646a36ccbb003041ed9ae8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4386, "upload_time": "2018-10-01T14:02:10", "url": "https://files.pythonhosted.org/packages/74/76/10d1e95186ffc6a77db09ceba0f237623f3aad6452a7058d224de47cb016/reformer-0.1.3.tar.gz" } ] }