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.

How to get it

asq is available on the Python Package Index and can be installed with easy_install from setuptools:

$ pip install asq

Alternatively you can download and unpack the source and install using:

$ cd asq-1.2
$ python setup.py install

Requirements

This version of asq works with and 2.7 and higher, including Python 3. It is tested on Python 2.7, Python 3.3, Python 3.4 and Python 3.5. Furthermore it is tested on IronPython 2.7.

Project details


Download files

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

Filename, size & hash SHA256 hash help File type Python version Upload date
asq-1.3-py2.py3-none-any.whl (31.9 kB) Copy SHA256 hash SHA256 Wheel py2.py3 Jan 22, 2018
asq-1.3.tar.gz (47.8 kB) Copy SHA256 hash SHA256 Source None Jan 22, 2018

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page