iterproxy
Give any iterable object capability to use .one(), .one_or_none(), .many(k), .skip(k), .all() API.
What it is and what it does
IterProxy is a lightweight wrapper that adds ORM-like query methods to any Python iterable. Instead of manually slicing, filtering, and consuming iterators with nested loops or built-in functions, you wrap an iterable in IterProxy and call chainable methods like .one(), .many(k), .skip(k), .all(), and .filter() to retrieve items in a more readable style. It supports both simple and compound filter logic using and_, or_, and not_ operators, and can group items into chunks.
The package has no runtime dependencies and works across Python 3.7 through 3.11. It is useful when you want to add a familiar query-like interface to custom iterables or when refactoring code that currently uses nested filter() calls or manual iteration. The dormant maintenance status (last release November 2023) means it is stable but unlikely to receive updates for new Python versions or features.
Use it for:
- Simplify access to query results in custom ORM wrappers or data-fetching functions by replacing manual iteration with .one(), .many(k), or .all().
- Chain multiple filter predicates on an iterable without nesting built-in filter() calls, improving readability.
- Skip and retrieve a fixed number of items from an iterator using .skip(k).many(n) in a single readable expression.
- Group large iterables into fixed-size chunks for batch processing using .iter_chunks(k).
- Add type hints to iterator results by subclassing IterProxy with a generic type parameter for IDE autocomplete.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Wraps any iterable object to provide ORM-style query methods like .one(), .many(k), .skip(k), .all(), and .filter() for convenient item access and filtering.
Yes, if you frequently work with custom iterables and prefer a fluent query API over nested filter() calls or manual slicing. The zero-dependency footprint and permissive license make it low-risk. However, the dormant maintenance status means it will not receive updates for future Python versions; install only if your Python version is already in the supported range (3.7–3.11) and you do not expect the package to evolve.
Install
iterproxy on PyPI
pip
pip install iterproxyuv
uv add iterproxypoetry
poetry add iterproxyInstalling iterproxy
Before you install
Low friction installation with no runtime dependencies. Package is dormant (last release 2023-11-02, 1016 days ago) but has seen no recent changes to warrant concern; suitable for stable, self-contained use.
License in practice
MIT license is permissive; you may use, modify, and distribute this package freely with minimal restrictions.
Quickstart
from iterproxy import IterProxy
proxy = IterProxy(range(10))
proxy.one() # returns 0
proxy.many(3) # returns [1, 2, 3]
proxy.skip(2).many(2) # returns [6, 7]
proxy.all() # returns [8, 9]
Verify before relying
- Whether the package is actively maintained or if dormancy signals abandonment risk for future Python versions.
- Performance characteristics when wrapping very large iterables or deeply chained filter operations.
Package facts
| License | MIT (permissive) |
| Python support | not specified |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | none |
| Maintenance | dormant — 1,016 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 870,817/month — #4,847 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: iterproxy-0.3.1-py2.py3-none-any.whl
Tags
More Software Development packages
Provides backported and experimental type hints…
permissive · top 100 on PyPI
numpyNumPy provides an N-dimensional array object…
permissive · top 100 on PyPI
fastapiFastAPI is a Python web framework for building…
permissive · top 100 on PyPI
annotated-docProvides a way to document function parameters,…
permissive · top 100 on PyPI
typerTyper builds command-line applications from…
permissive · top 1,000 on PyPI
distlibDistlib provides low-level packaging utilities…
permissive · top 1,000 on PyPI
pipePipe enables shell-like infix syntax for…
permissive · top 15,000 on PyPI
sliceratorSlicerator wraps a class's `__getitem__` method…
permissive · top 15,000 on PyPI
lmzProvides convenience functions for mapping,…
copyleft · top 15,000 on PyPI
firstReturns the first true value from an iterable,…
permissive · top 15,000 on PyPI
django-chunkatorIterates over large Django QuerySets in…
permissive · top 15,000 on PyPI
iterable-ioWraps iterables (generators, lists, etc.) as…
copyleft · top 15,000 on PyPI
lazy-object-proxyProvides a proxy object that defers execution…
permissive · top 1,000 on PyPI
nr-streamProvides functional-style utilities for Python…
permissive · top 15,000 on PyPI
flupyFlupy provides a fluent interface for lazy…
permissive · top 5,000 on PyPI
proxy_toolsProvides a lazy-evaluation proxy object that…
permissive · top 5,000 on PyPI