--- id: pyfunctional version: "1.5.0" license: MIT license_treatment: permissive maintenance: aging --- # pyfunctional — Package for creating data pipelines with chain functional programming License: permissive · Maintenance: aging · Downloads: 601.4K/mo ## 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 above — 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 pip install pyfunctional uv add pyfunctional 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_current - Install friction: low - Maintenance: aging - Downloads: 601.4K/month (top 15,000 on PyPI) - Known vulnerabilities: none known ## Tags functional programming data pipelines, chained map filter reduce, csv json sqlite file processing, parallel map operations, lazy evaluation sequences, linq-style data transformation, data aggregation and joins, functional-programming, data-pipeline, lazy-evaluation [View on SkillFed](https://skillfed.io/packages/pyfunctional) · [View on PyPI](https://pypi.org/project/pyfunctional/)