{
"info": {
"author": "",
"author_email": "",
"bugtrack_url": null,
"classifiers": [
"Development Status :: 3 - Alpha",
"License :: OSI Approved :: MIT License",
"Programming Language :: Python",
"Programming Language :: Python :: 2",
"Programming Language :: Python :: 2.7",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.4",
"Programming Language :: Python :: 3.5",
"Programming Language :: Python :: 3.6",
"Programming Language :: Python :: 3.7"
],
"description": "json-lines\n==========\n\n.. image:: https://img.shields.io/pypi/v/json-lines.svg\n :target: https://pypi.python.org/pypi/json-lines\n :alt: PyPI Version\n\n.. image:: https://travis-ci.org/TeamHG-Memex/json-lines.svg?branch=master\n :target: http://travis-ci.org/TeamHG-Memex/json-lines\n :alt: Build Status\n\n.. image:: http://codecov.io/github/TeamHG-Memex/json-lines/coverage.svg?branch=master\n :target: http://codecov.io/github/TeamHG-Memex/json-lines?branch=master\n :alt: Code Coverage\n\nThis is a tiny library for reading JSON lines (.jl) files,\nincluding gzipped and broken files.\n\n`JSON lines `_ is a text file format\nwhere each line is a single json encoded item.\n\n\nWhy?\n----\n\nReading a well-formed JSON lines file is a one-liner in Python.\nBut the file can be broken: cut at some point\n(this happens when the process writing it is killed),\nor concatenated from several cut pieces\n(this happend when the process started appending to the same file again).\nHandling all this cases is not easy, especially if the file is compressed.\n\njson-lines handles all this cases for you!\n\n\nInstallation\n------------\n\n::\n\n pip install json-lines\n\nIf `ujson `_ is installed, it is used\nto speed up json decoding (which is the main performance bottleneck\neven for gzipped files).\n\n\nUsage\n-----\n\nIn order to read a well-formed json lined file,\npass an open file as the first argument to ``json_lines.reader``.\nThe file can be opened\nin text or binary mode, but if it's opened in text mode, the encoding\nmust be set correctly::\n\n import json_lines\n\n with open('file.jl', 'rb') as f:\n for item in json_lines.reader(f):\n print(item['x'])\n\nThere is also a helper function ``json_lines.open`` that recognizes\n\".gz\" and \".gzip\" extensions and opens them with ``gzip``::\n\n with json_lines.open('file.jl.gz') as f:\n for item in f:\n print(item['x'])\n\nHandling broken (cut at some point) files is enabled by passing ``broken=True``\nto ``json_lines.reader`` or ``json_lines.open``.\nBroken lines are skipped (only logging a warning), and reading continues\nfrom the next valid position.\nThis works both for compressed and uncompressed files::\n\n with json_lines.open('file.jl.gz', broken=True) as f:\n for item in f:\n print(item['x'])\n\n\nLicense\n-------\n\nLicense is MIT.",
"description_content_type": "",
"docs_url": null,
"download_url": "",
"downloads": {
"last_day": -1,
"last_month": -1,
"last_week": -1
},
"home_page": "https://github.com/TeamHG-Memex/json-lines",
"keywords": "",
"license": "MIT",
"maintainer": "",
"maintainer_email": "",
"name": "json-lines",
"package_url": "https://pypi.org/project/json-lines/",
"platform": "",
"project_url": "https://pypi.org/project/json-lines/",
"project_urls": {
"Homepage": "https://github.com/TeamHG-Memex/json-lines"
},
"release_url": "https://pypi.org/project/json-lines/0.5.0/",
"requires_dist": null,
"requires_python": "",
"summary": "Reading JSON lines (jl) files, recover broken files",
"version": "0.5.0"
},
"last_serial": 4512383,
"releases": {
"0.1.0": [
{
"comment_text": "",
"digests": {
"md5": "225810f5ca1f4a16ef451d98b5fee131",
"sha256": "b1d149fafd9d8e9d50653ce233c215dd51e7c9d42a2689b1dda4ddafc31c00e9"
},
"downloads": -1,
"filename": "json_lines-0.1.0-py2.py3-none-any.whl",
"has_sig": false,
"md5_digest": "225810f5ca1f4a16ef451d98b5fee131",
"packagetype": "bdist_wheel",
"python_version": "3.5",
"requires_python": null,
"size": 4190,
"upload_time": "2016-08-19T08:55:46",
"url": "https://files.pythonhosted.org/packages/33/ef/59ee06ccce80575dfc29acdfa46d72576bd09efa5270381df8dcc1269947/json_lines-0.1.0-py2.py3-none-any.whl"
},
{
"comment_text": "",
"digests": {
"md5": "1b029523ec9606413d781b2d97f6a707",
"sha256": "69d98cb81acf3bdf00fe0370b925a9aa7f3e4e1681b9f77f127132cc2a3161b3"
},
"downloads": -1,
"filename": "json-lines-0.1.0.tar.gz",
"has_sig": false,
"md5_digest": "1b029523ec9606413d781b2d97f6a707",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 2420,
"upload_time": "2016-08-19T08:52:28",
"url": "https://files.pythonhosted.org/packages/b6/7e/20ecd35a08c674c94fbb0fe5938f4d3dffad43e00ece0e47afe48cf2627c/json-lines-0.1.0.tar.gz"
}
],
"0.1.1": [
{
"comment_text": "",
"digests": {
"md5": "f3eac0a1fd07b6b557644edabb29e46b",
"sha256": "6e6105e7a5be02d5118b0f42655f6db2483b23043b64531b9ef5fc81591d2c06"
},
"downloads": -1,
"filename": "json_lines-0.1.1-py2.py3-none-any.whl",
"has_sig": false,
"md5_digest": "f3eac0a1fd07b6b557644edabb29e46b",
"packagetype": "bdist_wheel",
"python_version": "3.5",
"requires_python": null,
"size": 4190,
"upload_time": "2016-08-19T09:00:55",
"url": "https://files.pythonhosted.org/packages/d1/71/57ed5ced17e54b51a7bac18363b935a61b14fdc824a1af08c8662ff96bc9/json_lines-0.1.1-py2.py3-none-any.whl"
},
{
"comment_text": "",
"digests": {
"md5": "6ea14303e8ff0a7c036274ed311bad91",
"sha256": "8e8bf89c6c64fe41022039b86043a72fd0633a85be65de8b741e33bcad6c0ca1"
},
"downloads": -1,
"filename": "json-lines-0.1.1.tar.gz",
"has_sig": false,
"md5_digest": "6ea14303e8ff0a7c036274ed311bad91",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 2432,
"upload_time": "2016-08-19T09:00:53",
"url": "https://files.pythonhosted.org/packages/c1/09/516aa2298b45f466c53aa7ddfa7063b7db566cc4a53785cb3c1721bca36a/json-lines-0.1.1.tar.gz"
}
],
"0.2.0": [
{
"comment_text": "",
"digests": {
"md5": "d88e42ad6bdcdcd0c23564bb895994e0",
"sha256": "20595a993169ff51895b4ccbfde4f3fb24cbf5c647e7b4f0d30f13c4d82ae31d"
},
"downloads": -1,
"filename": "json_lines-0.2.0-py2.py3-none-any.whl",
"has_sig": false,
"md5_digest": "d88e42ad6bdcdcd0c23564bb895994e0",
"packagetype": "bdist_wheel",
"python_version": "3.5",
"requires_python": null,
"size": 4267,
"upload_time": "2016-09-06T07:43:20",
"url": "https://files.pythonhosted.org/packages/2f/72/894d8f7da7ac53aa15eb622e47aa51b7e313ddf1b0df9bc73200d8a24a93/json_lines-0.2.0-py2.py3-none-any.whl"
},
{
"comment_text": "",
"digests": {
"md5": "4a61607e7025f99bf84557f19ac41743",
"sha256": "da3abb2b5e9054e8b1f85cbae5cad76873426a9c89ead4454efa1289a2da1e5c"
},
"downloads": -1,
"filename": "json-lines-0.2.0.tar.gz",
"has_sig": false,
"md5_digest": "4a61607e7025f99bf84557f19ac41743",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 2502,
"upload_time": "2016-09-06T07:43:17",
"url": "https://files.pythonhosted.org/packages/12/b0/a12915452d376583d21c5379014a394fb196d8915207a141cbbaf7cf71e7/json-lines-0.2.0.tar.gz"
}
],
"0.3.0": [
{
"comment_text": "",
"digests": {
"md5": "66ab2fe5733498459a301a2678a0f280",
"sha256": "85b4cc8a05dc988673bbd3256c07e0b7add76efbb8b54fd5ade76cc4cacd5bcc"
},
"downloads": -1,
"filename": "json-lines-0.3.0.tar.gz",
"has_sig": false,
"md5_digest": "66ab2fe5733498459a301a2678a0f280",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 3988,
"upload_time": "2017-03-27T11:14:11",
"url": "https://files.pythonhosted.org/packages/78/e9/57a97aaf6943dace0c516fe8f46287950176551e1de31db06683dda4cb8f/json-lines-0.3.0.tar.gz"
}
],
"0.3.1": [
{
"comment_text": "",
"digests": {
"md5": "6c43bb7cf394a4719dcb7da39667d6f9",
"sha256": "97363e1f122bf8c34b78926cc0203bdff7dc5347890c8354ad5fc26aa3447bfe"
},
"downloads": -1,
"filename": "json-lines-0.3.1.tar.gz",
"has_sig": false,
"md5_digest": "6c43bb7cf394a4719dcb7da39667d6f9",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 3942,
"upload_time": "2017-03-28T09:07:45",
"url": "https://files.pythonhosted.org/packages/bf/51/4d3440e8096beba57dcae98a6601f724036ccb68d4c8d053c5aed9555cbe/json-lines-0.3.1.tar.gz"
}
],
"0.4.0": [
{
"comment_text": "",
"digests": {
"md5": "e21d954be363b0cb7a100ee4c9def409",
"sha256": "b7bc416ad5c92621fdaad7b87ae56ec9c0ecf50d36f2e6e3ec1a6ef6c992147e"
},
"downloads": -1,
"filename": "json_lines-0.4.0-py2.py3-none-any.whl",
"has_sig": false,
"md5_digest": "e21d954be363b0cb7a100ee4c9def409",
"packagetype": "bdist_wheel",
"python_version": "3.6",
"requires_python": null,
"size": 6566,
"upload_time": "2018-10-24T17:05:26",
"url": "https://files.pythonhosted.org/packages/22/29/90e3ac87d7592838650fdbac8bdd3ab254fea340c07137b5957ee91c2c71/json_lines-0.4.0-py2.py3-none-any.whl"
},
{
"comment_text": "",
"digests": {
"md5": "8a4afad8c3d2aae321822fee51050196",
"sha256": "f032733b51bfa9db8de066ce403ae03caef8f60fa5cc07f8e0b57f6d8b01f8b4"
},
"downloads": -1,
"filename": "json-lines-0.4.0.tar.gz",
"has_sig": false,
"md5_digest": "8a4afad8c3d2aae321822fee51050196",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 4275,
"upload_time": "2018-10-24T17:05:15",
"url": "https://files.pythonhosted.org/packages/af/61/facba885711d44029ff643fcccb3c753e32c082d67396d213cbdf378b0db/json-lines-0.4.0.tar.gz"
}
],
"0.5.0": [
{
"comment_text": "",
"digests": {
"md5": "1c40a38455755e4a8977f85adcb527a6",
"sha256": "8a20de205b582c9feb6fc2e0c3eafd849fd28c47432f6b3712b365f5068414bb"
},
"downloads": -1,
"filename": "json_lines-0.5.0-py2.py3-none-any.whl",
"has_sig": false,
"md5_digest": "1c40a38455755e4a8977f85adcb527a6",
"packagetype": "bdist_wheel",
"python_version": "py2.py3",
"requires_python": null,
"size": 6796,
"upload_time": "2018-11-21T12:33:29",
"url": "https://files.pythonhosted.org/packages/7f/0f/79c96c0d26b276c583484fe8209e5ebbb416a920309568650325f6e1de73/json_lines-0.5.0-py2.py3-none-any.whl"
},
{
"comment_text": "",
"digests": {
"md5": "63333c37f0bbb0d781b36eb2676778e8",
"sha256": "a1a5c3e24fb1bafc54b2bf273469c7b986445df520a923db182a96a954b42ae6"
},
"downloads": -1,
"filename": "json-lines-0.5.0.tar.gz",
"has_sig": false,
"md5_digest": "63333c37f0bbb0d781b36eb2676778e8",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 4292,
"upload_time": "2018-11-21T12:33:15",
"url": "https://files.pythonhosted.org/packages/ad/fc/53be3bd1997800228c3dfc3b5b72b758263f8e08aa12429c1f72030688b9/json-lines-0.5.0.tar.gz"
}
]
},
"urls": [
{
"comment_text": "",
"digests": {
"md5": "1c40a38455755e4a8977f85adcb527a6",
"sha256": "8a20de205b582c9feb6fc2e0c3eafd849fd28c47432f6b3712b365f5068414bb"
},
"downloads": -1,
"filename": "json_lines-0.5.0-py2.py3-none-any.whl",
"has_sig": false,
"md5_digest": "1c40a38455755e4a8977f85adcb527a6",
"packagetype": "bdist_wheel",
"python_version": "py2.py3",
"requires_python": null,
"size": 6796,
"upload_time": "2018-11-21T12:33:29",
"url": "https://files.pythonhosted.org/packages/7f/0f/79c96c0d26b276c583484fe8209e5ebbb416a920309568650325f6e1de73/json_lines-0.5.0-py2.py3-none-any.whl"
},
{
"comment_text": "",
"digests": {
"md5": "63333c37f0bbb0d781b36eb2676778e8",
"sha256": "a1a5c3e24fb1bafc54b2bf273469c7b986445df520a923db182a96a954b42ae6"
},
"downloads": -1,
"filename": "json-lines-0.5.0.tar.gz",
"has_sig": false,
"md5_digest": "63333c37f0bbb0d781b36eb2676778e8",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 4292,
"upload_time": "2018-11-21T12:33:15",
"url": "https://files.pythonhosted.org/packages/ad/fc/53be3bd1997800228c3dfc3b5b72b758263f8e08aa12429c1f72030688b9/json-lines-0.5.0.tar.gz"
}
]
}