{
"info": {
"author": "Mohamed Haseeb",
"author_email": "m@mohaseeb.com",
"bugtrack_url": null,
"classifiers": [
"License :: OSI Approved :: MIT License",
"Operating System :: OS Independent",
"Programming Language :: Python"
],
"description": "[](https://pypi.org/project/beam-nuggets/) [](https://pypi.org/project/beam-nuggets/)\n\n# About\nA collection of random transforms for the [Apache beam](https://beam.apache.org/) python SDK . Many are \nsimple transforms. The most useful ones are those for \nreading/writing from/to relational databases.\n# Installation\n* Using pip\n```bash\npip install beam-nuggets\n```\n* From source\n```bash\ngit clone git@github.com:mohaseeb/beam-nuggets.git\ncd beam-nuggets\npip install .\n```\n# Supported transforms\n### IO\n* [relational_db.ReadFromDB](http://mohaseeb.com/beam-nuggets/beam_nuggets.io.relational_db.html#beam_nuggets.io.relational_db.ReadFromDB) \nfor reading from relational database tables. \n* [relational_db.Write](http://mohaseeb.com/beam-nuggets/beam_nuggets.io.relational_db.html#beam_nuggets.io.relational_db.Write) \nfor writing to relational database tables.\n
Above transforms uses [SqlAlchemy](https://www.sqlalchemy.org/) to communicate with the database, \nand hence they can read from and write to all relational databases supported\n by SqlAlchemy. \nThe transforms [are tested](https://github.com/mohaseeb/beam-nuggets/tree/master/beam_nuggets/io/test) against PostgreSQL, MySQL and SQLite.\n* [kafkaio.KafkaProduce](http://mohaseeb.com/beam-nuggets/beam_nuggets.io.kafkaio.html#beam_nuggets.io.kafkaio.KafkaProduce) for writing to Kafka topics.\n* [kafkaio.KafkaConsume](http://mohaseeb.com/beam-nuggets/beam_nuggets.io.kafkaio.html#beam_nuggets.io.kafkaio.KafkaConsume) for consuming from kafka topics.\n* [csvio.Read](http://mohaseeb.com/beam-nuggets/beam_nuggets.io.csvio.html#beam_nuggets.io.csvio.Read)\nfor reading CSV files.\n\n\n\n\n\n\n\n\n\n\n### Others\n* [SelectFromNestedDict](http://mohaseeb.com/beam-nuggets/beam_nuggets.transforms.nested_dict.html#beam_nuggets.transforms.nested_dict.SelectFromNestedDict)\nSelects a subset from records formed of nested dictionaries.\n* [ParseJson](beam_nuggets.transforms.json_.html#beam_nuggets.transforms.json_.ParseJson)\n* [AssignUniqueId](beam_nuggets.transforms.json_.html#beam_nuggets.transforms.json_.ParseJson)\n# Documentation\nSee [here](http://mohaseeb.com/beam-nuggets/).\n# Usage\nWrite data to an SQLite table using beam-nugget's \n[relational_db.Write](http://mohaseeb.com/beam-nuggets/beam_nuggets.io.relational_db.html#beam_nuggets.io.relational_db.Write) transform.\n```python\n# write_sqlite.py contents\nimport apache_beam as beam\nfrom apache_beam.options.pipeline_options import PipelineOptions\nfrom beam_nuggets.io import relational_db\n\nrecords = [\n {'name': 'Jan', 'num': 1},\n {'name': 'Feb', 'num': 2}\n]\n\nsource_config = relational_db.SourceConfiguration(\n drivername='sqlite',\n database='/tmp/months_db.sqlite',\n create_if_missing=True # create the database if not there \n)\n\ntable_config = relational_db.TableConfiguration(\n name='months',\n create_if_missing=True, # automatically create the table if not there\n primary_key_columns=['num'] # and use 'num' column as primary key\n)\n\nwith beam.Pipeline(options=PipelineOptions()) as p: # Will use local runner\n months = p | \"Reading month records\" >> beam.Create(records)\n months | 'Writing to DB' >> relational_db.Write(\n source_config=source_config,\n table_config=table_config\n )\n```\nExecute the pipeline\n```bash\npython write_sqlite.py \n```\nExamine the contents\n```bash\nsqlite3 /tmp/months_db.sqlite 'select * from months'\n# output:\n# 1.0|Jan\n# 2.0|Feb\n```\nTo write the same data to a PostgreSQL table instead, just create a suitable \n[relational_db.SourceConfiguration](http://mohaseeb.com/beam-nuggets/beam_nuggets.io.relational_db_api.html#beam_nuggets.io.relational_db_api.SourceConfiguration) as follows.\n```python\nsource_config = relational_db.SourceConfiguration(\n drivername='postgresql+pg8000',\n host='localhost',\n port=5432,\n username='postgres',\n password='password',\n database='calendar',\n create_if_missing=True # create the database if not there \n)\n```\nClick [here](https://github.com/mohaseeb/beam-nuggets/tree/master/examples/dataflow/)\nfor more examples, including writing to PostgreSQL in Google Cloud Platform \nusing the DataFlowRunner. \n
\nAn example showing how you can use beam-nugget's [relational_db.ReadFromDB](http://mohaseeb.com/beam-nuggets/beam_nuggets.io.relational_db.html#beam_nuggets.io.relational_db.ReadFromDB) \ntransform to read from a PostgreSQL database table. \n```python\nfrom __future__ import print_function\nimport apache_beam as beam\nfrom apache_beam.options.pipeline_options import PipelineOptions\nfrom beam_nuggets.io import relational_db\n\nwith beam.Pipeline(options=PipelineOptions()) as p:\n source_config = relational_db.SourceConfiguration(\n drivername='postgresql+pg8000',\n host='localhost',\n port=5432,\n username='postgres',\n password='password',\n database='calendar',\n )\n records = p | \"Reading records from db\" >> relational_db.ReadFromDB(\n source_config=source_config,\n table_name='months',\n query='select num, name from months' # optional. When omitted, all table records are returned. \n )\n records | 'Writing to stdout' >> beam.Map(print)\n```\nSee [here](https://github.com/mohaseeb/beam-nuggets/tree/master/examples) for more examples.\n# Development\n* Install\n```bash\ngit clone git@github.com:mohaseeb/beam-nuggets.git\ncd beam-nuggets\nexport BEAM_NUGGETS_ROOT=`pwd`\npip install -e .[dev]\n```\n* Make changes on dedicated dev branches\n* Run tests\n```bash\ncd $BEAM_NUGGETS_ROOT\npython -m unittest discover -v\n```\n* Generate docs\n```bash\ncd $BEAM_NUGGETS_ROOT\ndocs/generate_docs.sh\n```\n* Create a PR against master.\n* After merging the accepted PR and updating the local master, upload a new \nbuild to pypi.\n```bash\ncd $BEAM_NUGGETS_ROOT\nscripts/build_test_deploy.sh\n```\n# Backlog \n* versioned docs?\n* Summarize the investigation of using Source/Sink Vs ParDo(and GroupBy) for IO\n* more nuggets: WriteToCsv\n* Investigate readiness of SDF ParDo, and possibility to use for relational_db.ReadFromDB\n* integration tests\n* DB transforms failures handling on IO transforms\n* more nuggets: Elasticsearch, Mongo \n* WriteToRelationalDB, logging\n\n# Contributers\n[mohaseeb](https://github.com/mohaseeb), [astrocox](https://github.com/astrocox), [2514millerj](https://github.com/2514millerj)\n\n# Licence\nMIT\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/mohaseeb/beam-nuggets",
"keywords": "",
"license": "",
"maintainer": "",
"maintainer_email": "",
"name": "beam-nuggets",
"package_url": "https://pypi.org/project/beam-nuggets/",
"platform": "",
"project_url": "https://pypi.org/project/beam-nuggets/",
"project_urls": {
"Homepage": "https://github.com/mohaseeb/beam-nuggets"
},
"release_url": "https://pypi.org/project/beam-nuggets/0.15.1/",
"requires_dist": [
"apache-beam (<3.0.0,>=2.8.0)",
"SQLAlchemy (<2.0.0,>=1.2.14)",
"sqlalchemy-utils (<0.34,>=0.33.11)",
"pg8000 (<2.0.0,>=1.12.4)",
"PyMySQL (<2.0.0,>=0.9.3)",
"kafka (>===1.3.5)",
"nose (<2.0.0,>=1.3.7) ; extra == 'dev'",
"testing.postgresql (<2.0.0,>=1.3.0) ; extra == 'dev'",
"testing.mysqld (<2.0.0,>=1.4.0) ; extra == 'dev'",
"numpy (<2.0.0,>=1.15.4) ; extra == 'dev'",
"pandas (<0.24,>=0.23.4) ; extra == 'dev'",
"Sphinx (<2.0.0,>=1.8.3) ; extra == 'dev'",
"sphinx-rtd-theme (<2.0.0,>=0.4.2) ; extra == 'dev'"
],
"requires_python": "",
"summary": "Collection of transforms for the Apache beam python SDK.",
"version": "0.15.1"
},
"last_serial": 5683843,
"releases": {
"0.10.0": [
{
"comment_text": "",
"digests": {
"md5": "3de6100939f85f38a55f1d40a61a79b7",
"sha256": "607163428647ca8641ce6479910a3f84a3375990c7f51d8cfead62e9be5de23f"
},
"downloads": -1,
"filename": "beam_nuggets-0.10.0-py2-none-any.whl",
"has_sig": false,
"md5_digest": "3de6100939f85f38a55f1d40a61a79b7",
"packagetype": "bdist_wheel",
"python_version": "py2",
"requires_python": null,
"size": 21473,
"upload_time": "2019-01-06T16:30:35",
"url": "https://files.pythonhosted.org/packages/01/b3/3f039202a0e010a05bbd8c7dc19b39a7485a44270419134a2d0aed27aa40/beam_nuggets-0.10.0-py2-none-any.whl"
},
{
"comment_text": "",
"digests": {
"md5": "7871498e4d2c7eff483897799956f174",
"sha256": "9748c5f575995fa5977329061421b2d925e8bd25abd4eb9c60912b170050b9f5"
},
"downloads": -1,
"filename": "beam-nuggets-0.10.0.tar.gz",
"has_sig": false,
"md5_digest": "7871498e4d2c7eff483897799956f174",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 16931,
"upload_time": "2019-01-06T16:30:39",
"url": "https://files.pythonhosted.org/packages/69/73/5eb27f3819db53763c6350a22973aa5b0edec26970d72fdc924220722c4a/beam-nuggets-0.10.0.tar.gz"
}
],
"0.10.0.dev1": [
{
"comment_text": "",
"digests": {
"md5": "6859a8d1b691922ac159e93ed08f505d",
"sha256": "b0f4b05cfafb22f71750141fffa573aeec4ecea53bd5905e7b76e9e422026e4a"
},
"downloads": -1,
"filename": "beam_nuggets-0.10.0.dev1-py2-none-any.whl",
"has_sig": false,
"md5_digest": "6859a8d1b691922ac159e93ed08f505d",
"packagetype": "bdist_wheel",
"python_version": "py2",
"requires_python": null,
"size": 21533,
"upload_time": "2019-01-06T16:30:33",
"url": "https://files.pythonhosted.org/packages/6d/d5/a27c1f196de5909c66ff8f48e5d8c3ec1e53c46ea095a063809b5717e966/beam_nuggets-0.10.0.dev1-py2-none-any.whl"
},
{
"comment_text": "",
"digests": {
"md5": "0a818eedf76a2502e553faa347af3c6d",
"sha256": "4ad69b01e3272bf7cbae4979217064596ffaa8ac54306e8c2029bddd25d0de80"
},
"downloads": -1,
"filename": "beam-nuggets-0.10.0.dev1.tar.gz",
"has_sig": false,
"md5_digest": "0a818eedf76a2502e553faa347af3c6d",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 16936,
"upload_time": "2019-01-06T16:30:37",
"url": "https://files.pythonhosted.org/packages/63/b9/182663ce65d2ff2a6d5e14debfc6d1e705aa218be04e88a5d53a7e0e1b70/beam-nuggets-0.10.0.dev1.tar.gz"
}
],
"0.11.0": [
{
"comment_text": "",
"digests": {
"md5": "138edcd6c876b571be9a011ad36d2ed8",
"sha256": "3a8d4a1c08ae18fb3717f9aece76aed5054b1a04da94757058290c2c071d223d"
},
"downloads": -1,
"filename": "beam_nuggets-0.11.0-py2-none-any.whl",
"has_sig": false,
"md5_digest": "138edcd6c876b571be9a011ad36d2ed8",
"packagetype": "bdist_wheel",
"python_version": "py2",
"requires_python": null,
"size": 23382,
"upload_time": "2019-01-12T14:19:48",
"url": "https://files.pythonhosted.org/packages/49/43/d5b49e91a1a51a1eaf2e113959cb9cabc7254b53571cb6142d5d7c73ea9e/beam_nuggets-0.11.0-py2-none-any.whl"
},
{
"comment_text": "",
"digests": {
"md5": "7b6ec59fdf3c5d4bbf857e4d7988e1cf",
"sha256": "cdf591b5600c44ddfb5a9121f336b71d7274db81ca3c7a421c315fab8366a083"
},
"downloads": -1,
"filename": "beam-nuggets-0.11.0.tar.gz",
"has_sig": false,
"md5_digest": "7b6ec59fdf3c5d4bbf857e4d7988e1cf",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 18896,
"upload_time": "2019-01-12T14:19:50",
"url": "https://files.pythonhosted.org/packages/64/c2/8601b967752902d73d515ee4b9f3f090fd4f165415349070899579e6408f/beam-nuggets-0.11.0.tar.gz"
}
],
"0.12.0": [
{
"comment_text": "",
"digests": {
"md5": "f90f4b779f120a766f5ec5c7c8fc21f4",
"sha256": "09f44a3ed3a2014d01e569f4a6a9ae3983006445e9ac997d0f774d1045749bbf"
},
"downloads": -1,
"filename": "beam_nuggets-0.12.0-py2-none-any.whl",
"has_sig": false,
"md5_digest": "f90f4b779f120a766f5ec5c7c8fc21f4",
"packagetype": "bdist_wheel",
"python_version": "py2",
"requires_python": null,
"size": 23442,
"upload_time": "2019-01-13T00:52:56",
"url": "https://files.pythonhosted.org/packages/02/88/303c5061b97ac29e4ebf4e3511c1e2d8c8fa14b22529ce038664d6d610f0/beam_nuggets-0.12.0-py2-none-any.whl"
},
{
"comment_text": "",
"digests": {
"md5": "c4f8aa121b979d273a600c3fa214c3fb",
"sha256": "18cf60f77dee0601efaba5ab8dde80f89c63a977a0cd0d8c21819f11c01ae26f"
},
"downloads": -1,
"filename": "beam-nuggets-0.12.0.tar.gz",
"has_sig": false,
"md5_digest": "c4f8aa121b979d273a600c3fa214c3fb",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 19033,
"upload_time": "2019-01-13T00:52:59",
"url": "https://files.pythonhosted.org/packages/e4/32/d3c69b63e66fbf876f30e834372027dc5a5effe18de662b384b22a1a3ecd/beam-nuggets-0.12.0.tar.gz"
}
],
"0.13.0": [
{
"comment_text": "",
"digests": {
"md5": "5a59b9d23c43ce2b4686a1515650418e",
"sha256": "e09ec4a341daab0b966b135f34d82f0fe5e46afe30f04f651075b9051d1e6298"
},
"downloads": -1,
"filename": "beam_nuggets-0.13.0-py2-none-any.whl",
"has_sig": false,
"md5_digest": "5a59b9d23c43ce2b4686a1515650418e",
"packagetype": "bdist_wheel",
"python_version": "py2",
"requires_python": null,
"size": 21608,
"upload_time": "2019-01-14T20:30:48",
"url": "https://files.pythonhosted.org/packages/fa/46/4a98f93adedb50f35b44c5860cb8bc8175c12fc37624c02e15286a7fcd78/beam_nuggets-0.13.0-py2-none-any.whl"
},
{
"comment_text": "",
"digests": {
"md5": "b8882e6cfc52d7bee2a752bc4fb0a77e",
"sha256": "41f856970a18a63008035eef4a6fc550e076240eaf6b2407e18346fd39b27bc5"
},
"downloads": -1,
"filename": "beam-nuggets-0.13.0.tar.gz",
"has_sig": false,
"md5_digest": "b8882e6cfc52d7bee2a752bc4fb0a77e",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 17144,
"upload_time": "2019-01-14T20:30:52",
"url": "https://files.pythonhosted.org/packages/27/e9/47694935194010eeeddab7335e6c1b8eebc2d664768974ae27131567ce75/beam-nuggets-0.13.0.tar.gz"
}
],
"0.13.1": [
{
"comment_text": "",
"digests": {
"md5": "6f188ce2853b47b625e25ceb2264dce1",
"sha256": "f2d36a2bc3bc63d945daecf7114cf583a477c238236f18ee81cc7e36781e9c7d"
},
"downloads": -1,
"filename": "beam_nuggets-0.13.1-py2-none-any.whl",
"has_sig": false,
"md5_digest": "6f188ce2853b47b625e25ceb2264dce1",
"packagetype": "bdist_wheel",
"python_version": "py2",
"requires_python": null,
"size": 21606,
"upload_time": "2019-01-14T20:56:49",
"url": "https://files.pythonhosted.org/packages/2d/b0/9a8090910e7632e49b531e75ec35b02ff9e180e94819b56a6564b094c2db/beam_nuggets-0.13.1-py2-none-any.whl"
},
{
"comment_text": "",
"digests": {
"md5": "42049d5892318c46b661081d8e6b6513",
"sha256": "8ea5ede6f1f9c637f5fafd8eac3da0900d64dda07ce3597471ac498ee1e8af82"
},
"downloads": -1,
"filename": "beam-nuggets-0.13.1.tar.gz",
"has_sig": false,
"md5_digest": "42049d5892318c46b661081d8e6b6513",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 17143,
"upload_time": "2019-01-14T20:56:54",
"url": "https://files.pythonhosted.org/packages/18/08/7fe2d63b6e0ac0e02b9c49f4b633cec50c9f93ee6c13f3d884f6fafbda51/beam-nuggets-0.13.1.tar.gz"
}
],
"0.13.2": [
{
"comment_text": "",
"digests": {
"md5": "cc36b40a9ca877efdb242aa8c59cea9f",
"sha256": "5f9fdf37bde1b5c3e3e6037009ccdd4e3b5d133f3c3d70de6657f6a9cc594cd3"
},
"downloads": -1,
"filename": "beam_nuggets-0.13.2-py2-none-any.whl",
"has_sig": false,
"md5_digest": "cc36b40a9ca877efdb242aa8c59cea9f",
"packagetype": "bdist_wheel",
"python_version": "py2",
"requires_python": null,
"size": 21713,
"upload_time": "2019-01-22T05:07:25",
"url": "https://files.pythonhosted.org/packages/95/07/d4756043f550c0ad96dde2535bdc853dd765e59653fa7b6b66cef632de28/beam_nuggets-0.13.2-py2-none-any.whl"
},
{
"comment_text": "",
"digests": {
"md5": "b414d2508adf79129b8e7901a28adca6",
"sha256": "371cfac00040f9b998f380f45aadd713981483ba07f8a4a468dc0f0f2bd904e8"
},
"downloads": -1,
"filename": "beam-nuggets-0.13.2.tar.gz",
"has_sig": false,
"md5_digest": "b414d2508adf79129b8e7901a28adca6",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 17262,
"upload_time": "2019-01-22T05:07:26",
"url": "https://files.pythonhosted.org/packages/fd/0f/edcaf41bdd6a917c978dfc75cc88a59e8489cc459c9a2c2f40b952632331/beam-nuggets-0.13.2.tar.gz"
}
],
"0.14.0": [
{
"comment_text": "",
"digests": {
"md5": "6290b828e6f6d870d2df429b9c82927a",
"sha256": "f34693ad57b3890fccb98c666d9352c23d68c6d59f3eb6749beb444d0d829373"
},
"downloads": -1,
"filename": "beam_nuggets-0.14.0-py2-none-any.whl",
"has_sig": false,
"md5_digest": "6290b828e6f6d870d2df429b9c82927a",
"packagetype": "bdist_wheel",
"python_version": "py2",
"requires_python": null,
"size": 22518,
"upload_time": "2019-05-11T11:14:22",
"url": "https://files.pythonhosted.org/packages/0c/56/f8046a6dea463e2bebe6ed9337a898f0b10eb12094aed3d86bc4ae3756c3/beam_nuggets-0.14.0-py2-none-any.whl"
},
{
"comment_text": "",
"digests": {
"md5": "3f9ebe93c0fbd7affa1721b4ee1e2b4d",
"sha256": "092ff84d55f0149d57407b9e2649856545987fbb5d2e387aa01b78da000bc3f8"
},
"downloads": -1,
"filename": "beam-nuggets-0.14.0.tar.gz",
"has_sig": false,
"md5_digest": "3f9ebe93c0fbd7affa1721b4ee1e2b4d",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 17510,
"upload_time": "2019-05-11T11:14:25",
"url": "https://files.pythonhosted.org/packages/04/3b/4256837670b9a48d152322ef344b6a4e53bde562ae2b5f8f41fffa95a778/beam-nuggets-0.14.0.tar.gz"
}
],
"0.15.0": [
{
"comment_text": "",
"digests": {
"md5": "6079bc08e8829b7278c30b9ef9ae8082",
"sha256": "2ecb913090baf1b46a48da8aa0ea8c53cb64bf86260d372cd0729b1429e748d7"
},
"downloads": -1,
"filename": "beam_nuggets-0.15.0-py2-none-any.whl",
"has_sig": false,
"md5_digest": "6079bc08e8829b7278c30b9ef9ae8082",
"packagetype": "bdist_wheel",
"python_version": "py2",
"requires_python": null,
"size": 24498,
"upload_time": "2019-06-23T18:16:31",
"url": "https://files.pythonhosted.org/packages/45/de/1a3cc0b8c97fabd4767ebb4ec5652922ab2b5f6efcac468c0c6c8a720b50/beam_nuggets-0.15.0-py2-none-any.whl"
},
{
"comment_text": "",
"digests": {
"md5": "b97ee868a9958bc06c1af06b2941533f",
"sha256": "b1fac6b408deb27f52cbff692b24cab2bbf3be4607c1b907da8cd1df30e321e6"
},
"downloads": -1,
"filename": "beam-nuggets-0.15.0.tar.gz",
"has_sig": false,
"md5_digest": "b97ee868a9958bc06c1af06b2941533f",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 17456,
"upload_time": "2019-06-23T18:16:33",
"url": "https://files.pythonhosted.org/packages/a1/a2/477372a7656b04b25c5a4f212eb248f6fb4096e83ee2d1234602a5c27f40/beam-nuggets-0.15.0.tar.gz"
}
],
"0.15.1": [
{
"comment_text": "",
"digests": {
"md5": "76b69f4681a03b615b45d9adfb97d3ba",
"sha256": "3615eb3dffedc4b1a5bac0efb33517c00c4a866b58d9bfb58469739ae806f106"
},
"downloads": -1,
"filename": "beam_nuggets-0.15.1-py2-none-any.whl",
"has_sig": false,
"md5_digest": "76b69f4681a03b615b45d9adfb97d3ba",
"packagetype": "bdist_wheel",
"python_version": "py2",
"requires_python": null,
"size": 24553,
"upload_time": "2019-08-15T19:36:31",
"url": "https://files.pythonhosted.org/packages/c9/e9/20a76f520fc9a1aaa8816238362c4b7fe80bfbdce8b96ab7d183c5259917/beam_nuggets-0.15.1-py2-none-any.whl"
},
{
"comment_text": "",
"digests": {
"md5": "276e0f1313606b4b7ba175efd7d7b59e",
"sha256": "7a0966d12720a57bc26c14a52f752582ede463f7c776582c65f309abbc33d8c6"
},
"downloads": -1,
"filename": "beam-nuggets-0.15.1.tar.gz",
"has_sig": false,
"md5_digest": "276e0f1313606b4b7ba175efd7d7b59e",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 17500,
"upload_time": "2019-08-15T19:36:35",
"url": "https://files.pythonhosted.org/packages/ac/7e/1f62164e152cdef33411eeab4afe635f0838af337a532474cd090a5734ad/beam-nuggets-0.15.1.tar.gz"
}
],
"0.9.0": [
{
"comment_text": "",
"digests": {
"md5": "0acb7521b0129af6371a671d025482b2",
"sha256": "d95fccc16d983bcb35d543e00b867f79d2a8cd2bc5b1c4581fa316980a8a670d"
},
"downloads": -1,
"filename": "beam_nuggets-0.9.0-py2-none-any.whl",
"has_sig": false,
"md5_digest": "0acb7521b0129af6371a671d025482b2",
"packagetype": "bdist_wheel",
"python_version": "py2",
"requires_python": null,
"size": 21182,
"upload_time": "2019-01-06T15:45:01",
"url": "https://files.pythonhosted.org/packages/11/66/bf1f4726f12777f680eb32fde96cfab1cd0e6b3c73acbd281d2db9518c21/beam_nuggets-0.9.0-py2-none-any.whl"
},
{
"comment_text": "",
"digests": {
"md5": "a5f6d06586d6ecf2cae237e4f6b962f2",
"sha256": "293537246254dfac9ecdbdfae30df2bb1d8f27cb5f912b216924accaeed3e32c"
},
"downloads": -1,
"filename": "beam-nuggets-0.9.0.tar.gz",
"has_sig": false,
"md5_digest": "a5f6d06586d6ecf2cae237e4f6b962f2",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 16379,
"upload_time": "2019-01-06T15:45:04",
"url": "https://files.pythonhosted.org/packages/48/0a/aefd306088844944deeeba1983707b90cc3ec8158cbb29d91e0a06528c6a/beam-nuggets-0.9.0.tar.gz"
}
]
},
"urls": [
{
"comment_text": "",
"digests": {
"md5": "76b69f4681a03b615b45d9adfb97d3ba",
"sha256": "3615eb3dffedc4b1a5bac0efb33517c00c4a866b58d9bfb58469739ae806f106"
},
"downloads": -1,
"filename": "beam_nuggets-0.15.1-py2-none-any.whl",
"has_sig": false,
"md5_digest": "76b69f4681a03b615b45d9adfb97d3ba",
"packagetype": "bdist_wheel",
"python_version": "py2",
"requires_python": null,
"size": 24553,
"upload_time": "2019-08-15T19:36:31",
"url": "https://files.pythonhosted.org/packages/c9/e9/20a76f520fc9a1aaa8816238362c4b7fe80bfbdce8b96ab7d183c5259917/beam_nuggets-0.15.1-py2-none-any.whl"
},
{
"comment_text": "",
"digests": {
"md5": "276e0f1313606b4b7ba175efd7d7b59e",
"sha256": "7a0966d12720a57bc26c14a52f752582ede463f7c776582c65f309abbc33d8c6"
},
"downloads": -1,
"filename": "beam-nuggets-0.15.1.tar.gz",
"has_sig": false,
"md5_digest": "276e0f1313606b4b7ba175efd7d7b59e",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 17500,
"upload_time": "2019-08-15T19:36:35",
"url": "https://files.pythonhosted.org/packages/ac/7e/1f62164e152cdef33411eeab4afe635f0838af337a532474cd090a5734ad/beam-nuggets-0.15.1.tar.gz"
}
]
}