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

Uploaded Python 3

File details

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

File metadata

  • Download URL: fklearn-4.2.1.tar.gz
  • Upload date:
  • Size: 219.5 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.1.tar.gz
Algorithm Hash digest
SHA256 84bb5a9afd798d9c08a26aa91d568acc7cceb5644ee3636c139aef4ca77c175e
MD5 1cc8b5aee0ab276cca7106594db263ea
BLAKE2b-256 097090e9e1a80cf8e8cb328d5ca6e299b7831e23d93d0fb26580776f6d5fe344

See more details on using hashes here.

File details

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

File metadata

  • Download URL: fklearn-4.2.1-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.1-py3-none-any.whl
Algorithm Hash digest
SHA256 87d9cdb4d3456998e087e235dd7b21d1b9d68bfa534880bc26fd8d57bf2af251
MD5 e1eb902090738d22d238cb752efc1b7e
BLAKE2b-256 89eb64dd1fd8acf1c4e1c0d8b714f760cd0bce9f4f3a8edecf00e0564c7ac5a6

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