Skip to main content

Tools to scaffold and run privacy-preserving federated learning experiments across distributed data sites.

Project description

🌐 FedModelKit (fmk)

FedModelKit is a Python library designed to streamline the execution of federated learning tasks within a network of collaborating partners.
It provides a guided workflow that helps users quickly set up experiments, manage dependencies, and follow step-by-step instructions through generated resources.


📑 Table of Contents


🔎 Overview

Federated learning enables multiple partners to train machine learning models collaboratively without sharing raw data.
The FedModelKit library simplifies this process by:

  • Automating project initialization
  • Creating a reproducible experiment directory with all required dependencies
  • Offering a clear, step-by-step workflow to run experiments in a federated network

🧩 Dependencies

These are the dependencies of the packages, including the required Python version:

Dependency Version Description
Python >=3.12 Required Python interpreter version
flwr[simulations] ==1.17.0 Federated learning framework and simulations with Flower
flwr_datasets >=0.5.0 Datasets compatible with Flower
mlflow >=3.1.1 For experiment tracking and logging
pandas >=2.3.0 Data manipulation and analysis

⚙️ Installation

It is recommended to install FedModelKit inside a virtual environment.
We suggest using uv for fast and reproducible setups:

  1. Create and activate a virtual environment

    uv venv
    source .venv/bin/activate
    

    or in case of Windows OS

    uv venv
    .venv\Scripts\activate
    
  2. Install FedModelKit

    uv pip install FedModelKit
    

🚀 Quick Start

Initialize a new federated learning experiment with:

fmk init -n my_experiment

This will generate in the present directory the project for a new FL experiment.

📖 Next Steps

👉 Once the experiment directory has been created, open the file README.md that has been generated in your directory and follow the guided workflow to set up and run your federated learning tasks.



⚖️ License & Commercial Use

This software is Source Available and distributed under a Dual Licensing model.

🎓 Non-Commercial Use (Community)

This project is free for personal use, education, non-profit organizations, and academic research under the PolyForm Noncommercial License 1.0.0.

  • ✅ You can read, modify, and execute the code.
  • ✅ You can use it for personal and research projects.
  • ❌ You may NOT use it for commercial purposes or in business environments without a commercial license.

Check the LICENSE file for full terms.

💼 Commercial Use (Businesses)

If you wish to use this software in a commercial product, a business, or any revenue-generating environment, you must purchase a Commercial License.

The Commercial License grants you:

  • The right to use the software in commercial production environments.
  • Exemption from the PolyForm license restrictions.
  • Priority support (optional).

📩 To purchase a license, please contact us at: federico.alvarez@upm.es

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

fedmodelkit-0.9.4.tar.gz (23.8 MB view details)

Uploaded Source

Built Distribution

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

fedmodelkit-0.9.4-py3-none-any.whl (23.2 MB view details)

Uploaded Python 3

File details

Details for the file fedmodelkit-0.9.4.tar.gz.

File metadata

  • Download URL: fedmodelkit-0.9.4.tar.gz
  • Upload date:
  • Size: 23.8 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.7

File hashes

Hashes for fedmodelkit-0.9.4.tar.gz
Algorithm Hash digest
SHA256 b3a164829ae1a98a4e9911fe5702613f5d025a9c89c41defd8afc0345ae34d41
MD5 9aa76b4d06bd2626eeec7f98c373e3d4
BLAKE2b-256 febc08b1bc8a2c8ac2d47f76fa1e5fc9c455840abab7f17668f22a8923535c90

See more details on using hashes here.

File details

Details for the file fedmodelkit-0.9.4-py3-none-any.whl.

File metadata

  • Download URL: fedmodelkit-0.9.4-py3-none-any.whl
  • Upload date:
  • Size: 23.2 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.7

File hashes

Hashes for fedmodelkit-0.9.4-py3-none-any.whl
Algorithm Hash digest
SHA256 a436bf408cbc7b847da0f461740f86bf43f0d15f6ea65fe47a58d4c0d2db9430
MD5 8ebac7068254bab907a693c91bbe27f0
BLAKE2b-256 fc5a365d7d5eefb64dc191aa5d739b0148c575331fe229ff324881afabf21309

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