skillfed

pyfunctional

Package for creating data pipelines with chain functional programming

pyfunctional v1.5.0 601.4K downloads/30d#5,818 on PyPI2,489
Permissive license MIT AGING released

What it is and what it does

PyFunctional is a Python library that brings functional programming patterns to data transformation tasks. It lets you build data pipelines by chaining operations like map, filter, and reduce on sequences, with lazy evaluation so transformations only run when you call an action method like reduce or to_list.

The library handles I/O for common formats: it can read and write CSV, JSON, JSONL, SQLite, and compressed files (gzip, bz2, lzma/xz). It also supports grouping, joining, and aggregating data, and offers optional parallelization for map-like operations. Runtime dependencies are dill and tabulate.

Use it for:

  • Process CSV or JSON files with filtering and aggregation (e.g., sum expenses by category, find outliers).
  • Join data from multiple sources (e.g., match user records with transaction logs) and extract insights.
  • Build word-count or frequency-analysis pipelines from text or log files using map and reduce.
  • Parallelize embarrassingly parallel transformations across large datasets without manual multiprocessing code.
  • Read from and write to SQLite databases with chainable transformations in between.

Worth the install?

AI-flagged interpretation of the facts on this page — verify before relying

PyFunctional provides chained functional operators to build data pipelines, with support for reading and writing multiple file formats (CSV, JSON, SQLite, compressed files) and optional parallelization of operations.

Yes, if you prefer functional composition over imperative loops and want a lightweight alternative for file-based data pipelines. The low install friction, permissive MIT license, and stable API make it a reasonable choice for small to medium data tasks. However, the aging maintenance status (last release 884 days ago) means you should verify that the feature set meets your needs before adopting it for new projects.

Install

pyfunctional on PyPI

pip

pip install pyfunctional

uv

uv add pyfunctional

poetry

poetry add pyfunctional

Installing pyfunctional

Before you install

Low friction installation with only two runtime dependencies (dill and tabulate). Last release was 884 days ago; the repository remains active with recent commits and 2489 stars, though maintenance appears aging rather than actively developed.

License in practice

MIT license is permissive, allowing commercial and private use with minimal restrictions—suitable for most projects that can include attribution.

Quickstart

pip install pyfunctional

from functional import seq

result = seq(1, 2, 3, 4).map(lambda x: x * 2).filter(lambda x: x > 4).reduce(lambda x, y: x + y)

Requires Python 3.8 or later (supports 3.8, 3.9, 3.10, 3.11); CPython and PyPy implementations supported.

Verify before relying

  • Whether parallelization is production-ready and what performance gains are typical for embarrassingly parallel workloads.
  • Current test coverage claim of 100% and whether it remains accurate in version 1.5.0.
  • Compatibility and performance with large datasets or streaming scenarios beyond the documented examples.

Package facts

License MIT (permissive)
Python support supports the current Python release (>=3.8.0,<4.0.0)
Install friction low — pure-Python wheel
Runtime dependencies 2 — dill, tabulate
Maintenance aging — 884 days since the last release
Last repo commit
First released
Downloads 601,443/month — #5,818 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: pyfunctional-1.5.0-py3-none-any.whl

Keywords: functional, pipeline, collection, chain, linq, parallel

Development Status :: 5 - Production/StableIntended Audience :: DevelopersLicense :: OSI Approved :: MIT LicenseNatural Language :: EnglishOperating System :: OS IndependentProgramming Language :: Python :: 3Programming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.8Programming Language :: Python :: 3.9Programming Language :: Python :: Implementation :: CPythonProgramming Language :: Python :: Implementation :: PyPyTopic :: Software Development :: Libraries :: Python Modules

Tags

functional programming data pipelineschained map filter reducecsv json sqlite file processingparallel map operationslazy evaluation sequenceslinq-style data transformationdata aggregation and joins
functional-programmingdata-pipelinelazy-evaluation

More Python Modules packages