Metadata-Version: 2.4
Name: pythonic-fp.fptools
Version: 3.0.0
Summary: Pythonic FP - Functional Programming Tools
Keywords: either,fp,functional,functional programming,lazy,maybe,monad,non-strict
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.13
Classifier: Typing :: Typed
License-File: LICENSE
Requires-Dist: pythonic-fp.circulararray>=5.0.0
Requires-Dist: pythonic-fp.containers >=2.0.0
Project-URL: Changelog, https://grscheller.github.io/pythonic-fp-fptools/html/changelog.html
Project-URL: Documentation, https://grscheller.github.io/pythonic-fp-fptools/html/
Project-URL: Homepage, https://github.com/grscheller/pythonic-fp/blob/main/README.md
Project-URL: Source, https://github.com/grscheller/pythonic-fp-fptools

# Pythonic FP - Functional tools


PyPI project
[pythonic-fp.fptools](https://pypi.org/project/pythonic-fp.fptools/)
Functional programming tools which endeavor to be Pythonic.

- Subclassable Boolean datatype (*module* `pythonic_fp.fptools.bool`)
- Functions as first class objects (*module* `pythonic_fp.fptools.function`)
- Lazy (non-strict) function evaluation (*module* `pythonic_fp.fptools.lazy`)
- Singletons (*module* `pythonic_fp.fptools.singletons`)
  - 3 singleton classes representing
    - a missing value (actually missing, not potentially missing)
    - a sentinel values
    - a failed calculation
- State monad implementation (*module* `pythonic_fp.fptools.state`)
  - pure FP handling of state (the state monad)
  - Classic FP implementation
    - the monad encapsulates a state transformation, not a "state"

This PyPI project is part of of the grscheller
[pythonic-fp namespace projects](https://github.com/grscheller/pythonic-fp/blob/main/README.md).

**Warning:** The maintainer intends to break out the first, forth and
fifth modules to their own repos sometime in the near future.

## Documentation

Documentation hosted on
[GitHub Pages](https://grscheller.github.io/pythonic-fp-fptools/html).

## Copyright and License

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

