Metadata-Version: 2.1
Name: grscheller.fp
Version: 1.0.1
Summary: ### Pythonic Functional Programming Tools
Keywords: functional,functional programming,fp,monad,iterators,maybe,either
Author-email: "Geoffrey R. Scheller" <geoffrey@scheller.com>
Requires-Python: >=3.12
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.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Typing :: Typed
Requires-Dist: pytest >=8.3 ; extra == "test"
Project-URL: Changelog, https://github.com/grscheller/fp/blob/main/CHANGELOG.md
Project-URL: Documentation, https://grscheller.github.io/grscheller-pypi-namespace-docs/fp
Project-URL: Source, https://github.com/grscheller/fp
Provides-Extra: test

# Python Functional Programming (FP)

Functional programming tools which endeavor to be Pythonic.

* **Repositories**
  * [grscheller.fp][1] project on *PyPI*
  * [Source code][2] on *GitHub*
* Detailed documentation for grscheller.datastructures
  * [Detailed API documentation][3] on *GH-Pages*

### Modules

* grscheller.fp.iterables
  * iteration tools implemented in Python
* grscheller.fp.nothingness
  * singleton `noValue` representing a missing value.
    * similar to `None` but while
      * `None` represent "returned no values"
      * `noValue: _NoValue = _NoValue()` represents the absence of a value
* grscheller.fp.err\_handling
  * monadic tools for handling missing values & unexpected events

### Benefits of FP

* improved composability
* avoid exception driven code paths
* data sharing becomes trivial due to immutability

---

[1]: https://pypi.org/project/grscheller.fp/
[2]: https://github.com/grscheller/fp/
[3]: https://grscheller.github.io/fp/

