{ "info": { "author": "Ryan Hiebert", "author_email": "ryan@ryanhiebert.com", "bugtrack_url": null, "classifiers": [ "Programming Language :: Python", "Programming Language :: Python :: 2", "Programming Language :: Python :: 2.6", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.3", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7" ], "description": "================================================\nbackports.csv: Backport of Python 3's csv module\n================================================\n\n.. image:: https://img.shields.io/pypi/v/backports.csv.svg\n :target: https://pypi.python.org/pypi/backports.csv\n :alt: Latest Version\n\n.. image:: https://travis-ci.org/ryanhiebert/backports.csv.svg?branch=master\n :target: https://travis-ci.org/ryanhiebert/backports.csv\n\n.. image:: https://badges.gitter.im/ryanhiebert/backports.csv.svg\n :alt: Join the chat at https://gitter.im/ryanhiebert/backports.csv\n :target: https://gitter.im/ryanhiebert/backports.csv?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge\n\n.. image:: https://requires.io/github/ryanhiebert/backports.csv/requirements.svg?branch=master\n :target: https://requires.io/github/ryanhiebert/backports.csv/requirements/?branch=master\n :alt: Requirements Status\n\nThe API of the csv module in Python 2 is drastically different from\nthe csv module in Python 3. This is due, for the most part, to the\ndifference between str in Python 2 and Python 3.\n\nThe semantics of Python 3's version are more useful because they support\nunicode natively, while Python 2's csv does not.\n\nInstallation\n============\n\n.. code-block:: sh\n\n pip install backports.csv\n\nUsage\n=====\n\nFirst make sure you're starting your file off right:\n\n.. code-block:: python\n\n from backports import csv\n\n\nThen be careful with your files to handle the encoding.\nIf you're working with a binary file-like object,\n``io.TextIOWrapper`` can be very helpful.\nIf you're dealing with a file, you can just use ``io.open``\ninstead of Python 2's ``open`` builtin, and it works\njust like Python 3's builtin ``open``.\n\n.. code-block:: python\n\n from backports import csv\n import io\n\n def read_csv(filename):\n with io.open(filename, newline='', encoding='utf-8') as f:\n for row in csv.reader(f):\n yield row\n\n def write_csv(filename, rows):\n with io.open(filename, 'w', newline='', encoding='utf-8') as f:\n writer = csv.writer(f)\n for row in rows:\n writer.writerow(row)\n\nNote: It should always be safe to specify ``newline=''``,\nsince the csv module does its own (universal) newline handling.\n\n\n1.0.7 (2019-03-10)\n++++++++++++++++++\n\n* Add tests to ``MANIFEST.in``.\n - thanks to @jayvdb for the pull request\n\n1.0.6 (2018-05-22)\n++++++++++++++++++\n\n* Pass reader error messages along. (#28)\n This should help make errors more transparent.\n - thanks to @mpeteuil for the pull request\n\n1.0.5 (2017-05-29)\n++++++++++++++++++\n\n* Fix bug in README example. (#22)\n - thanks to @tantale for the bug report\n* Allow ``None`` as quotechar when using ``QUOTE_NONE``. (#23)\n - thanks to @thanatos for the bug report\n\n1.0.4 (2017-02-17)\n++++++++++++++++++\n\n* Return write value from writerow. (#20)\n - thanks to @therg\n\n1.0.3 (2017-01-23)\n++++++++++++++++++\n\n* Add LICENSE file (#18).\n\n1.0.2 (2016-09-15)\n++++++++++++++++++\n\n* Avoid quoting any numeric types when using ``QUOTE_NONNUMERIC``.\n - thanks to @torfsen for the bug report\n\n1.0.1 (2016-02-11)\n++++++++++++++++++\n\n* Better error messages for invalid dialects.\n - thanks to @kengruven for the bug report\n\n\n1.0 (2016-02-11)\n++++++++++++++++\n\n* Initial Release\n\n\n", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/ryanhiebert/backports.csv", "keywords": "", "license": "", "maintainer": "", "maintainer_email": "", "name": "backports.csv", "package_url": "https://pypi.org/project/backports.csv/", "platform": "", "project_url": "https://pypi.org/project/backports.csv/", "project_urls": { "Homepage": "https://github.com/ryanhiebert/backports.csv" }, "release_url": "https://pypi.org/project/backports.csv/1.0.7/", "requires_dist": null, "requires_python": "", "summary": "Backport of Python 3 csv module", "version": "1.0.7" }, "last_serial": 4923402, "releases": { "1.0": [ { "comment_text": "", "digests": { "md5": "dc87700375703d5dbd8e5532a9a7239f", "sha256": "2a071fe8d7d84e668295ab5f4314a4974310b10f9d4f7e0082187af3258991de" }, "downloads": -1, "filename": "backports.csv-1.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "dc87700375703d5dbd8e5532a9a7239f", "packagetype": "bdist_wheel", "python_version": "3.5", "requires_python": null, "size": 12404, "upload_time": "2016-02-11T05:25:25", "url": "https://files.pythonhosted.org/packages/cb/fc/75dd91487237003bf449f971dfea8ede4d564df4cca28de7df87c6026546/backports.csv-1.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "c5edff3d3fdd886e76963a45f77d1f1d", "sha256": "074ff916d7e461f5d20ac742e5d7ded139ac37459add755c842473dbe5aa6b37" }, "downloads": -1, "filename": "backports.csv-1.0.tar.gz", "has_sig": false, "md5_digest": "c5edff3d3fdd886e76963a45f77d1f1d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11193, "upload_time": "2016-02-11T05:25:32", "url": "https://files.pythonhosted.org/packages/2d/0c/edbca39513672ce6308aca8023d3fbef06e54e1c23485a79f1f1156738ee/backports.csv-1.0.tar.gz" } ], "1.0.1": [ { "comment_text": "", "digests": { "md5": "86379b358307926b0762735442632947", "sha256": "6d8c18ce7bdab1eb5af13936a719a4db2c8233b8558f96904df92e4ba1fa623b" }, "downloads": -1, "filename": "backports.csv-1.0.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "86379b358307926b0762735442632947", "packagetype": "bdist_wheel", "python_version": "3.5", "requires_python": null, "size": 12560, "upload_time": "2016-02-11T06:34:17", "url": "https://files.pythonhosted.org/packages/9e/a0/272085e8f11d94bf3b7efc719134c8cdcf5ada4ad251d6c461544381dba7/backports.csv-1.0.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "68349405f94164612371a536badfd2d6", "sha256": "c148acae78fad395e5b4dbcd01a48af96c4a50b3f5adb71c700a1e45d2e237d9" }, "downloads": -1, "filename": "backports.csv-1.0.1.tar.gz", "has_sig": false, "md5_digest": "68349405f94164612371a536badfd2d6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11348, "upload_time": "2016-02-11T06:34:25", "url": "https://files.pythonhosted.org/packages/f9/77/69c8e7d6aa5ec6f8eeb7f34de7180b745a598526dd79a0d83c89a3413a70/backports.csv-1.0.1.tar.gz" } ], "1.0.2": [ { "comment_text": "", "digests": { "md5": "7485026f940fd6d37913ffe8a5ccf8fa", "sha256": "903a9a08e50e38d58d170ec5450a9d065ea1c92f52e6158d72f41ae8a0d02337" }, "downloads": -1, "filename": "backports.csv-1.0.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "7485026f940fd6d37913ffe8a5ccf8fa", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 12889, "upload_time": "2016-09-15T19:08:02", "url": "https://files.pythonhosted.org/packages/5a/e7/4a4add3aed4f65c629ae7c8c07ae9a47ed9a5b824c1ee9663d4abc38d4eb/backports.csv-1.0.2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "b740969aecbcab8279750b51b4bd6cc4", "sha256": "2d7cd76b4fdf3f9af40e558a1a86276dda2b71f74bcde3d09dca4eed70029d10" }, "downloads": -1, "filename": "backports.csv-1.0.2.tar.gz", "has_sig": false, "md5_digest": "b740969aecbcab8279750b51b4bd6cc4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10556, "upload_time": "2016-09-15T19:08:04", "url": "https://files.pythonhosted.org/packages/ac/34/f703cabd12c7f6ec9d6079b7963755f1212bcf77235f622d28a5141620bc/backports.csv-1.0.2.tar.gz" } ], "1.0.3": [ { "comment_text": "", "digests": { "md5": "8d10fd4d1a4fabfed20c3141b21f4c56", "sha256": "656c389662fbfbfc32312e7b0da886a08843cce2e873f2537a86d862da88f8b7" }, "downloads": -1, "filename": "backports.csv-1.0.3-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "8d10fd4d1a4fabfed20c3141b21f4c56", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 12880, "upload_time": "2017-01-23T17:31:51", "url": "https://files.pythonhosted.org/packages/0e/c9/53349e374b4d58d16100df59e1c8e93f29e607b7e02af2a5569b7c4df647/backports.csv-1.0.3-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "3cf2301414a3fbe9482491f477e50b19", "sha256": "3e7469c2933de679267e9f60d13903e0feba0bad00eecc2dd3f7e631dbc9a0d3" }, "downloads": -1, "filename": "backports.csv-1.0.3.tar.gz", "has_sig": false, "md5_digest": "3cf2301414a3fbe9482491f477e50b19", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11894, "upload_time": "2017-01-23T17:31:52", "url": "https://files.pythonhosted.org/packages/2a/39/fe4e96d290a7371e0324b3641c85dd58dd1cb7bbc2e1cfc76ad307f83a97/backports.csv-1.0.3.tar.gz" } ], "1.0.4": [ { "comment_text": "", "digests": { "md5": "032a94b25785c3c9a4be6e7de1a17d73", "sha256": "7ab33513230b590de8d28c4a2ba3a204068d7e18d1bfe91a8a4817196b110e03" }, "downloads": -1, "filename": "backports.csv-1.0.4-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "032a94b25785c3c9a4be6e7de1a17d73", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 13008, "upload_time": "2017-02-18T05:22:37", "url": "https://files.pythonhosted.org/packages/86/6f/a00aaeb99fc11eff0665800472db1c39dfc16f06990e4da708f82a5bf3ff/backports.csv-1.0.4-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "7b623a60f42e60d92ad255bada1a8a4a", "sha256": "d810b20839270df6261405286d3e864fc35a388217715d09049bee38373894b7" }, "downloads": -1, "filename": "backports.csv-1.0.4.tar.gz", "has_sig": false, "md5_digest": "7b623a60f42e60d92ad255bada1a8a4a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11969, "upload_time": "2017-02-18T05:22:39", "url": "https://files.pythonhosted.org/packages/22/d3/d6e03e02a310ffa1f2718ef0e44fb187b33e9ce2366185a57bd27d3b0f86/backports.csv-1.0.4.tar.gz" } ], "1.0.5": [ { "comment_text": "", "digests": { "md5": "2b3dc8b5ca0a6f50ed50595a074ed870", "sha256": "d3b0cefaaca92be3d2d4ceec140827cae1d871da7fff5db70697d72328357d65" }, "downloads": -1, "filename": "backports.csv-1.0.5-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "2b3dc8b5ca0a6f50ed50595a074ed870", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 13174, "upload_time": "2017-05-29T16:04:51", "url": "https://files.pythonhosted.org/packages/23/01/0b1fce3fd8199fe32338dc66747baad52c7183b7f587128bc77cefde0620/backports.csv-1.0.5-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "81e6ace26f9a37f5c45b9acb33e808bd", "sha256": "8c421385cbc6042ba90c68c871c5afc13672acaf91e1508546d6cda6725ebfc6" }, "downloads": -1, "filename": "backports.csv-1.0.5.tar.gz", "has_sig": false, "md5_digest": "81e6ace26f9a37f5c45b9acb33e808bd", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12050, "upload_time": "2017-05-29T16:04:53", "url": "https://files.pythonhosted.org/packages/6a/0b/2071ad285e87dd26f5c02147ba13abf7ec777ff20416a60eb15ea204ca76/backports.csv-1.0.5.tar.gz" } ], "1.0.6": [ { "comment_text": "", "digests": { "md5": "a76c142fd44f4af891834806d7d5de0b", "sha256": "f68c7115c7fbe6d4b4104327d2e677efb38aa09bd7f877b47a6de18e44975510" }, "downloads": -1, "filename": "backports.csv-1.0.6-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "a76c142fd44f4af891834806d7d5de0b", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 11302, "upload_time": "2018-05-22T14:15:38", "url": "https://files.pythonhosted.org/packages/71/f7/5db9136de67021a6dce4eefbe50d46aa043e59ebb11c83d4ecfeb47b686e/backports.csv-1.0.6-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "491034b221433fd69865eac42fbc76c5", "sha256": "bed884eeb967c8d6f517dfcf672914324180f1e9ceeb0376fde2c4c32fd7008d" }, "downloads": -1, "filename": "backports.csv-1.0.6.tar.gz", "has_sig": false, "md5_digest": "491034b221433fd69865eac42fbc76c5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12127, "upload_time": "2018-05-22T14:15:39", "url": "https://files.pythonhosted.org/packages/c5/d2/6adc8e81e57a847fbe63b7967223aa13e340875a273be218ef15f162037d/backports.csv-1.0.6.tar.gz" } ], "1.0.7": [ { "comment_text": "", "digests": { "md5": "10fcdac4ee129397d1de32ac232c86b1", "sha256": "21f6e09bab589e6c1f877edbc40277b65e626262a86e69a70137db714eaac5ce" }, "downloads": -1, "filename": "backports.csv-1.0.7-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "10fcdac4ee129397d1de32ac232c86b1", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 12876, "upload_time": "2019-03-11T03:05:31", "url": "https://files.pythonhosted.org/packages/8e/26/a6bd68f13e0f38fbb643d6e497fc3462be83a0b6c4d43425c78bb51a7291/backports.csv-1.0.7-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "24f301f860635d9bcb6e4b54736e0c99", "sha256": "1277dfff73130b2e106bf3dd347adb3c5f6c4340882289d88f31240da92cbd6d" }, "downloads": -1, "filename": "backports.csv-1.0.7.tar.gz", "has_sig": false, "md5_digest": "24f301f860635d9bcb6e4b54736e0c99", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 20836, "upload_time": "2019-03-11T03:05:33", "url": "https://files.pythonhosted.org/packages/79/0c/d0eaa9380189a292121acab65199ac95b9209b45006ad8aa5266abd36943/backports.csv-1.0.7.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "10fcdac4ee129397d1de32ac232c86b1", "sha256": "21f6e09bab589e6c1f877edbc40277b65e626262a86e69a70137db714eaac5ce" }, "downloads": -1, "filename": "backports.csv-1.0.7-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "10fcdac4ee129397d1de32ac232c86b1", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 12876, "upload_time": "2019-03-11T03:05:31", "url": "https://files.pythonhosted.org/packages/8e/26/a6bd68f13e0f38fbb643d6e497fc3462be83a0b6c4d43425c78bb51a7291/backports.csv-1.0.7-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "24f301f860635d9bcb6e4b54736e0c99", "sha256": "1277dfff73130b2e106bf3dd347adb3c5f6c4340882289d88f31240da92cbd6d" }, "downloads": -1, "filename": "backports.csv-1.0.7.tar.gz", "has_sig": false, "md5_digest": "24f301f860635d9bcb6e4b54736e0c99", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 20836, "upload_time": "2019-03-11T03:05:33", "url": "https://files.pythonhosted.org/packages/79/0c/d0eaa9380189a292121acab65199ac95b9209b45006ad8aa5266abd36943/backports.csv-1.0.7.tar.gz" } ] }