{ "info": { "author": "Daniel Kn\u00fcttel", "author_email": "daknuett@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", "License :: OSI Approved :: GNU Affero General Public License v3", "Programming Language :: Python :: 3" ], "description": "ljson -- Line JSON\n******************\n\n.. contents::\n\n\nQuicklinks\n==========\n\n- `The Documentation `_\n- `The github.com repo `_\n- `The PyPi repo `_\n\n\nBuild and Test Status\n=====================\n\nThis package is tested using ``pytest`` on `travis-ci `_. The\ncurrent build-status is:\n\n.. image:: https://travis-ci.org/daknuett/ljson.svg?branch=master\n :target: https://travis-ci.org/daknuett/ljson\n\nThe code is reviewed automatically on `codacy\n`_:\n\n.. image:: https://api.codacy.com/project/badge/Grade/530345cc30dc44539e921eb63be461dd\n :target: https://www.codacy.com/app/daknuett/ljson?utm_source=github.com&utm_medium=referral&utm_content=daknuett/ljson&utm_campaign=Badge_Grade\n\n.. image:: https://api.codacy.com/project/badge/Coverage/530345cc30dc44539e921eb63be461dd\n :target: https://www.codacy.com/app/daknuett/ljson?utm_source=github.com&utm_medium=referral&utm_content=daknuett/ljson&utm_campaign=Badge_Coverage\n\n\nWhat is ljson?\n==============\n\nljson is an attempt to create a database model suiting the\nneeds of modern data processing. It is designed to work\nfaster than usual json, but to keep the simple but yet\nelegant object representation.\n\nljson can be used instead of pure json to increase the\nperformance when accessing a large set of data.\n\n\nWhy ljson?\n==========\n\nThere are a **lot** data storage formats out there: XML,\nJSON, CSV, SQL, NOSQL, binary packed, GNU-DB,...\n\nSome of them are designed to store complete databases (SQL,\nNOSQL, ...) and some are designed to store tables. And of\ncourse there are JSON and XML. They can be used to store\nmore complex objects, are human-readable and data is stored\nin just one file.\n\nBut they suffer from one problem: If one wants to alter the\ndata in the file he has to read the complete file and store\nall the data in his RAM. This is slow, maybe impossible\n(*Big Data*) and insecure. If the process cannot complete\nthe operation properly this might corrupt all data.\n\nljson tries to bypass this by using a mixture of CSV (line\nbased) and JSON (object based): \n\nEvery line is one object. If one wants to add another object\nhe just opens the file in append mode and adds one line. If\none line is corrupted the rest of the file is still valid.\n\nOperating on large sets of objects is also possible by\nreading the file line by line.\n\nEspecially asynchronous operations can be performed easily,\nas the main part of the file stays untouched (unless you\nalter objects. Then the file has to be re-written).\n\nDesign\n======\n\nljson is designed to be stored in files, the definition\nof a ljson file is::\n\n\t = [
\\n]\n\t = {\\n}\n\n```` can be any json object, as described on\n`json.org `_.\n\nHeader\n------\n\nThe header is a special json object that describes the data\nin the file. A header must be in the following format::\n\n\t
= \"{ \\\"__type__\\\": \\\"header\\\",\" \": {\" \"\\\"type\\\":\" \", \\\"modifiers\\\":\" \"}\"\n\t = \"\\\"int\\\"\" | \"\\\"str\\\"\" | \"\\\"bool\\\"\" | \"\\\"float\\\"\" | \"\\\"null\\\"\" | \"\\\"bytes\\\"\"\n\t = \"[\" [ {\",\"}] \"]\"\n\t = \"\\\"unique\\\"\" | \"\\\"not null\\\"\" \n\nThe header is required by the on-disk implementation.\n\nDatatypes\n---------\n\nIf you use ljson you are restricted to the following python\ndata types (and their ljson types):\n\n- ``int``: ``\"int\"``\n- ``str``: ``\"str\"``\n- ``bool``: ``\"bool\"``\n- ``float``: ``\"float\"``\n- ``bytes``: ``\"bytes\"``\n- ``dict``: ``\"json\"``\n- ``list``: ``\"json\"``\n\nBecause it is possible to convert all data types to one of\nthese it is possible to store any kind of data.\n\nUsage\n=====\n\nWithout a Python Module\n-----------------------\n\nljson is designed to work without any third party python\nmodules. One can read ljson data with the python built-in\njson module:\n\n>>> import json\n>>> ljson = '{\"id\": 1, \"name\": \"foo\"}\\n{\"id\": 2, \"name\": \"bar\"}'\n>>> for line in ljson.split(\"\\n\"):\n... \tprint(json.loads(line))\n...\n{'name': 'foo', 'id': 1}\n{'name': 'bar', 'id': 2}\n\nAnd this should always be the preferred way to access ljson\ndata, if all data is required. \n\nIf one wants to access specific fields it is better to use\nthe ljson python module:\n\nWith the ljson Module\n---------------------\n\nUsing the ljson Module is simple and efficient if one wants\nto access just some fields, not the complete file.\n\nThere are two base implementations: ``ljson.base.mem`` that\nloads the file content into the RAM. This is way faster and\nsupports files without a header and one is able to construct\nthe Table without a file.\n\nThe second implementation is ``ljson.base.disk``. This\nimplementation does not load any data into RAM. If you are\naccessing huge sets you should use this implementation.\n\nCreating a table is simple (at least for the memory\ntables):\n\n>>> import ljson\n>>> header = ljson.Header({\"id\": {\"type\": \"int\", \"modifiers\":[\"unique\"]}, \"name\": {\"type\": \"str\", \"modifiers\": []}})\n>>> table = ljson.Table(header, [{\"id\": 1, \"name\": \"foo\"}, {\"id\": 2, \"name\": \"bar\"}, {\"id\": 3, \"name\": \"bar\"}])\n\n\nOne can access items using python's built-in ``__getitem__``\nand ``__setitem__``:\n\n>>> table[{\"id\": 1}][\"name\"]\n['foo']\n>>> list(table[{\"id\": 1}]) \n[{'name': 'foo', 'id': 1}]\n\nThe table \"index\" must be a dict. This allows to access\nnon-unique rows, like this:\n\n>>> list(table[{\"name\":\"bar\"}])\n[{'id': 2, 'name': 'bar'}, {'id': 3, 'name': 'bar'}]\n\n\nUsing ljson to store data\n-------------------------\n\nUsing ljson to store data is pretty simple:\n\n>>> from io import StringIO\n>>> fout = StringIO()\n>>> table.save(fout)\n>>> fout.seek(0)\n0\n>>> fout.read()\n'{\"name\": {\"type\": \"str\", \"modifiers\": []}, \"__type__\": \"header\", \"id\": {\"type\": \"int\", \"modifiers\": [\"unique\"]}}\\n{\"name\": \"foo\", \"id\": 1}\\n{\"name\": \"bar\", \"id\": 2}\\n{\"name\": \"bar\", \"id\": 3}'\n>>> fout.seek(0)\n0\n>>> table2 = ljson.Table.from_file(fout)\n>>> list(table2)\n[{'id': 1, 'name': 'foo'}, {'id': 2, 'name': 'bar'}, {'id': 3, 'name': 'bar'}]\n\n\nReading and writing csv files is pretty simple, too:\n\n>>> from ljson.convert.csv import table2csv, csv2table\n>>> fout = StringIO()\n>>> table2csv(table, fout)\n>>> fout.seek(0)\n0\n>>> fout.read()\n'id,name\\r\\n1,foo\\r\\n2,bar\\r\\n3,bar\\r\\n'\n>>> fout.seek(0)\n0\n>>> table2 = csv2table(fout, types = {\"id\": \"int\", \"name\":\"str\"})\n>>> list(table2)\n[{'id': 1, 'name': 'foo'}, {'id': 2, 'name': 'bar'}, {'id': 3, 'name': 'bar'}]\n\n\nTodos\n=====\n\n- store bytes as b64\n- fix the sql bytes representation\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/daknuett/ljson", "keywords": "data storage table json", "license": "AGPL v3", "maintainer": "", "maintainer_email": "", "name": "ljson", "package_url": "https://pypi.org/project/ljson/", "platform": "", "project_url": "https://pypi.org/project/ljson/", "project_urls": { "Homepage": "https://github.com/daknuett/ljson" }, "release_url": "https://pypi.org/project/ljson/0.5.4/", "requires_dist": [ "pymysql; extra == 'ljson.convert.sql'" ], "requires_python": "", "summary": "A table dataformat based on json", "version": "0.5.4" }, "last_serial": 4936008, "releases": { "0.0.1": [ { "comment_text": "", "digests": { "md5": "9fefc674b7fe3f02cfc6c6826c52c4e1", "sha256": "351958b9668b725fc94a992cbc95f1d3ec5998f988fb4d0e58289dc65879f100" }, "downloads": -1, "filename": "ljson-0.0.1-py3-none-any.whl", "has_sig": false, "md5_digest": "9fefc674b7fe3f02cfc6c6826c52c4e1", "packagetype": "bdist_wheel", "python_version": "3.5", "requires_python": null, "size": 14586, "upload_time": "2017-04-14T20:07:31", "url": "https://files.pythonhosted.org/packages/d9/d1/117f1a21e305770c3d915ce7ff0ca8559a7ce62e26b525741696597faf9b/ljson-0.0.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "74acf2d7b14fcde509babfaf8d230d65", "sha256": "4b20b5066cd631f141edb90afe95ba3c29f89a755575acb5d4b6b8263147763b" }, "downloads": -1, "filename": "ljson-0.0.1.tar.gz", "has_sig": false, "md5_digest": "74acf2d7b14fcde509babfaf8d230d65", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9311, "upload_time": "2017-04-14T20:07:20", "url": "https://files.pythonhosted.org/packages/0c/bf/e4db5a0c04055c1aa139da82b6dd9627509c8700228d24dcb08b259b38e1/ljson-0.0.1.tar.gz" } ], "0.0.2": [ { "comment_text": "", "digests": { "md5": "dad93001f71ff2036ca72d0f282ab9de", "sha256": "890c51a99d1330409c6862981c6619327c4e892243c202842b58fa780c604b45" }, "downloads": -1, "filename": "ljson-0.0.2-py3-none-any.whl", "has_sig": false, "md5_digest": "dad93001f71ff2036ca72d0f282ab9de", "packagetype": "bdist_wheel", "python_version": "3.5", "requires_python": null, "size": 15011, "upload_time": "2017-04-17T13:42:58", "url": "https://files.pythonhosted.org/packages/43/01/8aba2404a9b378a14ce4f6153abd6ca78d019e8eabeae349ab5e6fb74f03/ljson-0.0.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "4f94621c3803cc195760838fece0c653", "sha256": "119f5e096b061c67177b6101590d8f0b130c637f1feea7f867fcdd746ea1c963" }, "downloads": -1, "filename": "ljson-0.0.2.tar.gz", "has_sig": false, "md5_digest": "4f94621c3803cc195760838fece0c653", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9701, "upload_time": "2017-04-17T13:42:48", "url": "https://files.pythonhosted.org/packages/a2/33/bbf7a615fbfb1c7a84b87b4e16a9e08aeee07eefe5df5ad70c716dd290f9/ljson-0.0.2.tar.gz" } ], "0.0.3": [ { "comment_text": "", "digests": { "md5": "f496df9dd5e47ee51d629ec355bb6da7", "sha256": "c25fb9f570a54bfc35c208887cff5972ff0a3467e0b88d88d98cfd26e7da6552" }, "downloads": -1, "filename": "ljson-0.0.3-py3-none-any.whl", "has_sig": false, "md5_digest": "f496df9dd5e47ee51d629ec355bb6da7", "packagetype": "bdist_wheel", "python_version": "3.5", "requires_python": null, "size": 15033, "upload_time": "2017-05-09T16:08:35", "url": "https://files.pythonhosted.org/packages/8a/f0/63d1c677d159e0e3907e31cb34cb1b458e6b46ea9a7e6b9b2a74dc8978a0/ljson-0.0.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "9de9a17f2ec2d2f2b9c0c19e9adbe7f6", "sha256": "4f803b328130066fd607f1345e55f7efe91bcc5c8c8a74e67980aba6c5e47897" }, "downloads": -1, "filename": "ljson-0.0.3.tar.gz", "has_sig": false, "md5_digest": "9de9a17f2ec2d2f2b9c0c19e9adbe7f6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9705, "upload_time": "2017-05-09T16:08:25", "url": "https://files.pythonhosted.org/packages/cd/a2/a8df0939a0a7856d0874afca424a1b47bc523bb592fb40f14adf9c02d62d/ljson-0.0.3.tar.gz" } ], "0.0.4": [ { "comment_text": "", "digests": { "md5": "d84c970d393210f139fee764e3c57f3c", "sha256": "54b1d40db2e0e88844f5a56d462f87c8e7efc131551ed75ef462a29fb401165f" }, "downloads": -1, "filename": "ljson-0.0.4-py3-none-any.whl", "has_sig": false, "md5_digest": "d84c970d393210f139fee764e3c57f3c", "packagetype": "bdist_wheel", "python_version": "3.5", "requires_python": null, "size": 16025, "upload_time": "2017-06-01T18:21:51", "url": "https://files.pythonhosted.org/packages/50/f1/cf2b983b10d817999502705971f3062e30162a735e4f31bb85d27970d6cf/ljson-0.0.4-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "7138aed6d255e213cdd6efa48d3c4a47", "sha256": "aa3240dd99fc7cb3aa5c8552b2610e967f582f626aafb987e24e46991481b44c" }, "downloads": -1, "filename": "ljson-0.0.4.tar.gz", "has_sig": false, "md5_digest": "7138aed6d255e213cdd6efa48d3c4a47", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10237, "upload_time": "2017-06-01T18:22:04", "url": "https://files.pythonhosted.org/packages/19/2b/c6f2cb4a719fda7663f743bf655522b07c00754f6215a56bffa3a240fc95/ljson-0.0.4.tar.gz" } ], "0.1.0": [ { "comment_text": "", "digests": { "md5": "312305028727aea6c660b7ec3373d992", "sha256": "80dd9cf4c56a65dc6f564829657b727358011b18b5b2581c945f174028e647af" }, "downloads": -1, "filename": "ljson-0.1.0-py3-none-any.whl", "has_sig": false, "md5_digest": "312305028727aea6c660b7ec3373d992", "packagetype": "bdist_wheel", "python_version": "3.5", "requires_python": null, "size": 16366, "upload_time": "2017-06-05T10:01:57", "url": "https://files.pythonhosted.org/packages/ed/a5/780e3f56481becebe7f76191b83e557bf51df6d4b971998feb6a35db7e7c/ljson-0.1.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "d59105eed08bda1b8797cb3a89794aac", "sha256": "3854dc5e4cc68f4ee55aa2585fe1c50b543be0a57ba617d564d4bc0619a9dc17" }, "downloads": -1, "filename": "ljson-0.1.0.tar.gz", "has_sig": false, "md5_digest": "d59105eed08bda1b8797cb3a89794aac", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9962, "upload_time": "2017-06-05T10:01:48", "url": "https://files.pythonhosted.org/packages/71/8b/0dd4ff239b0edf4751b381c49345645df6ebf8268669d4e82221a0f4ac8d/ljson-0.1.0.tar.gz" } ], "0.2.0": [ { "comment_text": "", "digests": { "md5": "0a42b8527d873e8686caee1efe7dad11", "sha256": "0317a9798c73e7d2447902caf686aa69cf06c7e2a67f349669036fe3488451c0" }, "downloads": -1, "filename": "ljson-0.2.0-py3-none-any.whl", "has_sig": false, "md5_digest": "0a42b8527d873e8686caee1efe7dad11", "packagetype": "bdist_wheel", "python_version": "3.5", "requires_python": null, "size": 26162, "upload_time": "2017-09-07T08:25:30", "url": "https://files.pythonhosted.org/packages/1c/e3/9b475309c02e3a03345c6e605548b68c1388a2856e067f8d4de3ff6f50f2/ljson-0.2.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "e4abcd11f566dbb427aa639ee8117700", "sha256": "3163e7a59fee9565721ad1e67ed3fc2344c966b70bceb0610592c94db2d0fb52" }, "downloads": -1, "filename": "ljson-0.2.0.tar.gz", "has_sig": false, "md5_digest": "e4abcd11f566dbb427aa639ee8117700", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 15948, "upload_time": "2017-09-07T08:25:20", "url": "https://files.pythonhosted.org/packages/5b/23/e15f5dceeb93bd8f3a1c390ce1063d347d8133f27404b46071220762f006/ljson-0.2.0.tar.gz" } ], "0.3.0": [ { "comment_text": "", "digests": { "md5": "59031464b0b1bb3df85ae0023c7bdf0f", "sha256": "5f17c38904a438dcb7c05782b5f8aae4cfc54c736d6d00be6a578bde74dc1656" }, "downloads": -1, "filename": "ljson-0.3.0-py3-none-any.whl", "has_sig": false, "md5_digest": "59031464b0b1bb3df85ae0023c7bdf0f", "packagetype": "bdist_wheel", "python_version": "3.5", "requires_python": null, "size": 29095, "upload_time": "2017-09-24T17:51:40", "url": "https://files.pythonhosted.org/packages/c6/21/becf6d98ad64b468c68071c554bd77fa2c84ff61d1485d6dfed2146ed797/ljson-0.3.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "9b631e01a60fb472ee0be17f48044964", "sha256": "0bfb335acada4ab84c965986d20d0c2efb5a0b7bcce34affc68a475f26081b99" }, "downloads": -1, "filename": "ljson-0.3.0.tar.gz", "has_sig": false, "md5_digest": "9b631e01a60fb472ee0be17f48044964", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 20336, "upload_time": "2017-09-24T17:51:50", "url": "https://files.pythonhosted.org/packages/37/b0/1e7771488142649de55385e5b81222991e29a0516a2e43c5aa1ec57ceab6/ljson-0.3.0.tar.gz" } ], "0.3.1": [ { "comment_text": "", "digests": { "md5": "73a70d6c33a945b27497c1c048504e74", "sha256": "47693c3cc5bbd4bf097e9326ee90c0d9a97899d9f98eed32b149737214056776" }, "downloads": -1, "filename": "ljson-0.3.1-py3-none-any.whl", "has_sig": false, "md5_digest": "73a70d6c33a945b27497c1c048504e74", "packagetype": "bdist_wheel", "python_version": "3.5", "requires_python": null, "size": 29164, "upload_time": "2017-09-25T12:28:45", "url": "https://files.pythonhosted.org/packages/f5/67/a97c1d2b196badac41f97520bf34f84fc69d4d4ac14e1bed625728694346/ljson-0.3.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "8c7f0cab82e297c9f8fb4fdd789ef6c0", "sha256": "8d87763db487c4246cd9071908e7c737df73cf15bf3785f432e4a9d84e0d9bb1" }, "downloads": -1, "filename": "ljson-0.3.1.tar.gz", "has_sig": false, "md5_digest": "8c7f0cab82e297c9f8fb4fdd789ef6c0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 20428, "upload_time": "2017-09-25T12:28:33", "url": "https://files.pythonhosted.org/packages/c4/63/ca5ae697b93b5aecc89e68b65e9b61de963b3e1c12d0f025cffdcda7fdb3/ljson-0.3.1.tar.gz" } ], "0.3.2": [ { "comment_text": "", "digests": { "md5": "2fd9b0a49de4771e5ee75722073bd64d", "sha256": "640193e74cb98028e5aa72f2d5899937de1e22a8b09c4a8176b8a77e03a5f98a" }, "downloads": -1, "filename": "ljson-0.3.2-py3-none-any.whl", "has_sig": false, "md5_digest": "2fd9b0a49de4771e5ee75722073bd64d", "packagetype": "bdist_wheel", "python_version": "3.5", "requires_python": null, "size": 29168, "upload_time": "2017-09-27T08:28:43", "url": "https://files.pythonhosted.org/packages/bc/52/e225e448fae3bc3ed86aebb4027f4e5567740eae170b9eed193c97f39b3c/ljson-0.3.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "70e4d1d8588200b379619e018a75e80c", "sha256": "3fd2450b9b9a172d8fef7599e7c306e228cfaa2bcc5f10befb605e6fa7165f2a" }, "downloads": -1, "filename": "ljson-0.3.2.tar.gz", "has_sig": false, "md5_digest": "70e4d1d8588200b379619e018a75e80c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 20443, "upload_time": "2017-09-27T08:28:28", "url": "https://files.pythonhosted.org/packages/56/05/16735d46c12edf370dfa6869de4a3cdca93a1f55c5dd543dbebe47185578/ljson-0.3.2.tar.gz" } ], "0.4.0": [ { "comment_text": "", "digests": { "md5": "316e3c95bdccb6bc04266ba82a69e40f", "sha256": "de7302a5de7f00531e7867ce9d1b4e16ae8e3399c76fccfc8291e1eae7b8685d" }, "downloads": -1, "filename": "ljson-0.4.0-py3-none-any.whl", "has_sig": false, "md5_digest": "316e3c95bdccb6bc04266ba82a69e40f", "packagetype": "bdist_wheel", "python_version": "3.5", "requires_python": null, "size": 29252, "upload_time": "2017-09-27T09:09:21", "url": "https://files.pythonhosted.org/packages/dc/2e/319efd6d4032f8669773d3b1ef68399c0c45a06d9bd402d65738be04c417/ljson-0.4.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "ea5d84192dd63d9db7a90a5289a394ea", "sha256": "fe38339dddbdc0627dd6f8127f560c337ef4fae5c3b2f7dd2bc7d17534d6e943" }, "downloads": -1, "filename": "ljson-0.4.0.tar.gz", "has_sig": false, "md5_digest": "ea5d84192dd63d9db7a90a5289a394ea", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 20474, "upload_time": "2017-09-27T09:09:24", "url": "https://files.pythonhosted.org/packages/1f/bb/36cd9e8f5cf35c25a864f894456978fdc01ec9370be0af0bc0c30463cdf0/ljson-0.4.0.tar.gz" } ], "0.4.1": [ { "comment_text": "", "digests": { "md5": "2dd8b78ffce6ed2d0263186296112425", "sha256": "95f912c8598a4a78b1c0213337d160c5c1ddc6f52da08b9b2dd91e13c10ead5d" }, "downloads": -1, "filename": "ljson-0.4.1-py3-none-any.whl", "has_sig": false, "md5_digest": "2dd8b78ffce6ed2d0263186296112425", "packagetype": "bdist_wheel", "python_version": "3.5", "requires_python": null, "size": 29272, "upload_time": "2017-10-04T06:44:21", "url": "https://files.pythonhosted.org/packages/3a/ef/f9fc17386d0769409a0176bfa79d8ac35340318ff5c70563f388b1c09a40/ljson-0.4.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "8e0be12ab6a356ca2c37586a32f04cfb", "sha256": "14b8cc82dc4057127800868d60a2d19a8c78ba1e893df48f9a4edbb27b127e90" }, "downloads": -1, "filename": "ljson-0.4.1.tar.gz", "has_sig": false, "md5_digest": "8e0be12ab6a356ca2c37586a32f04cfb", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 20516, "upload_time": "2017-10-04T06:44:19", "url": "https://files.pythonhosted.org/packages/03/14/33434b98c023965375aeedb0788954104f1e411d97af843f82e345a8eed5/ljson-0.4.1.tar.gz" } ], "0.5.0": [ { "comment_text": "", "digests": { "md5": "1eb4c549249280abe22d621bd5e1b9b2", "sha256": "2239f4f8fd76e7336e55d64d23d094a09220009f5c16337c168b80e76c69d347" }, "downloads": -1, "filename": "ljson-0.5.0-py3-none-any.whl", "has_sig": false, "md5_digest": "1eb4c549249280abe22d621bd5e1b9b2", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 28708, "upload_time": "2019-03-08T16:17:51", "url": "https://files.pythonhosted.org/packages/ba/7f/fca56247e99e63fae731d3bb04bf8e389339a3fef8d6a3a87d17ed6f8c01/ljson-0.5.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "da4a75e2bf928b19840204979507e32a", "sha256": "233eb5388c66315ab18cb48d486e4b05e748e983720521d2f44573a2bd94b249" }, "downloads": -1, "filename": "ljson-0.5.0.tar.gz", "has_sig": false, "md5_digest": "da4a75e2bf928b19840204979507e32a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 20726, "upload_time": "2019-03-08T16:17:53", "url": "https://files.pythonhosted.org/packages/aa/5a/681d8067839ddd677cd7491a5cec1f481e4c0566c02863c195e7bbc6c384/ljson-0.5.0.tar.gz" } ], "0.5.1": [ { "comment_text": "", "digests": { "md5": "f82faba12dbe575f050bbbb0ae5320ea", "sha256": "531d429b1fe49dee7484af4e421d89f1d5944c053bdc97527369c694a3e7823f" }, "downloads": -1, "filename": "ljson-0.5.1-py3-none-any.whl", "has_sig": false, "md5_digest": "f82faba12dbe575f050bbbb0ae5320ea", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 28849, "upload_time": "2019-03-11T12:31:25", "url": "https://files.pythonhosted.org/packages/6a/4f/04bcb1344ceb1d5e11e7540e236fe2535b05e0d41997f6e73fba230eb9bb/ljson-0.5.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "92f8f1ed048291100457507052bf986b", "sha256": "da7a3945a679c7c0fe2a128042449cccf7ffe3170822d04af4ee6b2c4e1326f9" }, "downloads": -1, "filename": "ljson-0.5.1.tar.gz", "has_sig": false, "md5_digest": "92f8f1ed048291100457507052bf986b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 20851, "upload_time": "2019-03-11T12:31:28", "url": "https://files.pythonhosted.org/packages/0b/19/e97240b1ddebb149a9292703f8d9d23ab6b6b79e529514c7ad85225df7d8/ljson-0.5.1.tar.gz" } ], "0.5.2": [ { "comment_text": "", "digests": { "md5": "805172783ef4bf258509a48a8be32c8c", "sha256": "5dfe735483c776c0ff3fb0471691cdd6076e4f04d52d444721536047cbc404c4" }, "downloads": -1, "filename": "ljson-0.5.2-py3-none-any.whl", "has_sig": false, "md5_digest": "805172783ef4bf258509a48a8be32c8c", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 29122, "upload_time": "2019-03-13T10:03:22", "url": "https://files.pythonhosted.org/packages/3c/e0/6d3ad09d667062ff4c96eac3a1df5624aecac89f5ee7a9195378f43f19bc/ljson-0.5.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "9742df4ece5cc1de8e2ed80a0065dcfb", "sha256": "db9aa5bf9c695577e24f7c7f06526fc7f311ab505f369fc2a1d5c83b25182052" }, "downloads": -1, "filename": "ljson-0.5.2.tar.gz", "has_sig": false, "md5_digest": "9742df4ece5cc1de8e2ed80a0065dcfb", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 21102, "upload_time": "2019-03-13T10:03:24", "url": "https://files.pythonhosted.org/packages/73/cb/63ce121fdf0a6fe522649ad42790b2787c2821ac3cc3612e7c5d8a147dba/ljson-0.5.2.tar.gz" } ], "0.5.3": [ { "comment_text": "", "digests": { "md5": "ceba919de2b19fbd7052a7399c6043d6", "sha256": "036dcfdccca6123f14e43ec725b7c035924bce67273f3feee32f6acd38a1efb7" }, "downloads": -1, "filename": "ljson-0.5.3-py3-none-any.whl", "has_sig": false, "md5_digest": "ceba919de2b19fbd7052a7399c6043d6", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 29109, "upload_time": "2019-03-13T11:44:03", "url": "https://files.pythonhosted.org/packages/2f/09/eb48dee3c2ebaecb054282b045ee93c9ac40412e9f0b0cebc6f32c27f365/ljson-0.5.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "17ee45c1f46e629925d086fb1ed89b9a", "sha256": "5fd6924d9e815731e84668ef3147e006192a42e01712f755e7f58dbcbdb34ce8" }, "downloads": -1, "filename": "ljson-0.5.3.tar.gz", "has_sig": false, "md5_digest": "17ee45c1f46e629925d086fb1ed89b9a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 21088, "upload_time": "2019-03-13T11:44:04", "url": "https://files.pythonhosted.org/packages/37/af/8bf1b1517278d8a56fc182382134ea543d14667f1c807f6dc18d7136b237/ljson-0.5.3.tar.gz" } ], "0.5.4": [ { "comment_text": "", "digests": { "md5": "4b948e421dd36754e5ad7f2ca4353ede", "sha256": "f2a68507bf5d51a45f50dd130f6fc5d054758220ac4bd9b9d9e501432d59fd75" }, "downloads": -1, "filename": "ljson-0.5.4-py3-none-any.whl", "has_sig": false, "md5_digest": "4b948e421dd36754e5ad7f2ca4353ede", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 29841, "upload_time": "2019-03-13T18:49:13", "url": "https://files.pythonhosted.org/packages/67/1c/584a2e315d025d82244edb6cfa1796f69a27722c51006e55973bbd638939/ljson-0.5.4-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "ddc344bb0ce3cbe770bb7f59fa2e4fd3", "sha256": "9ab6a2873ad766c8a01bb34870abaede24bbcafd924bd3eec619673ef229ccca" }, "downloads": -1, "filename": "ljson-0.5.4.tar.gz", "has_sig": false, "md5_digest": "ddc344bb0ce3cbe770bb7f59fa2e4fd3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 21818, "upload_time": "2019-03-13T18:49:15", "url": "https://files.pythonhosted.org/packages/de/69/841a741dd0ee55076046c26dd2c63eee47f2c47897f4ce07dd875ed8f7ac/ljson-0.5.4.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "4b948e421dd36754e5ad7f2ca4353ede", "sha256": "f2a68507bf5d51a45f50dd130f6fc5d054758220ac4bd9b9d9e501432d59fd75" }, "downloads": -1, "filename": "ljson-0.5.4-py3-none-any.whl", "has_sig": false, "md5_digest": "4b948e421dd36754e5ad7f2ca4353ede", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 29841, "upload_time": "2019-03-13T18:49:13", "url": "https://files.pythonhosted.org/packages/67/1c/584a2e315d025d82244edb6cfa1796f69a27722c51006e55973bbd638939/ljson-0.5.4-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "ddc344bb0ce3cbe770bb7f59fa2e4fd3", "sha256": "9ab6a2873ad766c8a01bb34870abaede24bbcafd924bd3eec619673ef229ccca" }, "downloads": -1, "filename": "ljson-0.5.4.tar.gz", "has_sig": false, "md5_digest": "ddc344bb0ce3cbe770bb7f59fa2e4fd3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 21818, "upload_time": "2019-03-13T18:49:15", "url": "https://files.pythonhosted.org/packages/de/69/841a741dd0ee55076046c26dd2c63eee47f2c47897f4ce07dd875ed8f7ac/ljson-0.5.4.tar.gz" } ] }