{ "info": { "author": "Jordan Matelsky", "author_email": "opensource@matelsky.com", "bugtrack_url": null, "classifiers": [ "License :: OSI Approved :: MIT License", "Programming Language :: Python", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.6" ], "description": "
Query JSON in memory as though it were a Mongo database
\n\n\n## Installation\n\n```shell\npip3 install jque\n```\n\n## Usage\n\n```python\nimport jque\n```\n\n`jque` accepts a variety of inputs to the constructor.\n\nPass a list of dicts:\n```python\ndata = jque.jque([\n { \"name\": \"john\" }, \n { \"name\": \"paul\" }, \n { \"name\": \"george\" }, \n { \"name\": \"ringo\" }\n])\n```\n\nPass a JSON filename:\n```python\nDATAFILE = \"~/my/big/data.json\"\ndata = jque.jque(DATAFILE)\n```\n\nNow you can query this dataset using Mongo-like syntax:\n\n```python\n>>> data.query({ \"name\": {\"$neq\": \"paul\"} })\n[\n { \"name\": \"john\" },\n { \"name\": \"george\" }, \n { \"name\": \"ringo\" }\n]\n```\n\n### Arguments to `query`:\n\n| Arg | Description |\n|-----|-------------|\n| `wrap` (`boolean` : `True`) | Whether to wrap the resultant dataset in a new `jque` object. This allows chaining, like `jque.query(...).query(...)`, if you're the sort of person to do that. Pass `False` to get back a `list` instead. |\n\n\n### Another example!\n\n```python\ndata = jque.jque([{\n \"_id\": \"ABC\",\n \"name\": \"Arthur Dent\",\n \"age\": 42,\n \"current_planet\": \"earth\"\n}, {\n \"_id\": \"DE2\",\n \"name\": \"Penny Lane\",\n \"age\": 19,\n \"current_planet\": \"earth\"\n}, {\n \"_id\": \"123\",\n \"name\": \"Ford Prefect\",\n \"age\": 240,\n \"current_planet\": \"Brontitall\"\n}])\n```\n\n```python\nteenage_earthlings = data.query({\n \"current_planet\": {\"$eq\": \"earth\"},\n \"age\": { \"$lte\": 20, \"$gte\": 10 }\n})\n```\n\nWhich returns:\n\n```python\n[{\n \"_id\": \"DE2\",\n \"name\": \"Penny Lane\",\n \"age\": 19,\n \"current_planet\": \"earth\"\n}]\n```\n\n\nUse Python lambdas as a filter:\n\n```python\n>>> libraries = jque.jque([\n... {\"name\": \"jque\", \"language\": \"Python\"}, \n... {\"name\": \"react\", \"language\": \"node\"}\n... ])\n>>> list(libraries.query({\n... 'language': lambda x: x[:2] == \"Py\"\n... }))\n[{\"name\": \"jque\", \"language\": \"Python\"}]\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/j6k4m8/jque", "keywords": "", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "jque", "package_url": "https://pypi.org/project/jque/", "platform": "", "project_url": "https://pypi.org/project/jque/", "project_urls": { "Homepage": "https://github.com/j6k4m8/jque" }, "release_url": "https://pypi.org/project/jque/0.1.3/", "requires_dist": [ "deco", "pytest; extra == 'dev'", "pylint; extra == 'dev'" ], "requires_python": ">=3.6.0", "summary": "Query JSON in memory as though it were a Mongo database.", "version": "0.1.3" }, "last_serial": 5628935, "releases": { "0.0.1": [ { "comment_text": "", "digests": { "md5": "455e2922dc6ac4f9454d2fb344756344", "sha256": "b219d084d4527bcb80453332df695743b62926e5152898d7463e4fe1d89f907a" }, "downloads": -1, "filename": "jque-0.0.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "455e2922dc6ac4f9454d2fb344756344", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 4211, "upload_time": "2017-12-07T16:19:59", "url": "https://files.pythonhosted.org/packages/b2/46/4151a07cfca492673e8f60b0280e84e6a2758091e4d5cdeec90c6c161f7e/jque-0.0.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "81bbe92de7c9ddeaa84884bca2b98ef9", "sha256": "fd86472e5291005bcbeb1e933416746e39ff439ac7cbead01f34c5ea1b275047" }, "downloads": -1, "filename": "jque-0.0.1.tar.gz", "has_sig": false, "md5_digest": "81bbe92de7c9ddeaa84884bca2b98ef9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2876, "upload_time": "2017-09-16T17:15:59", "url": "https://files.pythonhosted.org/packages/bb/8b/1e5894e070711a5eb49ed01e7ef3f9d2ca03ccc328bc07c1a955f2131fcb/jque-0.0.1.tar.gz" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "045735e16522527ba77a5e63cb05d282", "sha256": "cb3a642471dbfb377dba2f98125cfbb5fa3120eeb9164bfe370fd63e9dd6a99f" }, "downloads": -1, "filename": "jque-0.1.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "045735e16522527ba77a5e63cb05d282", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=3.6.0", "size": 3298, "upload_time": "2018-05-21T20:39:20", "url": "https://files.pythonhosted.org/packages/f9/73/9c26115d78218209f7c515749f3f60dbdba2dd0cf2c2e835283595852bb5/jque-0.1.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "dee8f42aaeff4c7c40c8fcc7308be868", "sha256": "bb2266cc69291d95b0f7abbaaf49fba0cf60b6a650f6742bc1f9f8ddb8103bca" }, "downloads": -1, "filename": "jque-0.1.1.tar.gz", "has_sig": false, "md5_digest": "dee8f42aaeff4c7c40c8fcc7308be868", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6.0", "size": 3937, "upload_time": "2018-05-21T20:39:21", "url": "https://files.pythonhosted.org/packages/11/93/68efbec6b73e9619177e10aaa6c3cd81288ade9e8d11ba2442e505f1f190/jque-0.1.1.tar.gz" } ], "0.1.2": [ { "comment_text": "", "digests": { "md5": "d830064252eb2bb48a7f548401f05df4", "sha256": "77509a09716c42037bbfa61365840ff56c5bac72bb249eccff18cc659e32f276" }, "downloads": -1, "filename": "jque-0.1.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "d830064252eb2bb48a7f548401f05df4", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=3.6.0", "size": 3309, "upload_time": "2018-05-21T20:48:13", "url": "https://files.pythonhosted.org/packages/fd/ee/5b8fd5159f3edeac8eaa670cee93228c3e4afe6b7b858a490373f04292bf/jque-0.1.2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "9b16c58e9fcd73be2e099951077ba195", "sha256": "bebd189bd4dd6563af4a1ab9f243934c61ad9bdac16b54988d18e1c83642b05a" }, "downloads": -1, "filename": "jque-0.1.2.tar.gz", "has_sig": false, "md5_digest": "9b16c58e9fcd73be2e099951077ba195", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6.0", "size": 3953, "upload_time": "2018-05-21T20:48:15", "url": "https://files.pythonhosted.org/packages/fd/7e/efbc0d2f73c55c890b1d01f71ce6b528fd046a9d672ebf093026109292c9/jque-0.1.2.tar.gz" } ], "0.1.3": [ { "comment_text": "", "digests": { "md5": "5585db32963597f29bdc6a7a5358bc41", "sha256": "0497c51c9a0174ee742493301dc604ce2147cb7c9f705bcbaefc0dd6ca2b0ec0" }, "downloads": -1, "filename": "jque-0.1.3-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "5585db32963597f29bdc6a7a5358bc41", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=3.6.0", "size": 3896, "upload_time": "2019-08-03T18:40:37", "url": "https://files.pythonhosted.org/packages/4e/af/9d7c1e438a3e3cee3b2fc5c5e54e02ecc24f3acf77889030aee303ef5ede/jque-0.1.3-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "b67505a9d3811807cb0b68b2c90d409e", "sha256": "3b228a4fd2d3a983418e372a2c20ef369b3140c7206ba892f94c7c5dcea38349" }, "downloads": -1, "filename": "jque-0.1.3.tar.gz", "has_sig": false, "md5_digest": "b67505a9d3811807cb0b68b2c90d409e", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6.0", "size": 4573, "upload_time": "2019-08-03T18:40:39", "url": "https://files.pythonhosted.org/packages/3d/c7/4d37639c2b34efdd077dc1f9f2886d370a1bfb51888b7955ce61e7e27852/jque-0.1.3.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "5585db32963597f29bdc6a7a5358bc41", "sha256": "0497c51c9a0174ee742493301dc604ce2147cb7c9f705bcbaefc0dd6ca2b0ec0" }, "downloads": -1, "filename": "jque-0.1.3-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "5585db32963597f29bdc6a7a5358bc41", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=3.6.0", "size": 3896, "upload_time": "2019-08-03T18:40:37", "url": "https://files.pythonhosted.org/packages/4e/af/9d7c1e438a3e3cee3b2fc5c5e54e02ecc24f3acf77889030aee303ef5ede/jque-0.1.3-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "b67505a9d3811807cb0b68b2c90d409e", "sha256": "3b228a4fd2d3a983418e372a2c20ef369b3140c7206ba892f94c7c5dcea38349" }, "downloads": -1, "filename": "jque-0.1.3.tar.gz", "has_sig": false, "md5_digest": "b67505a9d3811807cb0b68b2c90d409e", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6.0", "size": 4573, "upload_time": "2019-08-03T18:40:39", "url": "https://files.pythonhosted.org/packages/3d/c7/4d37639c2b34efdd077dc1f9f2886d370a1bfb51888b7955ce61e7e27852/jque-0.1.3.tar.gz" } ] }