{ "info": { "author": "", "author_email": "", "bugtrack_url": null, "classifiers": [ "Development Status :: 3 - Alpha", "Intended Audience :: Developers", "Intended Audience :: Science/Research", "License :: OSI Approved :: MIT License", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7" ], "description": "Cherrypicker\n------------\n\n*Flatten complex data.*\n\n``cherrypicker`` aims to make common ETL tasks (filtering data and\nrestructuring it into flat tables) easier, by taking inspiration from jQuery\nand applying it in a Pythonic way to generic data objects.\n\n.. code-block:: bash\n\n pip install cherrypicker\n\n``cherrypicker`` provides a chainable filter and extraction interface to\nallow you to easily pick out objects from complex structures and place them in\na flat table. It fills a similar role to jQuery in JavaScript, enabling you to\nnavigate complex structures without the need for lots of complex nested for\nloops or list comprehensions.\n\nExamples\n++++++++\n\n.. code-block:: python\n\n >>> from cherrypicker import CherryPicker\n >>> import json\n >>> with open('climate.json', 'r') as fp:\n ... data = json.load(fp)\n >>> picker = CherryPicker(data)\n\n.. code-block:: python\n\n >>> picker['id', 'city'].get()\n [[1, 'Amsterdam'], [2, 'Athens'], [3, 'Atlanta GA'], ...]\n\n.. code-block:: python\n\n >>> picker(city='B*')['info'](\n ... population=lambda n: n > 2000000,\n ... area=lambda a: a < 2000\n ... )['area', 'population'].get()\n [[1568, 8300000], [891, 3700000], [203, 2800000]]\n\nMore complex filtering and flattening of nested structures is possible. Learn\nmore in the documentation: https://cherrypicker.readthedocs.io.\n", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://cherrypicker.readthedocs.io", "keywords": "cherrypicker data etl extract flatten jquery", "license": "", "maintainer": "", "maintainer_email": "", "name": "cherrypicker", "package_url": "https://pypi.org/project/cherrypicker/", "platform": "", "project_url": "https://pypi.org/project/cherrypicker/", "project_urls": { "Homepage": "https://cherrypicker.readthedocs.io" }, "release_url": "https://pypi.org/project/cherrypicker/0.4.0/", "requires_dist": null, "requires_python": "", "summary": "Pluck and flatten complex data.", "version": "0.4.0", "yanked": false, "yanked_reason": null }, "last_serial": 10988190, "releases": { "0.0.0": [ { "comment_text": "", "digests": { "md5": "3adf90f8942a483ca9c580c18665e5a4", "sha256": "96167a9e9adb4f5d988c9726409ec3bf5dc9cec2d069b3ecd9f4a47d29a737b0" }, "downloads": -1, "filename": "cherrypicker-0.0.0-py3-none-any.whl", "has_sig": false, "md5_digest": "3adf90f8942a483ca9c580c18665e5a4", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.5", "size": 2614, "upload_time": "2019-07-11T21:07:47", "upload_time_iso_8601": "2019-07-11T21:07:47.101063Z", "url": "https://files.pythonhosted.org/packages/ef/62/4db56d2687b533437635c934c54d04c3ee0cd2d330ee9c2b2363b7b2d05a/cherrypicker-0.0.0-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "bc9a4a2c3439b0bcce12c90262d7bf3b", "sha256": "0e534df675b890962c964a10ad8488ab25cba715e971c4d893bbd5bb706cb1b7" }, "downloads": -1, "filename": "cherrypicker-0.0.0.tar.gz", "has_sig": false, "md5_digest": "bc9a4a2c3439b0bcce12c90262d7bf3b", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 1667, "upload_time": "2019-07-11T21:07:49", "upload_time_iso_8601": "2019-07-11T21:07:49.028137Z", "url": "https://files.pythonhosted.org/packages/f6/b7/7a32198cf6525a5206e8df194e3c33c09af7a7c47063deb71a199c1b51c4/cherrypicker-0.0.0.tar.gz", "yanked": false, "yanked_reason": null } ], "0.1.0": [ { "comment_text": "", "digests": { "md5": "a5c6d9f3e0cfb9b00d637f4c40c39d1c", "sha256": "cfb6f3132606adce16ba247cf68a6f483f641ebf1d55970f25a96b9608b63da0" }, "downloads": -1, "filename": "cherrypicker-0.1.0-py3-none-any.whl", "has_sig": false, "md5_digest": "a5c6d9f3e0cfb9b00d637f4c40c39d1c", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.5", "size": 12119, "upload_time": "2019-07-15T23:15:32", "upload_time_iso_8601": "2019-07-15T23:15:32.688258Z", "url": "https://files.pythonhosted.org/packages/98/2c/81a5ce66183920e1a77270a2059a3ab39c69ea3e112e34eb7f3584de2569/cherrypicker-0.1.0-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "cb48c5e01500115a6f9dfe6623aae2ee", "sha256": "89cca9a730aa62998b64d1c76aa38c6a256a143fde886ce773f592841d242b60" }, "downloads": -1, "filename": "cherrypicker-0.1.0.tar.gz", "has_sig": false, "md5_digest": "cb48c5e01500115a6f9dfe6623aae2ee", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 183621, "upload_time": "2019-07-15T23:15:34", "upload_time_iso_8601": "2019-07-15T23:15:34.727996Z", "url": "https://files.pythonhosted.org/packages/60/0b/cb5cc621274bfa74f0fb5f41d6fa891255a9655f23f9633cea1e15b1c539/cherrypicker-0.1.0.tar.gz", "yanked": false, "yanked_reason": null } ], "0.2.0": [ { "comment_text": "", "digests": { "md5": "4a67de232e3f501b1abf79b0ed1423b9", "sha256": "1fef97f9c7223e4ec88eb63dc60360580560677e9f7ced96e79f3603d41770cf" }, "downloads": -1, "filename": "cherrypicker-0.2.0-py3-none-any.whl", "has_sig": false, "md5_digest": "4a67de232e3f501b1abf79b0ed1423b9", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.5", "size": 13288, "upload_time": "2019-08-03T09:15:40", "upload_time_iso_8601": "2019-08-03T09:15:40.815871Z", "url": "https://files.pythonhosted.org/packages/5c/de/01c289c09bc0aa7914159faabfa6c6ee81e4aed947db526a948b448da98f/cherrypicker-0.2.0-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "c2312ce1c7a6a96c59e1c820017c103e", "sha256": "93c0cdd158fd792ebf5acb107b956a8c74b41af3dc98afdce4c2ddf9e31dc120" }, "downloads": -1, "filename": "cherrypicker-0.2.0.tar.gz", "has_sig": false, "md5_digest": "c2312ce1c7a6a96c59e1c820017c103e", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 212755, "upload_time": "2019-08-03T09:15:43", "upload_time_iso_8601": "2019-08-03T09:15:43.822281Z", "url": "https://files.pythonhosted.org/packages/05/6a/6325b96b539f621b953f2e5f4e4b06e5a0deefa1130362051336ec18a365/cherrypicker-0.2.0.tar.gz", "yanked": false, "yanked_reason": null } ], "0.2.1": [ { "comment_text": "", "digests": { "md5": "0f7241a23ac48cba9ca9b9e42f2a15a7", "sha256": "7ff26438640ac33d38f5dccf5cde7ce2b9bac989d62836327d8e1ea0c9e69ffd" }, "downloads": -1, "filename": "cherrypicker-0.2.1-py3-none-any.whl", "has_sig": false, "md5_digest": "0f7241a23ac48cba9ca9b9e42f2a15a7", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 12769, "upload_time": "2019-08-03T15:39:30", "upload_time_iso_8601": "2019-08-03T15:39:30.831774Z", "url": "https://files.pythonhosted.org/packages/31/fd/28db6d421147e4eac7e7f756bf11b6ac2b343a43da7a067c81bbbcc931cd/cherrypicker-0.2.1-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "d04134f61d87617732c73f0461add20c", "sha256": "03e574e07a8d3b40395257aaa9542d85b5e5c7bb8711873aa22ccec758eeb255" }, "downloads": -1, "filename": "cherrypicker-0.2.1.tar.gz", "has_sig": false, "md5_digest": "d04134f61d87617732c73f0461add20c", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 34515, "upload_time": "2019-08-03T15:39:32", "upload_time_iso_8601": "2019-08-03T15:39:32.494831Z", "url": "https://files.pythonhosted.org/packages/a1/be/7da0ad2e0d24c21a9cab1d227364a27dadd9827ae919610d017a8a30deb1/cherrypicker-0.2.1.tar.gz", "yanked": false, "yanked_reason": null } ], "0.2.2": [ { "comment_text": "", "digests": { "md5": "96498c9cda08a79387886d4ff46ad51d", "sha256": "4682d155f1bf7877bfc86ee3589e5c5362a483dac814df67513e797ae2211296" }, "downloads": -1, "filename": "cherrypicker-0.2.2.tar.gz", "has_sig": false, "md5_digest": "96498c9cda08a79387886d4ff46ad51d", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 35324, "upload_time": "2019-10-28T21:51:50", "upload_time_iso_8601": "2019-10-28T21:51:50.065005Z", "url": "https://files.pythonhosted.org/packages/65/35/a83c4b2665b698f1d96e447b59071137e5a2e90fed50d3ca676a64c33a7c/cherrypicker-0.2.2.tar.gz", "yanked": false, "yanked_reason": null } ], "0.3.0": [ { "comment_text": "", "digests": { "md5": "f6b6cf4a3add4a9e0c406087a12e434e", "sha256": "a93db3f119877ba2ad553da50e0cef541fbeddc08aa838f0d4eb079e33e741a8" }, "downloads": -1, "filename": "cherrypicker-0.3.0.tar.gz", "has_sig": false, "md5_digest": "f6b6cf4a3add4a9e0c406087a12e434e", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 35801, "upload_time": "2019-12-16T13:58:39", "upload_time_iso_8601": "2019-12-16T13:58:39.561254Z", "url": "https://files.pythonhosted.org/packages/ae/07/7da6adb5ad0e65c9c79fbcb92d6038ee6bc4a6b37bfb8b2f3fb6af13a430/cherrypicker-0.3.0.tar.gz", "yanked": false, "yanked_reason": null } ], "0.3.1": [ { "comment_text": "", "digests": { "md5": "4a0500d8b0b218639acbe8fab5a67ae4", "sha256": "f03fe131408a06238623debf1f72a194599f1198c8e042f3a03f541662208452" }, "downloads": -1, "filename": "cherrypicker-0.3.1.tar.gz", "has_sig": false, "md5_digest": "4a0500d8b0b218639acbe8fab5a67ae4", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 36679, "upload_time": "2020-08-27T19:45:13", "upload_time_iso_8601": "2020-08-27T19:45:13.413767Z", "url": "https://files.pythonhosted.org/packages/e3/13/2c4cb539cb42a1d0f239f578949816e0d6c6f2e30d654c3d487638f60418/cherrypicker-0.3.1.tar.gz", "yanked": false, "yanked_reason": null } ], "0.4.0": [ { "comment_text": "", "digests": { "md5": "88a43291a8cbe5ca8c30dfebeeb79a3b", "sha256": "dac52a21eba5dcb2d568a1a787bc8e1d731f76104af1eb2bfca0c55a9b3abf26" }, "downloads": -1, "filename": "cherrypicker-0.4.0.tar.gz", "has_sig": false, "md5_digest": "88a43291a8cbe5ca8c30dfebeeb79a3b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 221628, "upload_time": "2021-07-23T16:57:16", "upload_time_iso_8601": "2021-07-23T16:57:16.680674Z", "url": "https://files.pythonhosted.org/packages/f2/c6/37c2fa453de028a8df33e6ce6c55b42b3bbf1bc42e5fa7bdcfb63052063a/cherrypicker-0.4.0.tar.gz", "yanked": false, "yanked_reason": null } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "88a43291a8cbe5ca8c30dfebeeb79a3b", "sha256": "dac52a21eba5dcb2d568a1a787bc8e1d731f76104af1eb2bfca0c55a9b3abf26" }, "downloads": -1, "filename": "cherrypicker-0.4.0.tar.gz", "has_sig": false, "md5_digest": "88a43291a8cbe5ca8c30dfebeeb79a3b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 221628, "upload_time": "2021-07-23T16:57:16", "upload_time_iso_8601": "2021-07-23T16:57:16.680674Z", "url": "https://files.pythonhosted.org/packages/f2/c6/37c2fa453de028a8df33e6ce6c55b42b3bbf1bc42e5fa7bdcfb63052063a/cherrypicker-0.4.0.tar.gz", "yanked": false, "yanked_reason": null } ], "vulnerabilities": [] }