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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4faf846b60540437b985b1024515f709001cda69258de900e563576978c9ec29
|
|
| MD5 |
8d13383d41fb9fa0c7b7217ec9ce009a
|
|
| BLAKE2b-256 |
95fc9d11ccb4a74d64dd997bc63f88effa7263f3c3be204a0dc1c24f8c23a45b
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f0ba410210208a284c8c36582e2995ab7194077e83cd7f2a630782c01699ed7e
|
|
| MD5 |
08e4fbdff11faa8cb0521e85ea6a39bd
|
|
| BLAKE2b-256 |
7ca4f4d8cfe6ad3d9f8c8e925c05d35414c25a254ff8d73867f49f96c21ec39e
|