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

Uploaded Python 3

File details

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

File metadata

  • Download URL: fklearn-4.2.2.tar.gz
  • Upload date:
  • Size: 219.4 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.2.tar.gz
Algorithm Hash digest
SHA256 d043acbc5dfbcd4f535c481d95596fcb5c683c846beb9488d425e0722d21b910
MD5 d9de67ccf59f6204bc33c516d8088230
BLAKE2b-256 6a257bc387c31f6697b8803c86c660d00969759638d29387615b8e8c95c6783c

See more details on using hashes here.

File details

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

File metadata

  • Download URL: fklearn-4.2.2-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.2-py3-none-any.whl
Algorithm Hash digest
SHA256 8f694723e2e26064d2e0bd32782e54b94b76bbfe984935244c8db19796437bad
MD5 25ecad044a1cf27b1cf547d267c1025e
BLAKE2b-256 3e76b7be4c10696ed454cf543f7922af57ffe98c8208ab9e7bc467b5c4958718

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