LINQ-for-objects style queries for Python iterables.
Project description
asq is simple implementation of a LINQ-inspired API for Python which operates over Python iterables, including a parallel version implemented in terms of the Python standard library multiprocessing module.
What It Does
asq is a package implementing queries over iterables of Python objects. asq provides a fluent interface making extensive use of method chaining to create complex queries without compromising readability. For example, to take the first five uppercased results from a list of words sorted by length and then alphabetically, try:
>>> from asq import query >>> words = ["zero", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine", "ten"] >>> query(words).order_by(len).then_by().take(5).select(str.upper).to_list() ['ONE', 'SIX', 'TEN', 'TWO', 'FIVE']
Over 40 standard query operators are provided together with various utilities to make the API even more convenient to use in Python.
Documentation
Of course, there is full Narrative and reference documentation for asq
Status
Build status:
How to get it
asq is available on the Python Package Index and can be installed with easy_install or pip:
$ pip install asq
Requirements
This version of asq works with and 3.9 and higher
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
Built Distribution
File details
Details for the file asq-2.0.0.tar.gz
.
File metadata
- Download URL: asq-2.0.0.tar.gz
- Upload date:
- Size: 44.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.11.8
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 76f579672196d1d0a9ccadc25e092fcd2674879369a62eaf7a962d1e2ec78823 |
|
MD5 | a16dcaa452e5b1b80f31fe74b0f6f3a7 |
|
BLAKE2b-256 | efaf7263f311aa8b4b3df4cf8fa951375efb179b60cb5d75118bc8a1041de42c |
File details
Details for the file asq-2.0.0-py3-none-any.whl
.
File metadata
- Download URL: asq-2.0.0-py3-none-any.whl
- Upload date:
- Size: 29.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.11.8
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3c28c26d666fcbaaf856f78f087a9c80a8317b4f7a5427bbfc040bf5ca9e26fb |
|
MD5 | 6157529ca402875351f1ec08f786a9b6 |
|
BLAKE2b-256 | 578fabdcff7a42b0302ed024ad8cdda39e822d722db6e36a2eeaccf662870b45 |