Skip to main content

A LINQ-esque project.

Project description

Introduction
------------
This is an implementation of LINQ in Python.

Functions
---------
- between(a, b, key=None): Returns items between a and b. (Inclusive).
- consume(n=None): Consume n items. If n is None, consume everything.
- count(): Consumes all items to produce a count.
- dict(key=None, transform=None): Returns a dict of all items.
- exclude(items, key=None): Excludes all items based on either their identity, or a key function.
- extend(items): Yields all the items from this._items, followed by the items supplied to this function.
- filter(key): Filter the items.
- first(key=None): Take the first item if key is None, otherwise take the first item where key(item) returns true. If there are no objects, StopIteration is raised.
- first_or_none(key=None): Take the first item if key is None, otherwise take the first item where key(item) returns true. If there are no objects, None is returned.
- flatten(): Flatten a two-dimensional result set into a single dimension.
- foldl(fn, default=None): Fold left. Same as reduce.
- foldr(fn, default=None): Fold right.
- group(key): Groups all items on key.
- join(glue=''): Joins the items by glue, where glue is a string. Calls glue.join.
- last(key=None): Take the last item if key is None, otherwise take the first item where key(item) returns true. If there are no objects, StopIteration is raised.
- last_or_none(key=None): Take the first item if key is None, otherwise take the first item where key(item) returns true. If there are no objects, None is returned.
- len(): Consumes all items to produce a count.
- list(): Returns a list of all items.
- map(transform, with_index=False, with_previous=False): Map the items.
- not_none(): Returns all items except None.
- parallelize(fn, number_of_threads=None): Parallelize a function call. Number of threads defaults to your cpu count + 1.
- partition(n): Takes n items and returns them in a new Slinkie. Does so until the items are consumed.
- reduce(fn, default=None): Fold left. Same as reduce.
- select(transform, with_index=False, with_previous=False): Map the items.
- set(): Returns a set of all items.
- skip(n): Skip n items.
- sort(key=None, reverse=False): Sorts the items by key.
- str(glue=''): Joins the items by glue, where glue is a string. Calls glue.join.
- switch(*triggers, key=None, otherwise=None): Switch is similar to Haskell's case. See the unit test for examples.
- take(n): Take n items.
- transpose(): Transposes the contents of a Slinkie.
- tuple(): Returns a tuple of all items.
- where(key): Filter the items.

Installation
------------
Slinkie is available on pip, so a simple "pip install slinkie" should do it.

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

slinkie-0.1.11.tar.gz (5.0 kB view hashes)

Uploaded Source

Built Distribution

slinkie-0.1.11-py3-none-any.whl (6.2 kB view hashes)

Uploaded Python 3

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