Skip to main content

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:

Build Status Documentation 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

asq-2.0.0.tar.gz (44.9 kB view details)

Uploaded Source

Built Distribution

asq-2.0.0-py3-none-any.whl (29.5 kB view details)

Uploaded Python 3

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

Hashes for asq-2.0.0.tar.gz
Algorithm Hash digest
SHA256 76f579672196d1d0a9ccadc25e092fcd2674879369a62eaf7a962d1e2ec78823
MD5 a16dcaa452e5b1b80f31fe74b0f6f3a7
BLAKE2b-256 efaf7263f311aa8b4b3df4cf8fa951375efb179b60cb5d75118bc8a1041de42c

See more details on using hashes here.

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

Hashes for asq-2.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 3c28c26d666fcbaaf856f78f087a9c80a8317b4f7a5427bbfc040bf5ca9e26fb
MD5 6157529ca402875351f1ec08f786a9b6
BLAKE2b-256 578fabdcff7a42b0302ed024ad8cdda39e822d722db6e36a2eeaccf662870b45

See more details on using hashes here.

Supported by

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