A Python implementation of LINQ
Project description
Querpyable
A Python implementation of LINQ
: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 hashes)
Built Distribution
querpyable-3.0.0-py3-none-any.whl
(10.0 kB
view hashes)
Close
Hashes for querpyable-3.0.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f0ba410210208a284c8c36582e2995ab7194077e83cd7f2a630782c01699ed7e |
|
MD5 | 08e4fbdff11faa8cb0521e85ea6a39bd |
|
BLAKE2b-256 | 7ca4f4d8cfe6ad3d9f8c8e925c05d35414c25a254ff8d73867f49f96c21ec39e |