{ "info": { "author": "Rudolf Heszele", "author_email": "heszele@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 3 - Alpha", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Programming Language :: Python :: 3.5", "Topic :: Software Development :: Libraries :: Python Modules" ], "description": "README\n======\n\nPlinq is a library for python, implementing the Language Integrated Query (LINQ) from the C# language.\nOf course it is not a full port of the feature, it is only working with in memory iterable objects, including:\n\n- lists\n- sets\n- dictionaries\n- files\n- xml elements\n- generators\n- and every class which implements the iterable/iterator protocol (\n \\_\\_iter\\_\\_ and \\_\\_next\\_\\_)\n\nPlinq tries to mimic the Enumerable interface from C# as much as possible.\n\n- It has the same method names, wherever possible, and the same\n parameters too\n\nPlinq operators are lazy, meaning calling one, will not start the actual work.\nIt will only happen, when the iteration over the returned object is started.\n\nPlinq operators returning a new Linq object, so operator calls can be chained into a fluent API like call.\n\nHow do I get set up?\n~~~~~~~~~~~~~~~~~~~~\n\n- Summary of set up\n\n - There are several ways to set up plinq:\n\n - The simplest way is to invoke pip install plinq\n\n - You can also check out the repository, and add the path to it to your python path\n\n - Combining the two above steps, you can check out the repository, create a distribution package\n by executing the setup.py file, and then install that package with pip\n\n - After these steps you can simply import plinq and start using the library\n\n- Configuration\n\n - No additional configuration is needed\n\n- Dependencies\n\n - plinq has no external dependencies. The only requirement is to have at least Python 3.5.2\n\n- How to run tests\n\n - After you have checked out the repository,\n you can run the python unit tests by invoking the following command from the root directory of the repository:\n\n - python -m unittest discover test/\n\nWho do I talk to?\n~~~~~~~~~~~~~~~~~\n\n- Repo owner and admin\n\n - Heszele Rudolf heszele@gmail.com\n\nExample usage\n~~~~~~~~~~~~~\n\n::\n\n import plinq\n linq = plinq.from_iterable([1, 2, 3, 4, 5]).where(lambda item, index: item % 2 == 0).select(lambda item, index: item ** 2)\n for item in linq:\n print(item)\n\nThis will result in the following output:\n\n::\n\n 4\n 16\n\nVersion History\n~~~~~~~~~~~~~~~\n- 0.1: Never released externally\n- 0.2: Initial release on pypi. Includes almost all the linq operators, except then_by and then_by_descending\n- 0.3: Added then_by and then_by_descending linq operarors, and max_item and min_item operators.", "description_content_type": null, "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://bitbucket.org/herf/plinq", "keywords": "linq python", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "plinq", "package_url": "https://pypi.org/project/plinq/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/plinq/", "project_urls": { "Homepage": "https://bitbucket.org/herf/plinq" }, "release_url": "https://pypi.org/project/plinq/0.3/", "requires_dist": null, "requires_python": "", "summary": "LINQ implementation for Python", "version": "0.3" }, "last_serial": 2888576, "releases": { "0.2": [ { "comment_text": "", "digests": { "md5": "ec32922c7c2800872bbc6dc4944f6755", "sha256": "fe2af18b9a7e5fac52d109adc70bfbf0c5f3d5d7479fbc204000d6fd84f1b666" }, "downloads": -1, "filename": "plinq-0.2.tar.gz", "has_sig": false, "md5_digest": "ec32922c7c2800872bbc6dc4944f6755", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 22531, "upload_time": "2017-05-14T14:35:50", "url": "https://files.pythonhosted.org/packages/3c/34/7c50b208d762c833a757df4cbacf5cfcdbb8199ad868df2bafb5f275c9b1/plinq-0.2.tar.gz" } ], "0.3": [ { "comment_text": "", "digests": { "md5": "7f8a09b2733117ea72f93ebea43ff200", "sha256": "affcf7a5ec1a2280a7a734f95fb5c1692522f1e973e33fd0253b423bc82b5f16" }, "downloads": -1, "filename": "plinq-0.3.tar.gz", "has_sig": false, "md5_digest": "7f8a09b2733117ea72f93ebea43ff200", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 27139, "upload_time": "2017-05-21T09:09:11", "url": "https://files.pythonhosted.org/packages/dc/51/c621093fedd6c88f029d3b0d0745927a4b9332031e34e2af8544b3355641/plinq-0.3.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "7f8a09b2733117ea72f93ebea43ff200", "sha256": "affcf7a5ec1a2280a7a734f95fb5c1692522f1e973e33fd0253b423bc82b5f16" }, "downloads": -1, "filename": "plinq-0.3.tar.gz", "has_sig": false, "md5_digest": "7f8a09b2733117ea72f93ebea43ff200", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 27139, "upload_time": "2017-05-21T09:09:11", "url": "https://files.pythonhosted.org/packages/dc/51/c621093fedd6c88f029d3b0d0745927a4b9332031e34e2af8544b3355641/plinq-0.3.tar.gz" } ] }