Skip to main content

🌐 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.11.1 For experiment tracking and logging
pandas >=2.3.3 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

Metadata

Release files for FedModelKit 0.9.7

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for FedModelKit 0.9.7
File Size Uploaded
fedmodelkit-0.9.7.tar.gz 23.8 MB Details

Built distribution (wheel)

Table of built distributions (wheels) for FedModelKit 0.9.7
File Interpreter ABI Platform
fedmodelkit-0.9.7-py3-none-any.whl Python 3 none any Details

Total release size: 47.0 MB

Release files / fedmodelkit-0.9.7.tar.gz

Download URL fedmodelkit-0.9.7.tar.gz
Size 23.8 MB
Tags Source
SHA-256 checksum
How to use checksums
31aee796bbf4f5962ac211e81e946ead659d3fe84fcc6d5d3732209f0057389f
BLAKE2b-256 checksum
How to use checksums
1b83c9033bc73e0c2d9abae8fc7e1c40d15df68caaa9f38cc2abefe22669252c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.7

Release files / fedmodelkit-0.9.7-py3-none-any.whl

Download URL fedmodelkit-0.9.7-py3-none-any.whl
Size 23.2 MB
Tags Python 3
SHA-256 checksum
How to use checksums
d8568c97125deba2dc37a72eaf96217ead0f06100f891b573bd1bee43ca5e635
BLAKE2b-256 checksum
How to use checksums
c12c6f2d06bc53da68d224d24a9dadd55b9b08a4b77ad27975a3ca2ce443f1be
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.7

Release history Release notifications | RSS feed

This release

0.9.7 This release

2 release files

0.9.6

2 release files

0.9.5

2 release files

0.9.4

2 release files

0.9.3

2 release files

0.8.0

2 release files

0.7.0

2 release files

0.6.8

2 release files

0.6.7

2 release files

0.6.6

2 release files

0.6.5

2 release files

0.6.1

2 release files

0.6.0

2 release files

0.5.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page