Skip to main content

Machine Learning and Federated Learning Library.

Project description

Federated learning and data analytics that just works



Python versions PyPI Latest Release PyPI Downloads codecov Code style: black security: bandit pyrefly type checked flake8 license

Table of Contents

Using the Docker images

There is a docker image for running a pod (ghcr.io/bitfount/pod:stable).

The image requires a config.yaml file to be provided to them, by default it will try to load it from /mount/config/config.yaml inside the docker container. You can provide this file easily by mounting/binding a volume to the container, how you do this may vary depending on your platform/environment (Docker/docker-compose/ECS), if you have any problems doing this then feel free to reach out to us.

Alternative you could copy a config file into a stopped container using docker cp.

If you're using a CSV data source then you'll also need to mount your data to the container, this will need to be mounted at the path specified in your config, for simplicity it's easiest put your config and your CSV in the same directory and then mount it to the container.

Once your container is running you will need to check the logs and complete the login step, allowing your container to authenticate with Bitfount. The process is the same as when running locally (e.g. the tutorials), except that we can't open the login page automatically for you.

Running the Python code

Installation

Where to get it

Binary installers for the latest released version are available at the Python Package Index (PyPI).

pip install bitfount

If you are planning on using the bitfount package with Jupyter Notebooks, we recommend you install the splinter package bitfount[tutorials] which will make sure you are running compatible jupyter dependencies.

pip install 'bitfount[tutorials]'

Installation from sources

To install bitfount from source you need to create a python virtual environment.

In the bitfount directory (same one where you found this file after cloning the git repo), execute:

uv sync

For MacOS you may also need to install libomp:

brew install libomp

Getting started (Tutorials)

In order to run the tutorials, you also need to install the tutorial requirements:

uv sync --group tutorial

To get started using the Bitfount package in a federated setting, we recommend that you start with our tutorials. Run jupyter notebookand open up the first tutorial in the "Connecting Data & Creating Pods folder: running_a_pod.ipynb

Federated training scripts

Some simple scripts have been provided to run a Pod or Modelling job from a config file.

⚠️ If you are running from a source install (such as from git clone) you will need to use python -m scripts.<script_name> rather than use bitfount <script_name> directly.

To run a pod:

bitfount run_pod --path_to_config_yaml=<CONFIG_FILE>

To run a modelling job:

bitfount run_modeller --path_to_config_yaml=<CONFIG_FILE>

License

The license for this software is available in the LICENSE file. This can be found in the Github Repository, as well as inside the Docker image.

Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

bitfount-11.3.0.tar.gz (2.3 MB view details)

Uploaded Source

Built Distribution

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

bitfount-11.3.0-py3-none-any.whl (2.6 MB view details)

Uploaded Python 3

File details

Details for the file bitfount-11.3.0.tar.gz.

File metadata

  • Download URL: bitfount-11.3.0.tar.gz
  • Upload date:
  • Size: 2.3 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for bitfount-11.3.0.tar.gz
Algorithm Hash digest
SHA256 3c66cacc8e5f60e34f88158e870fffd6c6fd96d8777b4b0bc756651340fd6864
MD5 3b54982d3e3560c5032fc47ffcbf7f39
BLAKE2b-256 3c6cb00f527c7c6a1cdd017b40e26a4d803f5b2f4bac04c7e55f9a18b2cc20ed

See more details on using hashes here.

File details

Details for the file bitfount-11.3.0-py3-none-any.whl.

File metadata

  • Download URL: bitfount-11.3.0-py3-none-any.whl
  • Upload date:
  • Size: 2.6 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for bitfount-11.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 6a44ca0451fad16445e5344a25b67cba8d5fc7fe55fa23c017732121bf25dc4b
MD5 cf64cb37f5899b1cb0e7f9944c988201
BLAKE2b-256 db1be59c471f1b836cfcbb861f4e2af3df06f69016032a03d090c41312a00b63

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