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.1
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.1.tar.gz | 7.6 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| flpit-0.1.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 16.3 kB
Release files / flpit-0.1.1.tar.gz
| Download URL | flpit-0.1.1.tar.gz |
|---|---|
| Size | 7.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
545853e242726f6c2e38750f49a1c3dfa23c5cda3e8e96991c010f4b6985ac7f
|
|
BLAKE2b-256 checksum How to use checksums |
12c10cf4572c402f418e64d9159d549b90c854b7f612f716765c2d2c1cba4e9b
|
| 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.1-py3-none-any.whl
| Download URL | flpit-0.1.1-py3-none-any.whl |
|---|---|
| Size | 8.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
fe417d07082d024156d9613a6f4ff4c435a33928c9b5009199b60fc3123b3ac5
|
|
BLAKE2b-256 checksum How to use checksums |
eb9f0723ea76f124e33066e4e1f0de690e0fee0e6db62fab2f23c0d687fc8453
|
| 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}
|