Skip to main content

A Python implementation of LINQ

Project description

Querpyable

A Python implementation of LINQ

PyPI - Python Version PyPI CI CD pre-commit.ci status Test Coverage PyPI - License Open in GitHub Codespaces Cookiecutter Template Renovate - Enabled Buy me a coffee Dependency Review

:bulb: Example

# Calculating the first 10000 primes
primes = (
    Queryable.range(2, 1_000_000)
    .where(lambda n: all(n % i != 0 for i in range(2, int(n**0.5) + 1)))
    .take(10000)
    .to_list()
)

# Calculating Factorials using Aggregate:
factorial = (
    Queryable
    .range(1, 5)
    .aggregate(lambda result, current: result * current)
)

# Finding Palindromic Words in a List:
words = ["level", "hello", "world", "radar", "LINQ", "civic"]
palindromic_words = (
    Queryable(words)
    .where(lambda word: word == word[::-1])
    .to_list()
)

# Selecting Unique Characters from a Sentence:
sentence = "LINQ is fun and powerful"
unique_characters = (
    Queryable(sentence)
    .where(lambda char: char.isalpha())
    .select(lambda char: char.lower())
    .distinct()
    .to_list()
)

:cd: Installation

pip install querpyable

In order to locally set up the project please follow the instructions below:

# Set up the GitHub repository
git clone https://github.com/billsioros/querpyable

# Create a virtual environment using poetry and install the required dependencies
poetry shell
poetry install

# Install pre-commit hooks
pre-commit install --install-hooks
pre-commit autoupdate

:book: Documentation

The project's documentation can be found here.

:heart: Support the project

Feel free to Buy me a coffee! ☕.

:sparkles: Contributing

If you would like to contribute to the project, please go through the Contributing Guidelines first.

:label: Credits

This project was generated with billsioros/cookiecutter-pypackage cookiecutter template.

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

querpyable-3.0.0.tar.gz (12.3 kB view details)

Uploaded Source

Built Distribution

querpyable-3.0.0-py3-none-any.whl (10.0 kB view details)

Uploaded Python 3

File details

Details for the file querpyable-3.0.0.tar.gz.

File metadata

  • Download URL: querpyable-3.0.0.tar.gz
  • Upload date:
  • Size: 12.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.10.0 readme-renderer/43.0 requests/2.31.0 requests-toolbelt/1.0.0 urllib3/2.2.1 tqdm/4.66.2 importlib-metadata/7.0.2 keyring/24.3.1 rfc3986/2.0.0 colorama/0.4.6 CPython/3.10.13

File hashes

Hashes for querpyable-3.0.0.tar.gz
Algorithm Hash digest
SHA256 4faf846b60540437b985b1024515f709001cda69258de900e563576978c9ec29
MD5 8d13383d41fb9fa0c7b7217ec9ce009a
BLAKE2b-256 95fc9d11ccb4a74d64dd997bc63f88effa7263f3c3be204a0dc1c24f8c23a45b

See more details on using hashes here.

File details

Details for the file querpyable-3.0.0-py3-none-any.whl.

File metadata

  • Download URL: querpyable-3.0.0-py3-none-any.whl
  • Upload date:
  • Size: 10.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.10.0 readme-renderer/43.0 requests/2.31.0 requests-toolbelt/1.0.0 urllib3/2.2.1 tqdm/4.66.2 importlib-metadata/7.0.2 keyring/24.3.1 rfc3986/2.0.0 colorama/0.4.6 CPython/3.10.13

File hashes

Hashes for querpyable-3.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 f0ba410210208a284c8c36582e2995ab7194077e83cd7f2a630782c01699ed7e
MD5 08e4fbdff11faa8cb0521e85ea6a39bd
BLAKE2b-256 7ca4f4d8cfe6ad3d9f8c8e925c05d35414c25a254ff8d73867f49f96c21ec39e

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