{ "info": { "author": "podhmo", "author_email": "ababjam61+pypi@gmail.com", "bugtrack_url": null, "classifiers": [ "Programming Language :: Python", "Programming Language :: Python :: Implementation :: CPython" ], "description": "# cssresumable\n\nAdding tiny resume function for your csv reading iterator.\n\n## examples\n\n00main.py\n\n```python\nimport sys\nimport os\nimport random\nfrom io import StringIO\nfrom csvresumable import DictReader\n\ndata = \"\"\"\\\nid,name\n1,foo\n2,bar\n3,boo\n\"\"\"\n\nrandom.seed(int(os.environ.get(\"SEED\", \"0\")))\nfor row in DictReader(StringIO(data)):\n n = random.random()\n if n < 0.5:\n print(\"fail {}\".format(n), file=sys.stderr)\n sys.exit(0)\n print(\"\\t\", row[\"name\"])\nprint(\"finished\")\n\n```\n\nresuming until success.\n\n```console\nSEED=0 python 00main.py\nfail 0.420571580830845\n\t foo\n\t bar\nSEED=1 RESUME=1 python 00main.py\nfail 0.13436424411240122\nSEED=2 RESUME=1 python 00main.py\n\t boo\nfinished\nSEED=5 python 00main.py\n\t foo\n\t bar\n\t boo\nfinished\n\n```\n\nor setting with `resume` option (run this script, such as `python 01main.py --resume`)\n\n```diff\n--- 00main.py\t2018-06-16 04:19:51.573578443 +0900\n+++ 01main.py\t2018-06-16 04:20:04.760554103 +0900\n@@ -4,17 +4,23 @@\n from io import StringIO\n from csvresumable import DictReader\n\n-data = \"\"\"\\\n+data = \"\"\"\n id,name\n 1,foo\n 2,bar\n 3,boo\n \"\"\"\n\n+import argparse\n+parser = argparse.ArgumentParser()\n+parser.add_argument(\"--seed\", default=0, type=int)\n+parser.add_argument(\"--resume\", action=\"store_true\")\n+args = parser.parse_args()\n+\n random.seed(int(os.environ.get(\"SEED\", \"0\")))\n-for row in DictReader(StringIO(data)):\n+for row in DictReader(StringIO(data), resume=args.resume):\n n = random.random()\n- if n < 0.5:\n+ if n > 0.8:\n print(\"fail {}\".format(n), file=sys.stderr)\n sys.exit(0)\n print(\"\\t\", row[\"name\"])\n\n```\n\n### with multi files\n\n```python\nfrom csvresumable import DictReader\n\nfiles = [\"a.csv\", \"b.csv\"]\nfor f in files:\n r = DictReader(f)\n for row in r:\n do_something(row)\n\n```\n\n## more\n\n- [examples/01multisource](examples/01multisource)\n\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/podhmo/csvresumable", "keywords": "csv,resume", "license": "", "maintainer": "", "maintainer_email": "", "name": "csvresumable", "package_url": "https://pypi.org/project/csvresumable/", "platform": "", "project_url": "https://pypi.org/project/csvresumable/", "project_urls": { "Homepage": "https://github.com/podhmo/csvresumable" }, "release_url": "https://pypi.org/project/csvresumable/0.0.3.post2/", "requires_dist": [ "kamidana; extra == 'docs'" ], "requires_python": "", "summary": "adding tiny resume function, for csv reading iterator", "version": "0.0.3.post2" }, "last_serial": 4001720, "releases": { "0.0.0": [ { "comment_text": "", "digests": { "md5": "f25e82c8202ee6dcd2ce07f1fbf39619", "sha256": "f743e43fa75c05727b09a8728b4de39e284ba591caead4d7d33c0ae3447798a2" }, "downloads": -1, "filename": "csvresumable-0.0.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "f25e82c8202ee6dcd2ce07f1fbf39619", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 6354, "upload_time": "2018-06-15T19:25:08", "url": "https://files.pythonhosted.org/packages/23/1a/69759a08356b13e4b7578237785c879bf4b125d4af555a045cf104ec8f85/csvresumable-0.0.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "2f9e93197e2178af6a5431cde3e9ad80", "sha256": "2c6501a239e75cd4759a69d87eca70c734854206e7f899cd5441c71110e2cc80" }, "downloads": -1, "filename": "csvresumable-0.0.0.tar.gz", "has_sig": false, "md5_digest": "2f9e93197e2178af6a5431cde3e9ad80", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4379, "upload_time": "2018-06-15T19:25:09", "url": "https://files.pythonhosted.org/packages/4a/27/8709ccfb3ec783cfeb945e2e9c184fd86587f787b536bebda76717d8b4c8/csvresumable-0.0.0.tar.gz" } ], "0.0.1": [ { "comment_text": "", "digests": { "md5": "f012f99bda73d276ca53d188c58174c6", "sha256": "0f1f374a6abb4b7f8d9db009bea730ad8ee7fcafd80d2e25dc59be0b807cff75" }, "downloads": -1, "filename": "csvresumable-0.0.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "f012f99bda73d276ca53d188c58174c6", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 6360, "upload_time": "2018-06-15T19:30:06", "url": "https://files.pythonhosted.org/packages/df/1c/4e703b376f75f87f4d2a0bebff8b8c81aa324af21e23b5ffd9af5a1c55de/csvresumable-0.0.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "d92152bf35fab60e0530c3a3fabd1689", "sha256": "4d29083e6df8cd09b3e312e6dd6e36c68a95cddf427d9aa75c168ec1fb95a23d" }, "downloads": -1, "filename": "csvresumable-0.0.1.tar.gz", "has_sig": false, "md5_digest": "d92152bf35fab60e0530c3a3fabd1689", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4406, "upload_time": "2018-06-15T19:30:07", "url": "https://files.pythonhosted.org/packages/0c/f2/cb676825947792f4d609e0f0d8988683d787ccb7f1ef3aaee3b8fabed416/csvresumable-0.0.1.tar.gz" } ], "0.0.2": [ { "comment_text": "", "digests": { "md5": "d63fdf9e78396840ae7614c9aafb321c", "sha256": "212b34b81b5c3d35ef9c954fcb0aff0b60784838a12f195f8222e98580214a30" }, "downloads": -1, "filename": "csvresumable-0.0.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "d63fdf9e78396840ae7614c9aafb321c", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 7895, "upload_time": "2018-06-15T19:31:32", "url": "https://files.pythonhosted.org/packages/6d/6a/63b84655dc5f26f43ae5f98e9791ae3c20ed28c8b4463257b56090718923/csvresumable-0.0.2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "aaa26e053c0a2c2d0e9b471870153117", "sha256": "122a5aca4829df33196ffeba60d1ef324276caadf2be69c10a8b183c7e898781" }, "downloads": -1, "filename": "csvresumable-0.0.2.tar.gz", "has_sig": false, "md5_digest": "aaa26e053c0a2c2d0e9b471870153117", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4780, "upload_time": "2018-06-15T19:31:33", "url": "https://files.pythonhosted.org/packages/88/c7/1e3283e2f8483aef3fefd81619d936ec774673e74b3cddc02b1e2d047eee/csvresumable-0.0.2.tar.gz" } ], "0.0.3": [ { "comment_text": "", "digests": { "md5": "a2ad16310654af7385569b59c76a4ef1", "sha256": "c19aedd546c4b2332680b7e375e6972981ad9d8b8679867473e17ccc4c7f0212" }, "downloads": -1, "filename": "csvresumable-0.0.3-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "a2ad16310654af7385569b59c76a4ef1", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 7929, "upload_time": "2018-06-25T21:15:46", "url": "https://files.pythonhosted.org/packages/24/a5/74c1f2e325eeeaf52720b6be2229ef0fb6adbb9e8efb8f2dcccca0134dc6/csvresumable-0.0.3-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "f18c73a581759a227fee2de25903d700", "sha256": "968ce6bb7696ae5fba1ff41210c95848f235df0da3141fbbe82d73521f3f0296" }, "downloads": -1, "filename": "csvresumable-0.0.3.tar.gz", "has_sig": false, "md5_digest": "f18c73a581759a227fee2de25903d700", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4814, "upload_time": "2018-06-25T21:15:47", "url": "https://files.pythonhosted.org/packages/6f/f9/6cb1295776a4e27a58d2cc05159733c4c83c4941f5dcaffa75b9b6b8bd35/csvresumable-0.0.3.tar.gz" } ], "0.0.3.post1": [ { "comment_text": "", "digests": { "md5": "8650d3b091b878132e1e25314e96d584", "sha256": "15f3b24d932f54e3b7d1cf992c4e948eeedf94265bdb033bace2330e0fd4ca7e" }, "downloads": -1, "filename": "csvresumable-0.0.3.post1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "8650d3b091b878132e1e25314e96d584", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 8029, "upload_time": "2018-06-25T21:24:57", "url": "https://files.pythonhosted.org/packages/7a/95/1ca403007199985d6d7c7f76972f3f49fc9e1e65e39136569ed72218f426/csvresumable-0.0.3.post1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "9d6f6f6c117b8452a08e259a9ed0bdaa", "sha256": "3d6e2b91419de9d956622d3bfc8ed07eb60f10dfcab83b2a5d380dd7bb9c6af3" }, "downloads": -1, "filename": "csvresumable-0.0.3.post1.tar.gz", "has_sig": false, "md5_digest": "9d6f6f6c117b8452a08e259a9ed0bdaa", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4825, "upload_time": "2018-06-25T21:24:58", "url": "https://files.pythonhosted.org/packages/7b/2d/8e463809303984850493abafbc3a0a507b6dd0657006f3a44fb233dc8ebd/csvresumable-0.0.3.post1.tar.gz" } ], "0.0.3.post2": [ { "comment_text": "", "digests": { "md5": "4ae1c5599b18bd8cde392c3dd940a4e4", "sha256": "dbe58d8079d96ee07c985f67db91e57148cf1d01c2503cf410cbfe62a5c217d4" }, "downloads": -1, "filename": "csvresumable-0.0.3.post2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "4ae1c5599b18bd8cde392c3dd940a4e4", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 6367, "upload_time": "2018-06-25T21:27:20", "url": "https://files.pythonhosted.org/packages/28/ed/f9bf4ff693ce4c9233ede0bf57450d60674d4b152b2298405627888ae748/csvresumable-0.0.3.post2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "e75893243b8376081353f59cfcda5432", "sha256": "0840b7bc6ef4161c39572c8366d8265375da60406f38d59f3d17aaecbc7ffc58" }, "downloads": -1, "filename": "csvresumable-0.0.3.post2.tar.gz", "has_sig": false, "md5_digest": "e75893243b8376081353f59cfcda5432", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4836, "upload_time": "2018-06-25T21:27:21", "url": "https://files.pythonhosted.org/packages/8d/77/1f45e9b653596f2f1adfc4b9c5a36951a7a45fb66e3e636169de335fc31f/csvresumable-0.0.3.post2.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "4ae1c5599b18bd8cde392c3dd940a4e4", "sha256": "dbe58d8079d96ee07c985f67db91e57148cf1d01c2503cf410cbfe62a5c217d4" }, "downloads": -1, "filename": "csvresumable-0.0.3.post2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "4ae1c5599b18bd8cde392c3dd940a4e4", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 6367, "upload_time": "2018-06-25T21:27:20", "url": "https://files.pythonhosted.org/packages/28/ed/f9bf4ff693ce4c9233ede0bf57450d60674d4b152b2298405627888ae748/csvresumable-0.0.3.post2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "e75893243b8376081353f59cfcda5432", "sha256": "0840b7bc6ef4161c39572c8366d8265375da60406f38d59f3d17aaecbc7ffc58" }, "downloads": -1, "filename": "csvresumable-0.0.3.post2.tar.gz", "has_sig": false, "md5_digest": "e75893243b8376081353f59cfcda5432", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4836, "upload_time": "2018-06-25T21:27:21", "url": "https://files.pythonhosted.org/packages/8d/77/1f45e9b653596f2f1adfc4b9c5a36951a7a45fb66e3e636169de335fc31f/csvresumable-0.0.3.post2.tar.gz" } ] }