Skip to main content

Additional tools for functional programming in Python.

Project description

extended-functools

Additional tools for functional programming in Python.

This project intends to offer a variety of general-purpose tools, starting with a timeout decorator, while keeping transient third-party dependencies to a minimum.

Type Badges
PyPI Python versions PyPI - Implementation Wheel Downloads Version
Tests codecov Unit tests Ruff Deploy to PyPI
Activity GitHub contributors Last commit GitHub all releases GitHub issues GitHub closed issues GitHub pull requests GitHub closed pull requests
QA CodeFactor Rating
Other License FOSSA Status Known Vulnerabilities Repository size Code size Files Lines of code Blanks Comments Code

Installing

You can install the project from PyPI:

# For general use
pip install extended-functools

# For uv (and other package managers)
uv add extended-functools

Development

You can use whatever package manager you prefer, but the core team behind the project uses uv, and the CI scripts and Tox assume as much. This guide will assume you'll use uv. If you need more information on uv, consider reading through this guide.

It may also be a good idea to use VS Code as an IDE; the project includes a list of recommended extensions to install, which the IDE should tell you about on opening the project. Feel free to use something else if you want, though.

Setting up the development environment

You can install the project and its development dependencies by running uv install in the project directory after cloning it. After that, you should run

uv run pre-commit install

to install the pre-commit hooks, which are used to ensure commits are correctly formatted and meet the project's baseline quality standards. If the hooks need to be updated, you may run

uv run pre-commit autoupdate

to update them to the latest versions.

Contributing

This project follows semantic versioning, and uses a relaxed variant of the Git Flow workflow style, with feature branches playing a key role.

  • Direct commits to main are forbidden
  • The history of main is to remain linear through the use of fast-forward merges and rebasing
  • Commits must be signed
  • Messy PR histories are encouraged to be cleaned up before merging the PR.

More detailed information can be found in CONTRIBUTING.md.

Issues reports, feature requests, and PRs are all welcome.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

extended_functools-0.2.0.tar.gz (68.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

extended_functools-0.2.0-py3-none-any.whl (5.5 kB view details)

Uploaded Python 3

File details

Details for the file extended_functools-0.2.0.tar.gz.

File metadata

  • Download URL: extended_functools-0.2.0.tar.gz
  • Upload date:
  • Size: 68.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.6.14

File hashes

Hashes for extended_functools-0.2.0.tar.gz
Algorithm Hash digest
SHA256 a7274f0dae641cd10a3762e935f52563bdf3f70b6eb542d94d1d70c87e862ece
MD5 57856a9e3ccbff80aa9ff729f8202ced
BLAKE2b-256 029be66e845159fbdaadd852488de56dc41fa9d85d2e17bb1e4fe4d004af3293

See more details on using hashes here.

File details

Details for the file extended_functools-0.2.0-py3-none-any.whl.

File metadata

File hashes

Hashes for extended_functools-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 c1d2a65affddba7315d593e7847f15a5040739846f4d02e08a04b767648fb1b6
MD5 23deaee6b612d76cdb4951b33435ba4f
BLAKE2b-256 f1032a555bfde3f45a750d81c9e6c2401c447323fb9ece2760a669357fa0d19f

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page