Metadata-Version: 2.4
Name: pythonic-fp-fptools
Version: 6.0.0
Summary: Functional programming tools for Python.
Keywords: either,fp,functional,functional programming,lazy,maybe,monad,non-strict
Author-email: "Geoffrey R. Scheller" <geoffrey@scheller.com>
Requires-Python: >=3.14
Description-Content-Type: text/markdown
Classifier: Development Status :: 5 - Production/Stable
Classifier: Framework :: Pytest
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3.14
Classifier: Programming Language :: Python :: 3.15
Classifier: Typing :: Typed
License-File: LICENSE
Requires-Dist: pythonic-fp-booleans>=3.0.2
Requires-Dist: pythonic-fp-circulararray>=6.0.4
Requires-Dist: pythonic-fp-gadgets>=4.0.2
Project-URL: Changelog, https://github.com/grscheller/pythonic-fp-fptools/blob/main/CHANGELOG.md
Project-URL: Documentation, https://grscheller.github.io/pythonic-fp-fptools/release/html/
Project-URL: Homepage, https://grscheller.github.io/pythonic-fp/
Project-URL: Source, https://github.com/grscheller/pythonic-fp-fptools

# Pythonic FP - Functional tools

Tools to aid with functional programming in Python while still
endeavoring to be Pythonic.

PyPI project
[pythonic-fp.fptools](https://pypi.org/project/pythonic-fp-fptools).
Part of the
[pythonic-fp](https://grscheller.github.io/pythonic-fp/)
PyPI projects.

## Documentation

Documentation and other links for this project are hosted on
[GitHub Pages](https://grscheller.github.io/pythonic-fp/projects/fptools.html).

- Functions as first class objects
- Lazy (non-strict) function evaluation
- Maybe monad - representing a possible missing value
- Either monad - representing either a LEFT or RIGHT value, not both
  - left biased
- State monad implementation
  - pure FP handling of state (the state monad)
  - Classic FP implementation
    - the monad encapsulates a state transformation, not a "state"

## Copyright and License

Copyright (c) 2023-2026 Geoffrey R. Scheller. Licensed under the Apache
License, Version 2.0. See the LICENSE file for details.

