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.1.tar.gz (68.8 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.1-py3-none-any.whl (5.5 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for extended_functools-0.2.1.tar.gz
Algorithm Hash digest
SHA256 8ce0addf78ed6e173dd8982e09b6cf8652e00a3ec23ac3dbd0ddf54e8cf77492
MD5 48b8718eeb6602dfb0393276a3cb4440
BLAKE2b-256 58406b6a0ba3a1ab016230c1f5b90374d1b0e8ccc2a1a29c025d43ecdcbc2440

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for extended_functools-0.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 6ea78ac51fb2a4515a41b5f9948b0496bbe1d2e8459fcf5f8178e1c81b4c0d95
MD5 06c229f3545f85c97ede7b5cd5b0db3e
BLAKE2b-256 2a9fb3924f8fe35a4617892d89cad881fb5f925283f7421acd8ab29e604c90b3

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