flp
Fluent LINQ for Python – flip your iterables
flp brings a LINQ-inspired fluent API to standard Python iterables with full static typing.
⚡ Key Features
- ⚡ Lazy Evaluation (
FlpIt): Deferred execution using Python iterators and generators. - 📦 Materialized Container (
FlpList): Eager, mutable container backed bycollections.UserList. - 🔹 Static-First Typing: Built for full
mypyandpyrightinference without plugins. - 🔄 No Implicit Caching: Query results are not cached unless explicitly documented, such as
order_by.
⚙️ Installation
uv add flpit
💡 Quick Start
import flp
from flp import FlpIt, FlpList
# Deferred iterable via shorthand
data: FlpIt[int] = flp.it([1, 2, 3, 4, 5, 6, 7, 8, 9, 10])
# Deferred / lazy pipeline
query: FlpIt[int] = (
data
.where(lambda x: x % 2 == 0)
.select(lambda x: x * 10)
)
# Materialize query results explicitly
result: FlpList[int] = query.to_list() # [20, 40, 60, 80, 100]
# Or start directly with an eager container
eager_list: FlpList[int] = flp.lst([1, 2, 3, 4])
📜 License
Distributed under the MIT License. See LICENSE for more information.
Release files for flpit 0.1.3
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| flpit-0.1.3.tar.gz | 8.5 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| flpit-0.1.3-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 17.8 kB
Release files / flpit-0.1.3.tar.gz
| Download URL | flpit-0.1.3.tar.gz |
|---|---|
| Size | 8.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
427872b47a280504657d594479c10ab7736f50ac44823cbebbe92c1dc7170fa3
|
|
BLAKE2b-256 checksum How to use checksums |
76c762f04cfb9a6f8a5297e8da1401d3387738cd9d401a10f4b113a932f42301
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.12.10 {"installer":{"name":"uv","version":"0.12.10","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|
Release files / flpit-0.1.3-py3-none-any.whl
| Download URL | flpit-0.1.3-py3-none-any.whl |
|---|---|
| Size | 9.4 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
f49f85359b4a97747e1e7941b9d36e45f32df7d52ba44abc1397fc94b7a477ee
|
|
BLAKE2b-256 checksum How to use checksums |
f20723e11828582461b60eebe0a907b44deed89baf825ac4a9208cb0f886d695
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.12.10 {"installer":{"name":"uv","version":"0.12.10","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|