Skip to main content

Linq for Python

Project description

Coverage Status

py-linq

LINQ (Language Integrated Query) is a popular querying language available in .NET. This library ports the language so that developers can query collections of objects using the same syntax. This library would be useful for Python developers with experience using the expressiveness and power of LINQ.

Install

Available as a package from PyPI.

pip install py-linq

Usage

To access the LINQ functions an iterable needs to be wrapped by the Enumerable

from py_linq import Enumerable
my_collection = Enumerable([1,2,3])

Documentation

Please visit the project site for better documentation

Authors

Bruce Fenske

Contributors

  1. Oleg Shilo
  2. Sebastien Celles
  3. Daniel Goltz

History

Date Version Description
TBD 1.2.1
  • Issue #36 - Fixed iterating over files
24-Nov-2019 1.2.0
  • Memory consumption improvements by removal of data caching when collection is iterated over
  • Issue #22 - Unexpected behaviour when using iterator as input data
  • Issue #34 - Data loss when using any function
  • Issue #35 - Unexpected result when using first function
7-Oct-2019 1.1.0
  • Issue #23 - Any accepts a None predicate
  • Issue #24 - Performance improvement where any returns on first matching element
  • Issue #25 - Use of any to check for elements in an Enumerable
  • Issue #26 - Performance improvement where element_at only iterates until the n-th element
  • Issue #29 - Performance improvement where distinct method is no longer immediately executing.
  • Issue #30 - Performance improvement where all function is no longer iterating through collection more than once
  • Issue #31 - Performance improvement where reverse function is no longer immediately executing
  • Issue #32 - Count function now accepts a lambda predicate to filter collection
16-Jul-2019 1.0.1
  • Issue #21 - Support lambda predicates in first, first_or_default, last, and last_or_default methods
07-Mar-2019 1.0
  • Issue #17 - Added additional LINQ methods to complete the Enumerable API as per MSDN
06-Jan-2019 0.7
  • Issue #19 - Distinct bug fix
06-Dec-2018 0.6
  • Issue #13 - Empty list as default parameter
  • Issue #14 - except_ method bug fix
19-Jul-2017 0.5
  • last and last_or_default method bug fixes
  • then_by and then_by_descending implementation
30-Jan-2017 0.4
  • Added Python 3 support
15-Jan-2015 0.3
  • Changed README.rst
  • Performance improvements
12-Jan-2015 0.2
  • Added documentation
07-Jan-2015 0.1
  • Initial beta release

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

py_linq-1.2.1.tar.gz (31.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

py_linq-1.2.1-py2.py3-none-any.whl (43.8 kB view details)

Uploaded Python 2Python 3

File details

Details for the file py_linq-1.2.1.tar.gz.

File metadata

  • Download URL: py_linq-1.2.1.tar.gz
  • Upload date:
  • Size: 31.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: python-requests/2.21.0

File hashes

Hashes for py_linq-1.2.1.tar.gz
Algorithm Hash digest
SHA256 ef3469443e98f3ccf5aecb3f9eed64eef1de55dda43e0561185d7b9c905ddfa5
MD5 5590db360c2744a784a7fd2e015250af
BLAKE2b-256 6c5a58c7235ec87d8fe20dde55db0fa3a7777c7c5be59f7b8cf62fee3903106b

See more details on using hashes here.

File details

Details for the file py_linq-1.2.1-py2.py3-none-any.whl.

File metadata

  • Download URL: py_linq-1.2.1-py2.py3-none-any.whl
  • Upload date:
  • Size: 43.8 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: python-requests/2.21.0

File hashes

Hashes for py_linq-1.2.1-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 1cdd26cdb91e47e8ae1ecc505d434f78a72cdfc90b64bfee91abe30ef6e8c97b
MD5 5de26d40febb7e610c8cdc14cc3c07f3
BLAKE2b-256 a9d7e456838440bb09037b2d969a71800072646d654ca0e3cbb77183d64144ca

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page