{ "info": { "author": "Boris Mizhen", "author_email": "rec-avro@boriska.com", "bugtrack_url": null, "classifiers": [], "description": "# rec-avro:\nAvro support for JSON and other nested data structures.\n\nRec-avro provides a generic Avro schema and converter functions that allow for storing nested python data structures in avro.\n\nTested in Python 3 only.\n\n## Installation:\n```sh\n$ pip3 install rec-avro\n```\n\n## Usage:\n### With fastavro:\n```python\n\nfrom fastavro import writer, reader, schema\nfrom rec_avro import to_rec_avro_destructive, from_rec_avro_destructive, rec_avro_schema\n\ndef json_objects():\n return [{'a': 'a'}, {'b':'b'}]\n\n# For efficiency, to_rec_avro_destructive() destroys rec, and reuses it's\n# data structures to construct avro_objects \navro_objects = (to_rec_avro_destructive(rec) for rec in json_objects())\n\n# store records in avro\nwith open('json_in_avro.avro', 'wb') as f_out:\n writer(f_out, schema.parse_schema(rec_avro_schema()), avro_objects)\n\n#load records from avro\nwith open('json_in_avro.avro', 'rb') as f_in:\n # For efficiency, from_rec_avro_destructive(rec) destroys rec, and \n # reuses it's data structures to construct it's output\n loaded_json = [from_rec_avro_destructive(rec) for rec in reader(f_in)]\n\nassert loaded_json == json_objects()\n```\n\n## Development:\n```sh\n# Running all tests:\n$ python setup.py pytest\n\n# Running tests manually\n$ pip3 install fastavro pytest\n$ python setup.py develop\n$ pytest tests/test_rec_avro.py\n```\n\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/bmizhen/rec-avro", "keywords": "avro json schema nested", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "rec-avro", "package_url": "https://pypi.org/project/rec-avro/", "platform": "", "project_url": "https://pypi.org/project/rec-avro/", "project_urls": { "Homepage": "https://github.com/bmizhen/rec-avro" }, "release_url": "https://pypi.org/project/rec-avro/0.0.4/", "requires_dist": null, "requires_python": ">=3", "summary": "Avro schema and data converters supporting storing arbitrary nested python data structures.", "version": "0.0.4" }, "last_serial": 5145499, "releases": { "0.0.1": [ { "comment_text": "", "digests": { "md5": "857aaac6b7781567518f6486131285b5", "sha256": "bbeaeeb15d182bce86fb576e19bbdbae74ebad7dd7f7b474bf518d1599ad6282" }, "downloads": -1, "filename": "rec-avro-0.0.1.tar.gz", "has_sig": false, "md5_digest": "857aaac6b7781567518f6486131285b5", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3", "size": 2949, "upload_time": "2019-03-31T19:04:24", "url": "https://files.pythonhosted.org/packages/31/e9/6875c5b2e78d687de9d77b89c3515ff4737f40eff938c10ee64d93313f6d/rec-avro-0.0.1.tar.gz" } ], "0.0.2": [ { "comment_text": "", "digests": { "md5": "ba55c613af13c4a1f872afa6598bd5c3", "sha256": "8d09e7956324895fddd2a1c7e46a06bc1c0c8f4f134337d173e4826d47ce9bc7" }, "downloads": -1, "filename": "rec-avro-0.0.2.tar.gz", "has_sig": false, "md5_digest": "ba55c613af13c4a1f872afa6598bd5c3", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3", "size": 2953, "upload_time": "2019-04-01T19:13:38", "url": "https://files.pythonhosted.org/packages/69/be/9f72e5d0b5ed401de8ea38784826e336c753635a197924d9ab3eea675d50/rec-avro-0.0.2.tar.gz" } ], "0.0.3": [ { "comment_text": "", "digests": { "md5": "51b81a60df7de897038a2c5132035830", "sha256": "e4b96f67cebba541cb02553f543abd3c73165655afbc814956941686cb57c7c1" }, "downloads": -1, "filename": "rec-avro-0.0.3.tar.gz", "has_sig": false, "md5_digest": "51b81a60df7de897038a2c5132035830", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3", "size": 2990, "upload_time": "2019-04-01T19:22:31", "url": "https://files.pythonhosted.org/packages/eb/43/7114b51f8eaae4d568b961dca1b9da5dd8537f4346ccda7f79bfc3d69d99/rec-avro-0.0.3.tar.gz" } ], "0.0.4": [ { "comment_text": "", "digests": { "md5": "f479e5ab1dba7b3be6f0564b792110fd", "sha256": "543951512dabeaa83f354d34c34815e7f0decb961fb8c42a2961b6aa11eb2e12" }, "downloads": -1, "filename": "rec_avro-0.0.4-py3-none-any.whl", "has_sig": false, "md5_digest": "f479e5ab1dba7b3be6f0564b792110fd", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3", "size": 4106, "upload_time": "2019-04-15T15:51:01", "url": "https://files.pythonhosted.org/packages/14/fe/b9bb0a22fbd3fe4f4b1502a2a1f003e1f7f3511d8142ba9501dc0b46e939/rec_avro-0.0.4-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "fe5fafe88deaa2d521db473c02dc1109", "sha256": "8e7217d56e46bb0fe9ef5a156e04400b4a3bbdf7612920c3f8f2670d840bd249" }, "downloads": -1, "filename": "rec-avro-0.0.4.tar.gz", "has_sig": false, "md5_digest": "fe5fafe88deaa2d521db473c02dc1109", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3", "size": 3005, "upload_time": "2019-04-15T15:51:03", "url": "https://files.pythonhosted.org/packages/e4/c1/6f85a5b6fce4f04bd5e1546e02ccb99c3699cc7d96e2826be044a5e395bb/rec-avro-0.0.4.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "f479e5ab1dba7b3be6f0564b792110fd", "sha256": "543951512dabeaa83f354d34c34815e7f0decb961fb8c42a2961b6aa11eb2e12" }, "downloads": -1, "filename": "rec_avro-0.0.4-py3-none-any.whl", "has_sig": false, "md5_digest": "f479e5ab1dba7b3be6f0564b792110fd", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3", "size": 4106, "upload_time": "2019-04-15T15:51:01", "url": "https://files.pythonhosted.org/packages/14/fe/b9bb0a22fbd3fe4f4b1502a2a1f003e1f7f3511d8142ba9501dc0b46e939/rec_avro-0.0.4-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "fe5fafe88deaa2d521db473c02dc1109", "sha256": "8e7217d56e46bb0fe9ef5a156e04400b4a3bbdf7612920c3f8f2670d840bd249" }, "downloads": -1, "filename": "rec-avro-0.0.4.tar.gz", "has_sig": false, "md5_digest": "fe5fafe88deaa2d521db473c02dc1109", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3", "size": 3005, "upload_time": "2019-04-15T15:51:03", "url": "https://files.pythonhosted.org/packages/e4/c1/6f85a5b6fce4f04bd5e1546e02ccb99c3699cc7d96e2826be044a5e395bb/rec-avro-0.0.4.tar.gz" } ] }