A client library for the Scaleout Edge
Project description
Scaleout Edge: An enterprise-ready Edge AI framework
Our goal is to provide an Edge AI framework that is both secure, scalable, easy-to-use and that supports Federated Learning. We believe that that minimal code change should be needed to progress from early proof-of-concepts to production. This is reflected in our core design:
Minimal server-side complexity for the end-user. Running a proper distributed FL deployment is hard. With FEDn Studio we seek to handle all server-side complexity and provide a UI, REST API and a Python interface to help users manage FL experiments and track metrics in real time.
Secure by design. FL clients do not need to open any ingress ports. Industry-standard communication protocols (gRPC) and token-based authentication and RBAC (Jason Web Tokens) provides flexible integration in a range of production environments.
ML-framework agnostic. A black-box client-side architecture lets data scientists interface with their framework of choice.
Cloud native. By following cloud native design principles, we ensure a wide range of deployment options including private cloud and on-premise infrastructure.
Scalability and resilience. Multiple aggregation servers (combiners) can share the workload. FEDn seamlessly recover from failures in all critical components and manages intermittent client-connections.
Developer and DevOps friendly. Extensive event logging and distributed tracing enables developers to monitor the sytem in real-time, simplifying troubleshooting and auditing. Extensions and integrations are facilitated by a flexible plug-in architecture.
Scaleout Edge is free forever for academic and personal use / small projects. Sign up for a Scaleout account and take the Quickstart tutorial to get started with Scaleout Edge.
Features
Federated learning:
Tiered federated learning architecture enabling massive scalability and resilience.
Support for any ML framework (examples for PyTorch, Tensforflow/Keras and Scikit-learn)
Extendable via a plug-in architecture (aggregators, load balancers, object storage backends, databases etc.)
Built-in federated algorithms (FedAvg, FedAdam, FedYogi, FedAdaGrad, etc.)
UI, CLI and Python API.
Implement clients in any language (Python, C++, Kotlin etc.)
No open ports needed client-side.
Edge ModelOps features: - Secure client model deployment and update management for models used by inference applications. - Add client-side logic or server-side logic with to handle multiple models for different use cases, or to implement custom logic for model deployment, update and rollback. - Client health monitoring and status reporting. - Logging and distributed tracing for monitoring and troubleshooting.
From development to FL in production:
Secure deployment of server-side / control-plane on Kubernetes.
UI with dashboards for orchestrating FL experiments and for visualizing results
Team features - collaborate with other users in shared project workspaces.
Features for the trusted-third party: Manage access to the FL network, FL clients and training progress.
REST API for handling experiments/jobs.
View and export logging and tracing information.
Public cloud, dedicated cloud and on-premise deployment options.
Available client APIs:
Python client (this package)
C++ client (Scaleout C++ client)
Android Kotlin client (Scaleout Kotlin client)
Getting started
Get started with FEDn in two steps:
Register for a FEDn Studio account
Take the Quickstart tutorial
Use of our multi-tenant, managed deployment of FEDn Studio (SaaS) is free forever for academic research and personal development/testing purposes. For users and teams requiring additional resources, more storage and cpu, dedicated support, and other hosting options (private cloud, on-premise), explore our plans.
Documentation
More details about the architecture, deployment, and how to develop your own application and framework extensions are found in the documentation:
FEDn Project Examples
Our example projects demonstrate different use case scenarios of FEDn and its integration with popular machine learning frameworks like PyTorch and TensorFlow.
Scaleout Edge Deployment options
Several hosting options are available to suit different project settings.
Public cloud (multi-tenant): Managed multi-tenant deployment in public cloud.
Dedicated cloud (single-tenant): Managed, dedicated deployment in a cloud region of your choice (AWS, GCP, Azure, managed Kubernetes)
Self-managed: Set up a self-managed deployment in your VPC or on-premise Kubernets cluster using Helm Chart and container images provided by Scaleout.
Contact the Scaleout team for information.
Support
Community support is available in our Discord server.
Options are available for Dedicated/custom support.
Making contributions
All pull requests will be considered and are much appreciated. For more details please refer to our contribution guidelines.
Citation
If you use Scaleout Edge in your research, please cite:
@article{ekmefjord2021scalable,
title={Scalable federated machine learning with FEDn},
author={Ekmefjord, Morgan and Ait-Mlouk, Addi and Alawadi, Sadi and {\\AA}kesson, Mattias and Stoyanova, Desislava and Spjuth, Ola and Toor, Salman and Hellander, Andreas},
journal={arXiv preprint arXiv:2103.00148},
year={2021}
}
License
Scaleout Edge python client is licensed under Apache-2.0 (see LICENSE file for full information).
Use of Scaleout Edge Studio is subject to the Terms of Use.
Project details
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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file scaleout-1.0.0b2.tar.gz.
File metadata
- Download URL: scaleout-1.0.0b2.tar.gz
- Upload date:
- Size: 1.2 MB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
76160164474c3d362f33046f54ccf8be7c10f614b9f0f79cd1d53865987238f6
|
|
| MD5 |
26919efed19308710d579af37e91bfce
|
|
| BLAKE2b-256 |
86a94d856eccecfd1a5ac0f018ced1422edfd683081321eef64115e843a4fa23
|
Provenance
The following attestation bundles were made for scaleout-1.0.0b2.tar.gz:
Publisher:
push-python-client-pypi.yml on scaleoutsystems/scaleout
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
scaleout-1.0.0b2.tar.gz -
Subject digest:
76160164474c3d362f33046f54ccf8be7c10f614b9f0f79cd1d53865987238f6 - Sigstore transparency entry: 930472371
- Sigstore integration time:
-
Permalink:
scaleoutsystems/scaleout@d0e92d87c68b7ef256e7475415588050a30d0e65 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/scaleoutsystems
-
Access:
private
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
push-python-client-pypi.yml@d0e92d87c68b7ef256e7475415588050a30d0e65 -
Trigger Event:
workflow_dispatch
-
Statement type:
File details
Details for the file scaleout-1.0.0b2-py3-none-any.whl.
File metadata
- Download URL: scaleout-1.0.0b2-py3-none-any.whl
- Upload date:
- Size: 61.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
65cc004f640fe2846b0219d7a374cec7f0faabb18d04bff62d6f3c334e84b3fe
|
|
| MD5 |
34e3bbee40f41f4e74f63f1f94559ba2
|
|
| BLAKE2b-256 |
cd8f8d621c5a531fe04e1a30439d21fc99f4319fd9ebf7ccf008c4e2a5c9db8c
|
Provenance
The following attestation bundles were made for scaleout-1.0.0b2-py3-none-any.whl:
Publisher:
push-python-client-pypi.yml on scaleoutsystems/scaleout
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
scaleout-1.0.0b2-py3-none-any.whl -
Subject digest:
65cc004f640fe2846b0219d7a374cec7f0faabb18d04bff62d6f3c334e84b3fe - Sigstore transparency entry: 930472375
- Sigstore integration time:
-
Permalink:
scaleoutsystems/scaleout@d0e92d87c68b7ef256e7475415588050a30d0e65 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/scaleoutsystems
-
Access:
private
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
push-python-client-pypi.yml@d0e92d87c68b7ef256e7475415588050a30d0e65 -
Trigger Event:
workflow_dispatch
-
Statement type: