{ "info": { "author": "Daniel Francis", "author_email": "daniel.francis@infusionsoft.com", "bugtrack_url": null, "classifiers": [ "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", "Programming Language :: Python :: 3" ], "description": "# Popelines\n\nThis is a simple ETL tool for BigQuery, named for the author's surname. \n\nPopelines provides some basic functionality, such as writing to line-delimited JSON, writing to BigQuery, chunking dates, and other tools that are often needed when writing an ETL. It's sparse now, but I plan to expand it to include other Google Cloud functionalities.\n\nInstall\n-------\nTo install popelines:\n```bash\n$ pip install popelines\n```\n\nUsage\n-----\n\nTo get started:\n```python\nimport popelines\n\npope = popelines.popeline(dataset_id='', service_key_file_loc=None, directory='.', verbose=False)\n```\n\nProviding a `dataset_id` is required. Everything else is optional - a service key will be inferred from your GOOGLE_ACCOUNT_CREDENTIALS env variable if not provided in `service_key_file_loc`, and `directory` defaults to the current directory if not provided. \n\nPopelines does some big handy things like you might expect:\n```python\n# write a dict to line-delimited JSON, perfect for uploading to BQ\npope.write_to_json(file_name=file_name, jayson=your_dict, mode='w')\n\n# then you can turn around and upload that line-delimtited JSON...\npope.write_to_bq(table_name=table_name, file_name=file_name, append=True, \n ignore_unknown_values=False, bq_schema_autodetect=False)\n\n# or you can write it to GCS! leave bucket_name=None and popelines\n# will try to upload to a bucket with the dataset_id you gave when you\n# first initialized your pope object!\npope.write_to_gcs(gcs_path='folder/file.py', file_name='file.py', bucket_name=None)\n\n# you can even call your API endpoints! This method returns a dict of data.\ndata = pope.call_api(url=url, method='GET', headers=None, params=None, data=None)\n```\n\nPopelines also does small handy things:\n```python\n# get a logger at your chosen verbosity and use it to log things\nlog = pope.log\nlog.info('Does the code get to this point?')\n\n# chunk a date range into chunks n-days large\nstart_datetime = datetime.datetime(2018, 3, 1)\nend_datetime = datetime.datetime(2018, 9, 1)\nfor day in pope.chunk_date_range(start_datetime=start, end_datetime=end, chunk_size=1):\n print(f\"I think I may have been drunk on {day}, can you name another date?\")\n\n# find the last entry in a table - basically, query for the MAX() of a column\nlatest_day = pope.find_last_entry(table_name='my_table', date_column='day')\n```\n\nFinally, Popelines even does weird experimental things:\n```python\n# messed up JSON keys? fix_json_keys takes your dict obj and a callback\n# function and applies the callback to each key recursively!\nmy_good_json = pope.fix_json_keys(obj=my_bad_json, callback=key_fixing_function)\n\n# if your JSON values are messed up, have no fear! There is a similar \n# function for that!\nmy_good_json = pope.fix_json_values(obj=my_bad_json, callback=value_fixing_function)\n```\n*Note that `key_fixing_function` should take one argument (the key) while `value_fixing_function` must handle both a value and a key as arguments.*\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/InfusionsoftAnalytics/popelines", "keywords": "", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "popelines", "package_url": "https://pypi.org/project/popelines/", "platform": "", "project_url": "https://pypi.org/project/popelines/", "project_urls": { "Homepage": "https://github.com/InfusionsoftAnalytics/popelines" }, "release_url": "https://pypi.org/project/popelines/0.1.19/", "requires_dist": [ "google-cloud-storage", "google-cloud-bigquery", "bigquery-schema-generator" ], "requires_python": "", "summary": "An ETL library for Google BigQuery", "version": "0.1.19" }, "last_serial": 5524766, "releases": { "0.1": [ { "comment_text": "", "digests": { "md5": "a27c22760c0c337b07c3e2335b59ee38", "sha256": "34940e75d1dca239801ab50045b56cd43006c6ae68b5d371300ef5e4af8bb987" }, "downloads": -1, "filename": "popelines-0.1-py3-none-any.whl", "has_sig": false, "md5_digest": "a27c22760c0c337b07c3e2335b59ee38", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 3888, "upload_time": "2018-10-24T02:02:44", "url": "https://files.pythonhosted.org/packages/be/15/2eeafecebf5067256266254b14110cca72c5b3461f8e19c563d5427f6059/popelines-0.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "3b98d6369bc25e5f41cc8a9241d4855f", "sha256": "329a12304c6a11b1978cf0f5bf4b1752f1dcac0eddb9acab4a8913a66e7c905c" }, "downloads": -1, "filename": "popelines-0.1.tar.gz", "has_sig": false, "md5_digest": "3b98d6369bc25e5f41cc8a9241d4855f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2644, "upload_time": "2018-10-24T02:02:45", "url": "https://files.pythonhosted.org/packages/e0/b7/4c9a15bc06783e5a4b9bf13412646323f275f7de97772e9f1dcfcd5d443a/popelines-0.1.tar.gz" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "0d0eb7bdccb70c0cd8fcf36ff7c0888a", "sha256": "4717ce8bd224dd00d69a0a72af6f4fe7995ed29db6a7d482ed99dc6bb958ea29" }, "downloads": -1, "filename": "popelines-0.1.1-py3-none-any.whl", "has_sig": false, "md5_digest": "0d0eb7bdccb70c0cd8fcf36ff7c0888a", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 3908, "upload_time": "2018-10-24T02:16:31", "url": "https://files.pythonhosted.org/packages/1b/23/8780f45b9365a50395fd972469034a5017a9ccef9f89f09a93650180855e/popelines-0.1.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "2766f0927417e9f12f2cb0bbeecca453", "sha256": "d2184fa3dd13e35119b593d3f8307eeafae8a30cb8bbdfe98eb57c5841e30dbd" }, "downloads": -1, "filename": "popelines-0.1.1.tar.gz", "has_sig": false, "md5_digest": "2766f0927417e9f12f2cb0bbeecca453", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2668, "upload_time": "2018-10-24T02:16:33", "url": "https://files.pythonhosted.org/packages/b7/09/8045326dd6be6ec92d2123171bbd9b04280c9561e59e79c1bfc17f025621/popelines-0.1.1.tar.gz" } ], "0.1.10": [ { "comment_text": "", "digests": { "md5": "b73f7d44e68033fe5f6fa363a933d41a", "sha256": "40e1423f3a9c09abc14095e3b3cb54a26ec3a317d993f2cfacec3251fcd0013e" }, "downloads": -1, "filename": "popelines-0.1.10-py3-none-any.whl", "has_sig": false, "md5_digest": "b73f7d44e68033fe5f6fa363a933d41a", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 5182, "upload_time": "2018-10-31T05:51:39", "url": "https://files.pythonhosted.org/packages/2d/a2/407397b9d48cbc4d5489cbdcea94dbb1505f09a101698ea604e16a3f7a58/popelines-0.1.10-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "50917447d2d6d747a3030f27754bd99c", "sha256": "75ce4c4b43faefdbac6708239a01fc064cda2900aa5839ee1b3d774fc8ef5a55" }, "downloads": -1, "filename": "popelines-0.1.10.tar.gz", "has_sig": false, "md5_digest": "50917447d2d6d747a3030f27754bd99c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3957, "upload_time": "2018-10-31T05:51:47", "url": "https://files.pythonhosted.org/packages/dd/ad/e117a9db847f15a207563027fb5e2fada1929016ace8574de9e32619588b/popelines-0.1.10.tar.gz" } ], "0.1.11": [ { "comment_text": "", "digests": { "md5": "6fe9eb5832cc2f113210523e7ae87d12", "sha256": "6e0ccfbf185278787edef322206cdfddf80d856d6af41f3778e4d228666b7269" }, "downloads": -1, "filename": "popelines-0.1.11-py3-none-any.whl", "has_sig": false, "md5_digest": "6fe9eb5832cc2f113210523e7ae87d12", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 5278, "upload_time": "2018-10-31T21:53:21", "url": "https://files.pythonhosted.org/packages/a4/33/0797ee1cd955f26a6b9681e7fe411d20704d884a81ec9ef467c5925091bc/popelines-0.1.11-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "17759af7a0f77c914364bcd8218dd273", "sha256": "58a1139bbbffc9159e03320a8910b2110b7f894e9e5051a241c0a30f271d28cf" }, "downloads": -1, "filename": "popelines-0.1.11.tar.gz", "has_sig": false, "md5_digest": "17759af7a0f77c914364bcd8218dd273", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4057, "upload_time": "2018-10-31T21:53:35", "url": "https://files.pythonhosted.org/packages/a9/66/0309d8bfa3d3fbce62304e18fe79170bc4c7194ee135cb5a7a60c4f457c0/popelines-0.1.11.tar.gz" } ], "0.1.12": [ { "comment_text": "", "digests": { "md5": "b528a90b4237c6ed413e5f8acc553e9e", "sha256": "233088095e06475e9c3ec76f84b5403d7c3e304ca1f9a1684d1a59fde7b8db48" }, "downloads": -1, "filename": "popelines-0.1.12-py3-none-any.whl", "has_sig": false, "md5_digest": "b528a90b4237c6ed413e5f8acc553e9e", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 5305, "upload_time": "2018-11-12T19:05:50", "url": "https://files.pythonhosted.org/packages/dc/08/087795212afee7c658fd5eb1b479cc6e8be62f7a3e550a0d256ee44a1df2/popelines-0.1.12-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "5d5576754466534b1f4358148f7f9a8d", "sha256": "21684ee9cd1e45ed1767277245ec6734e6d3504b8878bcd148a299d86585104c" }, "downloads": -1, "filename": "popelines-0.1.12.tar.gz", "has_sig": false, "md5_digest": "5d5576754466534b1f4358148f7f9a8d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4097, "upload_time": "2018-11-12T19:05:52", "url": "https://files.pythonhosted.org/packages/13/e5/eb1ba027a4d0c062e7c8bdda96b04dcaee1bc0c83a516c4f2d8928fd60bb/popelines-0.1.12.tar.gz" } ], "0.1.13": [ { "comment_text": "", "digests": { "md5": "3781cadedd8abd4dd6dad716b6dc4d7d", "sha256": "a600e55a4b2f33c4c1bd7d1a1f330e034b75f66eee6257092e6fb16c03f71971" }, "downloads": -1, "filename": "popelines-0.1.13-py3-none-any.whl", "has_sig": false, "md5_digest": "3781cadedd8abd4dd6dad716b6dc4d7d", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 5346, "upload_time": "2018-11-13T22:55:11", "url": "https://files.pythonhosted.org/packages/9e/6b/ea9bff596450c2b112c610f1f01a7d8bee379bafe6c313210c9d35cb3de5/popelines-0.1.13-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "1e3f1245c548fb9bc53342fa0d0a4f32", "sha256": "6ef31aded82eb626c071404c53b311d799370aa402df8110c0d04bedb25615a6" }, "downloads": -1, "filename": "popelines-0.1.13.tar.gz", "has_sig": false, "md5_digest": "1e3f1245c548fb9bc53342fa0d0a4f32", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4137, "upload_time": "2018-11-13T22:55:13", "url": "https://files.pythonhosted.org/packages/cc/a8/66a47a76c0d14a43e10e979cb99c46b2ba2308c05cb0b866a0bbbfb40578/popelines-0.1.13.tar.gz" } ], "0.1.14": [ { "comment_text": "", "digests": { "md5": "97c8ed48061ea4ca1c3c5e99ea03f586", "sha256": "0816f20ceb9419b7742ed99a09c13565eb51797a0031af07d4c3c2d35b04603b" }, "downloads": -1, "filename": "popelines-0.1.14-py3-none-any.whl", "has_sig": false, "md5_digest": "97c8ed48061ea4ca1c3c5e99ea03f586", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 5359, "upload_time": "2018-11-15T21:55:22", "url": "https://files.pythonhosted.org/packages/84/e5/245283b487963c5a6220d753184fe73a5338a5e86ec3057ec0dcd502f560/popelines-0.1.14-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "f9b1eb2ed8bb06f9ce935ead0b720fe8", "sha256": "aef86a26dbda6a0a5b12abe844fa00a96887f371623eccf010a24ac6cfb18d3c" }, "downloads": -1, "filename": "popelines-0.1.14.tar.gz", "has_sig": false, "md5_digest": "f9b1eb2ed8bb06f9ce935ead0b720fe8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4138, "upload_time": "2018-11-15T21:55:25", "url": "https://files.pythonhosted.org/packages/2b/78/bdc67c42ed47b373bcb62c2f0f6dcc210f695481eed5a5dd39ce4fb247c0/popelines-0.1.14.tar.gz" } ], "0.1.15": [ { "comment_text": "", "digests": { "md5": "897a316c648b0159a7115ee40a238e1b", "sha256": "482c4ac36c238b5b023dc1e9bcb4c1688a021494889c74dfbfdd4df4a49c8c84" }, "downloads": -1, "filename": "popelines-0.1.15-py3-none-any.whl", "has_sig": false, "md5_digest": "897a316c648b0159a7115ee40a238e1b", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 6533, "upload_time": "2018-11-27T07:54:26", "url": "https://files.pythonhosted.org/packages/3b/c9/f222c89a6f9cdcc21d496f7f2862cfca7c92dc2ff05e491d702b4ecb2311/popelines-0.1.15-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "7029d5e1695f8725b498c247b597f457", "sha256": "c3fa7e777b7525c518470bd58e262dd9a200a61d6af6978fb54dd7d80a3048ea" }, "downloads": -1, "filename": "popelines-0.1.15.tar.gz", "has_sig": false, "md5_digest": "7029d5e1695f8725b498c247b597f457", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5367, "upload_time": "2018-11-27T07:54:29", "url": "https://files.pythonhosted.org/packages/1b/a0/1edc00312bb554b315405212f78e7f28cfbaf77a71f3efb48a30741e49f7/popelines-0.1.15.tar.gz" } ], "0.1.16": [ { "comment_text": "", "digests": { "md5": "efc70d684895c4b66eddb2bbda24eade", "sha256": "0e9698bcadba52ee27710174d2c1afbd04ee20cb06e4986c6be25935f328f36a" }, "downloads": -1, "filename": "popelines-0.1.16-py3-none-any.whl", "has_sig": false, "md5_digest": "efc70d684895c4b66eddb2bbda24eade", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 6744, "upload_time": "2018-12-04T03:12:45", "url": "https://files.pythonhosted.org/packages/61/cc/ccda696bba3976a64f44a8004caaf30af13e5735131bbc43f8b7b55a3db1/popelines-0.1.16-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "5ca2948b314f7f187de6b477987fb82b", "sha256": "a375c28dd52962b70f9d10e6c34bec9f8280142b08f47a00bcfed0027561d313" }, "downloads": -1, "filename": "popelines-0.1.16.tar.gz", "has_sig": false, "md5_digest": "5ca2948b314f7f187de6b477987fb82b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5569, "upload_time": "2018-12-04T03:12:47", "url": "https://files.pythonhosted.org/packages/a9/2b/c8212f51ec95e349028c20b9b9b962e1aa72f9e484af606bbcf9a9e89705/popelines-0.1.16.tar.gz" } ], "0.1.17": [ { "comment_text": "", "digests": { "md5": "ddf87bba76174cbb7dbf51666d9c3cf1", "sha256": "a5e366fdf4287da2817cb665758af8f47e664c35174cc2dab03dd6a2a91c4c0b" }, "downloads": -1, "filename": "popelines-0.1.17-py3-none-any.whl", "has_sig": false, "md5_digest": "ddf87bba76174cbb7dbf51666d9c3cf1", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 6837, "upload_time": "2019-01-25T00:13:52", "url": "https://files.pythonhosted.org/packages/36/78/c7e445b695393bdea076072184cf8fc14580a73f94c211273c2badf7ce36/popelines-0.1.17-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "caccddfa225ed5a05e7c9e3ddbe10d6b", "sha256": "d812fb1dcebec983168e9f488fc30af55fdf6ad08527bc9b3e7ff8dcc9f68c1f" }, "downloads": -1, "filename": "popelines-0.1.17.tar.gz", "has_sig": false, "md5_digest": "caccddfa225ed5a05e7c9e3ddbe10d6b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5665, "upload_time": "2019-01-25T00:13:55", "url": "https://files.pythonhosted.org/packages/64/30/d5116f4d348ff5da0331d0f3893b83d42b21f221adac343d8b78f89333ac/popelines-0.1.17.tar.gz" } ], "0.1.18": [ { "comment_text": "", "digests": { "md5": "9c4a4943fd754e760d694ad103576d33", "sha256": "1bdaeca52bc113f1e68e1a2d3cacdb9eaa568172d37cfe0c068788f9738aff33" }, "downloads": -1, "filename": "popelines-0.1.18-py3-none-any.whl", "has_sig": false, "md5_digest": "9c4a4943fd754e760d694ad103576d33", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 6875, "upload_time": "2019-03-26T06:19:22", "url": "https://files.pythonhosted.org/packages/f7/67/12a23ef911dec475b8758a2326892ad826b559d4ca647670d2ae6603840d/popelines-0.1.18-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "1147195cdc8827af03eef69cd30b69ef", "sha256": "db03d1d44797fdc6a470215236e4e41e7f4f3debf582b1630af9240f2b90df28" }, "downloads": -1, "filename": "popelines-0.1.18.tar.gz", "has_sig": false, "md5_digest": "1147195cdc8827af03eef69cd30b69ef", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5746, "upload_time": "2019-03-26T06:19:25", "url": "https://files.pythonhosted.org/packages/9f/a3/9a62ceb9472b2ee64a437dcc3ac9ab88a1314eb77367e8247d8a84804a64/popelines-0.1.18.tar.gz" } ], "0.1.19": [ { "comment_text": "", "digests": { "md5": "dc17b584c6a65c5795ba2541a38ae63d", "sha256": "e1a1924ef19a86e569913cf9a0b07c74f5a9beda014d69a8a4ff51d0bb955931" }, "downloads": -1, "filename": "popelines-0.1.19-py3-none-any.whl", "has_sig": false, "md5_digest": "dc17b584c6a65c5795ba2541a38ae63d", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 6982, "upload_time": "2019-07-12T20:09:57", "url": "https://files.pythonhosted.org/packages/59/c4/82a6108d467675d6493631ee9b882e31c420814d1941a79be10607122a8e/popelines-0.1.19-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "5107abfcc6a7a1233d66e3220d4d64b9", "sha256": "9b6276d0487408c077ef695d04eba07923458381554f3b1bfa8e7b59670464b2" }, "downloads": -1, "filename": "popelines-0.1.19.tar.gz", "has_sig": false, "md5_digest": "5107abfcc6a7a1233d66e3220d4d64b9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5858, "upload_time": "2019-07-12T20:10:00", "url": "https://files.pythonhosted.org/packages/15/a2/b7c3bceb449d71cb52f20684eb1642b158b83ff601bf8371905aea4b900d/popelines-0.1.19.tar.gz" } ], "0.1.2": [ { "comment_text": "", "digests": { "md5": "1aed978fd835b147059b315490e0f9c8", "sha256": "0f832321ef259e66fb234deac06027a7d58b96ba2ba188fbe3a9dc2ca4443e81" }, "downloads": -1, "filename": "popelines-0.1.2-py3-none-any.whl", "has_sig": false, "md5_digest": "1aed978fd835b147059b315490e0f9c8", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 4072, "upload_time": "2018-10-24T02:55:32", "url": "https://files.pythonhosted.org/packages/b7/12/b70a9df6873f6783691a1f30304e355220ac55a55f353d5350bd16c5ac76/popelines-0.1.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "48920cc3e6e19481821c7187efa5be08", "sha256": "1ce5da4fb33ae60d890afc5812c7d67d3c524af786f70e5b825e3b079b7538e1" }, "downloads": -1, "filename": "popelines-0.1.2.tar.gz", "has_sig": false, "md5_digest": "48920cc3e6e19481821c7187efa5be08", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2831, "upload_time": "2018-10-24T02:55:33", "url": "https://files.pythonhosted.org/packages/ce/6f/cee098115444146551aa2362327cf2ca2ab2ba1858d67548e1c6064afed2/popelines-0.1.2.tar.gz" } ], "0.1.3": [ { "comment_text": "", "digests": { "md5": "1859250c055ac6bde7c77709e4dddecf", "sha256": "8a57d24477b9b55d5319dc38745d0af9ebe4f10a3d5de9f9b305a85113d614e3" }, "downloads": -1, "filename": "popelines-0.1.3-py3-none-any.whl", "has_sig": false, "md5_digest": "1859250c055ac6bde7c77709e4dddecf", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 4140, "upload_time": "2018-10-24T03:14:05", "url": "https://files.pythonhosted.org/packages/d9/c5/8635dc9671a21c041c110e28bdb11178e7b7d8526896a15abf017468dfa0/popelines-0.1.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "462395c0cd50575eb9a580583998bd53", "sha256": "d5e61bf17707e5f0436fc8381499ed5f80d7bc491771a879fabead4384772928" }, "downloads": -1, "filename": "popelines-0.1.3.tar.gz", "has_sig": false, "md5_digest": "462395c0cd50575eb9a580583998bd53", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2892, "upload_time": "2018-10-24T03:14:07", "url": "https://files.pythonhosted.org/packages/c8/0b/88c6596761f75d56ff4b480e31136f7b0ec9eff41cd11bb92340cfe7e6a8/popelines-0.1.3.tar.gz" } ], "0.1.4": [ { "comment_text": "", "digests": { "md5": "844d3e21d165a6530e5b448ed492b1e4", "sha256": "a9cb22118bb09a715f159a63937bc8e14c39cfcb8aa6e9ff44b80556db5cfb67" }, "downloads": -1, "filename": "popelines-0.1.4-py3-none-any.whl", "has_sig": false, "md5_digest": "844d3e21d165a6530e5b448ed492b1e4", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 4172, "upload_time": "2018-10-24T03:28:40", "url": "https://files.pythonhosted.org/packages/76/63/5573ec37941f3a3a0b3c00358ed7a6f3852ec319aa2530023692ab1bd343/popelines-0.1.4-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "269b75c0742a5c62601609312188a62a", "sha256": "c7cf3dfaf72299ced5d32a2c6f5ca401f9b7f79d8f041609305048eeda7fd94a" }, "downloads": -1, "filename": "popelines-0.1.4.tar.gz", "has_sig": false, "md5_digest": "269b75c0742a5c62601609312188a62a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2921, "upload_time": "2018-10-24T03:28:42", "url": "https://files.pythonhosted.org/packages/3f/21/fd0a41f70797617516cc4771752a06d23905f34c45b063a75f8516d83575/popelines-0.1.4.tar.gz" } ], "0.1.5": [ { "comment_text": "", "digests": { "md5": "240ce34defcdb5504903f03b36219dcb", "sha256": "645ba881065ae75b1a722edd46b6a6054ec2cd42a00a512d61997b408666de68" }, "downloads": -1, "filename": "popelines-0.1.5-py3-none-any.whl", "has_sig": false, "md5_digest": "240ce34defcdb5504903f03b36219dcb", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 4312, "upload_time": "2018-10-26T00:04:20", "url": "https://files.pythonhosted.org/packages/cb/1d/b2670a1d2172f229a975781b9aeea26e708dc32fcb507e0abb8234e889ca/popelines-0.1.5-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "d9e7b91363aec252945a5cd714a8d297", "sha256": "fa5c991cfa447b64f1d78ddcf48419a63a5fee4a5221cfb78a56949ef0051396" }, "downloads": -1, "filename": "popelines-0.1.5.tar.gz", "has_sig": false, "md5_digest": "d9e7b91363aec252945a5cd714a8d297", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3066, "upload_time": "2018-10-26T00:04:24", "url": "https://files.pythonhosted.org/packages/d6/b8/08b593264753b2885b4d479ca27b7ed84d0231df56a2ac2d0dac3ed43cbb/popelines-0.1.5.tar.gz" } ], "0.1.6": [ { "comment_text": "", "digests": { "md5": "c305a65263474c0d73013d35aead6be3", "sha256": "fca969daf63dcd3d640c626bd512e12a71f610bd1cfbe18c5b2b00fa544d95a3" }, "downloads": -1, "filename": "popelines-0.1.6-py3-none-any.whl", "has_sig": false, "md5_digest": "c305a65263474c0d73013d35aead6be3", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 4282, "upload_time": "2018-10-26T22:23:14", "url": "https://files.pythonhosted.org/packages/95/d2/fe9d6d6197f613c54bf54cea7b47d0a53aaa2e4118b3fcf46ca67006e0c4/popelines-0.1.6-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "6aefc98265dfc31157a5fd659bfca707", "sha256": "b29e4ba11d0a0af6c970d73d9240aeb460aa9277d86a591a67c5d00d9392e970" }, "downloads": -1, "filename": "popelines-0.1.6.tar.gz", "has_sig": false, "md5_digest": "6aefc98265dfc31157a5fd659bfca707", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3022, "upload_time": "2018-10-26T22:23:17", "url": "https://files.pythonhosted.org/packages/06/0b/8031b746198f8de7e078076c31c3e5f32ab09d12851c196e87993e3a0de8/popelines-0.1.6.tar.gz" } ], "0.1.7": [ { "comment_text": "", "digests": { "md5": "d2bbd555927bd0f50705c843db5ac326", "sha256": "0fe0ee81c87e60d2ff7c16377b4b3ac15aa44aa9fc26a6bb905f2a91fb3e2cd0" }, "downloads": -1, "filename": "popelines-0.1.7-py3-none-any.whl", "has_sig": false, "md5_digest": "d2bbd555927bd0f50705c843db5ac326", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 4709, "upload_time": "2018-10-26T23:46:34", "url": "https://files.pythonhosted.org/packages/52/e8/2311b80f1394454056347aa22fc98571163fca56791632d6163d530e966f/popelines-0.1.7-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "62f8c37c88ca55b7c0899ea2ceb6123e", "sha256": "c695495094ec127c4c4f1601c649e46afbe1574d8d76f1ae930abea31fd58c17" }, "downloads": -1, "filename": "popelines-0.1.7.tar.gz", "has_sig": false, "md5_digest": "62f8c37c88ca55b7c0899ea2ceb6123e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3496, "upload_time": "2018-10-26T23:46:38", "url": "https://files.pythonhosted.org/packages/f0/50/6f32f499b7d351d729524c3959dcadd4ac6886720475563f322cc1bf6a52/popelines-0.1.7.tar.gz" } ], "0.1.8": [ { "comment_text": "", "digests": { "md5": "22dacc46119e0f014437ecc7552426c1", "sha256": "8a51e5c15b89a240d10cff7a78c33bd3d5c83e43cdb9c9773bc06f643d7f32fa" }, "downloads": -1, "filename": "popelines-0.1.8-py3-none-any.whl", "has_sig": false, "md5_digest": "22dacc46119e0f014437ecc7552426c1", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 4692, "upload_time": "2018-10-27T03:49:51", "url": "https://files.pythonhosted.org/packages/dd/ff/0cec84f9ce5930d2fa1d9f0353c19418fff1f505052200a34979b781b63e/popelines-0.1.8-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "f1a0ff067c47fa47b4bdceb120ae3fd7", "sha256": "3e2d6e11aab4acccaf01f4fb6a7721bc64d55c107e1c0128535944e9eeeacc5a" }, "downloads": -1, "filename": "popelines-0.1.8.tar.gz", "has_sig": false, "md5_digest": "f1a0ff067c47fa47b4bdceb120ae3fd7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3477, "upload_time": "2018-10-27T03:49:55", "url": "https://files.pythonhosted.org/packages/56/5b/3245e8c813caa3e4ec89b2ed2535839b296ba3cc9892b84e86e948fc1e2a/popelines-0.1.8.tar.gz" } ], "0.1.9": [ { "comment_text": "", "digests": { "md5": "bafeb5d9b5827107055e14d848923f13", "sha256": "8b982ae1194ef65210284b7a9258a7a3a008528b6bc0a20d9e724edf8d3be4f6" }, "downloads": -1, "filename": "popelines-0.1.9-py3-none-any.whl", "has_sig": false, "md5_digest": "bafeb5d9b5827107055e14d848923f13", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 5056, "upload_time": "2018-10-30T04:05:24", "url": "https://files.pythonhosted.org/packages/8b/5d/20c852ad4419233080866b862da804f2d80a01ee6da35aea3448520e24f5/popelines-0.1.9-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "22e93567663f7e810a17d506de14eb2b", "sha256": "84f5cab8510e8a52750e2cb848fee6883a7f261f012700b266ec209a86976025" }, "downloads": -1, "filename": "popelines-0.1.9.tar.gz", "has_sig": false, "md5_digest": "22e93567663f7e810a17d506de14eb2b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3837, "upload_time": "2018-10-30T04:05:32", "url": "https://files.pythonhosted.org/packages/5e/7c/5bd7eb1f20964cf326119f271d985dd99bfa74bc9381c9c00024e49ce52d/popelines-0.1.9.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "dc17b584c6a65c5795ba2541a38ae63d", "sha256": "e1a1924ef19a86e569913cf9a0b07c74f5a9beda014d69a8a4ff51d0bb955931" }, "downloads": -1, "filename": "popelines-0.1.19-py3-none-any.whl", "has_sig": false, "md5_digest": "dc17b584c6a65c5795ba2541a38ae63d", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 6982, "upload_time": "2019-07-12T20:09:57", "url": "https://files.pythonhosted.org/packages/59/c4/82a6108d467675d6493631ee9b882e31c420814d1941a79be10607122a8e/popelines-0.1.19-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "5107abfcc6a7a1233d66e3220d4d64b9", "sha256": "9b6276d0487408c077ef695d04eba07923458381554f3b1bfa8e7b59670464b2" }, "downloads": -1, "filename": "popelines-0.1.19.tar.gz", "has_sig": false, "md5_digest": "5107abfcc6a7a1233d66e3220d4d64b9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5858, "upload_time": "2019-07-12T20:10:00", "url": "https://files.pythonhosted.org/packages/15/a2/b7c3bceb449d71cb52f20684eb1642b158b83ff601bf8371905aea4b900d/popelines-0.1.19.tar.gz" } ] }