nr-stream
What it is and what it does
nr-stream provides four main functional-style abstractions for Python: Stream wraps iterables and chains transformations; Optional represents values that may be None and chains operations conditionally; Refreshable holds a value that can update and propagate changes to derived values; and Supplier lazily evaluates value retrieval with optional chaining. The package aims to simplify code by enabling fluent, chainable operations rather than nested loops or conditional checks.
All classes support method chaining to build readable transformation pipelines. Stream immediately converts its input to an iterator, meaning you cannot branch streams. Refreshable uses eager evaluation so `.get()` calls are performant. Supplier always evaluates lazily and raises `Supplier.Empty` when no value exists, treating None as a valid value. The package supports Python 3.6 through 3.11 and has no external runtime dependencies.
Use it for:
- Transform and filter sequences with readable chained operations instead of nested loops or list comprehensions
- Handle optional configuration values that may be None and propagate transformations conditionally
- Pass reactive configuration objects through an application that automatically propagate updates to derived values
- Lazily compute expensive values on demand with Supplier and cache results using `.once()`
- Process iterables in chunks or apply multiple sequential transformations in a single fluent chain
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Provides functional-style utilities for Python including Optional, Stream, Refreshable, and Supplier classes to simplify chaining operations on iterables and managing optional or lazy-evaluated values.
No. The package is abandoned (1277 days since last release) with no maintenance activity. While it has no known vulnerabilities and low install friction, the lack of active maintenance makes it risky for new projects. Consider using modern functional libraries or Python's built-in itertools and functools instead, which receive ongoing support.
Install
nr-stream on PyPI
pip
pip install nr-streamuv
uv add nr-streampoetry
poetry add nr-streamInstalling nr-stream
Before you install
Low install friction with no runtime dependencies. Package is abandoned as of 1277 days since last release, with no recent maintenance activity.
License in practice
MIT license permits commercial and private use with minimal restrictions; you must include the license text in distributions.
Quickstart
pip install nr-stream
from nr.stream import Stream, Optional, Supplier
values = [3, 6, 4, 7, 1, 2, 5]
result = list(Stream(values).chunks(values, 3, fill=0).map(sum))
opt = Optional(None)
opt_mapped = opt.map(lambda v: v + 1)
sup = Supplier.of(42)
value = sup.map(lambda v: v * 2).get()
Verify before relying
- Whether the abandoned status affects real-world reliability or if the package is stable enough for production use
- Performance characteristics when chaining many operations on large iterables
- Whether Stream's immediate iterator conversion causes issues in practice for typical use cases
Package facts
| License | MIT (permissive) |
| Python support | supports the current Python release (>=3.6,<4.0) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | none |
| Maintenance | abandoned — 1,277 days since the last release |
| First released | |
| Downloads | 259,082/month — #8,418 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: nr_stream-1.1.5-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
firstReturns the first true value from an iterable,…
permissive · top 15,000 on PyPI
flupyFlupy provides a fluent interface for lazy…
permissive · top 5,000 on PyPI
pipePipe enables shell-like infix syntax for…
permissive · top 15,000 on PyPI
maybe-elseWraps values in a `Maybe` class to handle None…
permissive · top 15,000 on PyPI
vineVine provides a Python implementation of…
permissive · top 1,000 on PyPI
reactivexRxPY is a library for building asynchronous and…
permissive · top 5,000 on PyPI
wrapsProvides type-safe wrapper types for…
permissive · top 15,000 on PyPI
aiostreamaiostream provides composable stream operators…
copyleft · top 5,000 on PyPI
lmzProvides convenience functions for mapping,…
copyleft · top 15,000 on PyPI
iterproxyWraps any iterable object to provide ORM-style…
permissive · top 5,000 on PyPI