# Developer Tools - Python Functional Programming (FP)
Functional programming tools which endeavor to be Pythonic.
* **Repositories**
* [dtools.fp][1] project on *PyPI*
* [Source code][2] on *GitHub*
* Detailed documentation for dtools.fp
* [Detailed API documentation][3] on *GH-Pages*
This project is part of the
[Developer Tools for Python][4] **dtools.** namespace project.
### Modules
* dtools.fp.err\_handling
* monadic tools for handling missing values & unexpected events
* dtools.fp.function
* utilities to manipulate and partially apply functions
* dtools.fp.iterables
* iteration tools implemented in Python
* dtools.fp.lazy
* lazy (non-strict) function evaluation
* dtools.fp.nothingness
* singleton classes representing either a
* missing value
* sentinel value
* failed calculation
* dtools.fp.state
* pure FP handling of state (the state monad)
### Benefits of FP
* improved composability
* avoid exception driven code paths
* data sharing becomes trivial due to immutability
---
[1]: https://pypi.org/project/dtools.fp/
[2]: https://github.com/grscheller/dtools-fp/
[3]: https://grscheller.github.io/dtools-docs/fp/
[4]: https://github.com/grscheller/dtools-docs/
Raw data
{
"_id": null,
"home_page": null,
"name": "dtools.fp",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.12",
"maintainer_email": null,
"keywords": "functional, functional programming, fp, monad, iterators, maybe, either, lazy, non-strict",
"author": null,
"author_email": "\"Geoffrey R. Scheller\" <geoffrey@scheller.com>",
"download_url": "https://files.pythonhosted.org/packages/3d/16/af3818cfc47494a7d693f833b43c9f33680e25a1400ef949dcb0f198bb70/dtools_fp-1.4.0.tar.gz",
"platform": null,
"description": "# Developer Tools - Python Functional Programming (FP)\n\nFunctional programming tools which endeavor to be Pythonic.\n\n* **Repositories**\n * [dtools.fp][1] project on *PyPI*\n * [Source code][2] on *GitHub*\n* Detailed documentation for dtools.fp\n * [Detailed API documentation][3] on *GH-Pages*\n\nThis project is part of the\n[Developer Tools for Python][4] **dtools.** namespace project.\n\n### Modules\n\n* dtools.fp.err\\_handling\n * monadic tools for handling missing values & unexpected events\n* dtools.fp.function\n * utilities to manipulate and partially apply functions\n* dtools.fp.iterables\n * iteration tools implemented in Python\n* dtools.fp.lazy\n * lazy (non-strict) function evaluation\n* dtools.fp.nothingness\n * singleton classes representing either a\n * missing value\n * sentinel value\n * failed calculation\n* dtools.fp.state\n * pure FP handling of state (the state monad)\n\n### Benefits of FP\n\n* improved composability\n* avoid exception driven code paths\n* data sharing becomes trivial due to immutability\n\n---\n\n[1]: https://pypi.org/project/dtools.fp/\n[2]: https://github.com/grscheller/dtools-fp/\n[3]: https://grscheller.github.io/dtools-docs/fp/\n[4]: https://github.com/grscheller/dtools-docs/\n\n",
"bugtrack_url": null,
"license": null,
"summary": "### Package dtools.fp - Pythonic Functional Programming",
"version": "1.4.0",
"project_urls": {
"Changelog": "https://github.com/grscheller/dtools-fp/blob/main/CHANGELOG.md",
"Documentation": "https://grscheller.github.io/dtools-docs/fp",
"Source": "https://github.com/grscheller/dtools-fp"
},
"split_keywords": [
"functional",
" functional programming",
" fp",
" monad",
" iterators",
" maybe",
" either",
" lazy",
" non-strict"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "ca816a441880b513e07928ade16ec890ba0582272fb915e47878a062998333ce",
"md5": "3b5154f9ffac9be911c80e6697a3c6f9",
"sha256": "fe1a07c96c652deec843597c5bae3d93917ed22da5f01007a9a9a1ff1235162f"
},
"downloads": -1,
"filename": "dtools_fp-1.4.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "3b5154f9ffac9be911c80e6697a3c6f9",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.12",
"size": 22050,
"upload_time": "2025-02-17T00:20:36",
"upload_time_iso_8601": "2025-02-17T00:20:36.662491Z",
"url": "https://files.pythonhosted.org/packages/ca/81/6a441880b513e07928ade16ec890ba0582272fb915e47878a062998333ce/dtools_fp-1.4.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "3d16af3818cfc47494a7d693f833b43c9f33680e25a1400ef949dcb0f198bb70",
"md5": "34acb330451b1d9e91e053d364524b8e",
"sha256": "d93af2b61a6d95cc18634726a77cb183ab81ba2bdef7803eafa12a36d9f9433f"
},
"downloads": -1,
"filename": "dtools_fp-1.4.0.tar.gz",
"has_sig": false,
"md5_digest": "34acb330451b1d9e91e053d364524b8e",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.12",
"size": 31135,
"upload_time": "2025-02-17T00:20:39",
"upload_time_iso_8601": "2025-02-17T00:20:39.213108Z",
"url": "https://files.pythonhosted.org/packages/3d/16/af3818cfc47494a7d693f833b43c9f33680e25a1400ef949dcb0f198bb70/dtools_fp-1.4.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-02-17 00:20:39",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "grscheller",
"github_project": "dtools-fp",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"lcname": "dtools.fp"
}