Skip to main content

Functional machine learning

Project description

fklearn: Functional Machine Learning

PyPI Documentation Status Gitter Tests License

fklearn uses functional programming principles to make it easier to solve real problems with Machine Learning.

The name is a reference to the widely known scikit-learn library.

fklearn Principles

  1. Validation should reflect real-life situations.
  2. Production models should match validated models.
  3. Models should be production-ready with few extra steps.
  4. Reproducibility and in-depth analysis of model results should be easy to achieve.

Documentation | Getting Started | API Docs | Contributing |

Installation

To install via pip:

pip install fklearn

To install with optional dependencies:

pip install fklearn[lgbm]       # LightGBM support
pip install fklearn[xgboost]    # XGBoost support
pip install fklearn[catboost]   # CatBoost support
pip install fklearn[all_models] # All model backends
pip install fklearn[all]        # All models + tools

Development with UV

fklearn uses uv for dependency management. uv sync creates a virtual environment, installs all locked dependencies, and installs fklearn itself in editable mode (the default for uv projects) so changes under src/ are picked up without reinstalling.

Setup

uv sync                 # core deps + dev group
uv sync --all-extras    # also installs lgbm / xgboost / catboost / tools / demos / docs

The dev dependency group (pytest, ruff, mypy, hypothesis) is included by default via tool.uv.default-groups, so uv sync alone is enough for most development workflows.

Running Tests

uv run pytest --cov=src/

Linting

uv run ruff check src/ tests/
uv run ruff format src/ tests/

Adding Dependencies

uv add <package-name>          # runtime dependency
uv add --dev <package-name>    # dev dependency

Note for Nubank contributors

Regenerate the lockfile with --default-index https://pypi.org/simple/:

uv lock --default-index https://pypi.org/simple/

License

Apache License 2.0

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

fklearn-4.2.3.tar.gz (226.6 kB view details)

Uploaded Source

Built Distribution

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

fklearn-4.2.3-py3-none-any.whl (83.3 kB view details)

Uploaded Python 3

File details

Details for the file fklearn-4.2.3.tar.gz.

File metadata

  • Download URL: fklearn-4.2.3.tar.gz
  • Upload date:
  • Size: 226.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for fklearn-4.2.3.tar.gz
Algorithm Hash digest
SHA256 e2b670b87401e358abef2e76f6ee3709090bfeb8a940d4fd5244f3ec8585d5cc
MD5 5cfef036df263868b7d7285726d113ee
BLAKE2b-256 861299438f7cffd7edf1680698d839c6238701122c3ce710996acd99dab1f874

See more details on using hashes here.

File details

Details for the file fklearn-4.2.3-py3-none-any.whl.

File metadata

  • Download URL: fklearn-4.2.3-py3-none-any.whl
  • Upload date:
  • Size: 83.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for fklearn-4.2.3-py3-none-any.whl
Algorithm Hash digest
SHA256 6cc573a52f12df48450fcab91c0ab6e480918d67111317c19c4dc24e6cf9d9b6
MD5 926ee46f8fe484822e25fb4ea36fb0fd
BLAKE2b-256 f01525848bc93ca9e17a2c4404b7936c5abd4b4fa0deb987831660cb98bb3a82

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