Name | ai4flwr JSON |
Version |
0.2.0
JSON |
| download |
home_page | |
Summary | AI4OS extensions to the Python Flower federated learning framework (https://flower.dev) |
upload_time | 2024-01-10 08:52:47 |
maintainer | |
docs_url | None |
author | Alvaro Lopez Garcia |
requires_python | >=3.10,<4.0 |
license | GPL-3 |
keywords |
|
VCS |
|
bugtrack_url |
|
requirements |
No requirements were recorded.
|
Travis-CI |
No Travis.
|
coveralls test coverage |
No coveralls.
|
<div align="center">
<img src="https://ai4eosc.eu/wp-content/uploads/sites/10/2022/09/horizontal-transparent.png" alt="logo" width="500"/>
</div>
# ai4-flwr
[![Conventional Commits](https://img.shields.io/badge/Conventional%20Commits-1.0.0-%23FE5196?logo=conventionalcommits&logoColor=white)](https://conventionalcommits.org)
[![GitHub license](https://img.shields.io/github/license/ai4os/ai4-flwr.svg)](https://github.com/ai4os/ai4-flwr/blob/master/LICENSE)
[![GitHub release](https://img.shields.io/github/release/ai4os/ai4-flwr.svg)](https://github.com/ai4os/ai4-flwr/releases)
[![PyPI](https://img.shields.io/pypi/v/ai4flwr.svg)](https://pypi.python.org/pypi/ai4flwr)
[![Python versions](https://img.shields.io/pypi/pyversions/ai4flwr.svg)](https://pypi.python.org/pypi/ai4flwr)
This repository contains the [AI4OS](https://github.com/ai4os) extensions for
the [Flower](https://github.com/adap/flower) framework.
## Authentication
Authentication for Flower is implemented directly via GRPC: interceptors
(server side) and authentication medatata plugins (client side).
In order to use it, the server must be initialized with any object of the
`ai4flwr.auth` package as interceptor. See the examples below for more
details.
### Bearer token authentication
In your server, start it as follows:
import ai4flwr.auth.bearer
fl.server.start_server(
server_address="0.0.0.0:5000",
certificates=(...),
interceptors=[ai4flwr.auth.bearer.BearerTokenInterceptor()]
)
In your client, start it as follows:
import ai4flwr.auth.bearer
token = "Your token as configured in the server"
fl.client.start_numpy_client(
server_address=f"localhost:5000",
client=...,
root_certificates=...
call_credentials=grpc.metadata_call_credentials(
ai4flwr.auth.bearer.BearerTokenAuthPlugin(token)
),
)
Raw data
{
"_id": null,
"home_page": "",
"name": "ai4flwr",
"maintainer": "",
"docs_url": null,
"requires_python": ">=3.10,<4.0",
"maintainer_email": "",
"keywords": "",
"author": "Alvaro Lopez Garcia",
"author_email": "aloga@ifca.unican.es",
"download_url": "https://files.pythonhosted.org/packages/d3/fb/5cd9281d706eb2f25e28f3849be8699fb16b359fcc19a387bd60ccada2b4/ai4flwr-0.2.0.tar.gz",
"platform": null,
"description": "<div align=\"center\">\n <img src=\"https://ai4eosc.eu/wp-content/uploads/sites/10/2022/09/horizontal-transparent.png\" alt=\"logo\" width=\"500\"/>\n</div>\n\n\n# ai4-flwr\n\n[![Conventional Commits](https://img.shields.io/badge/Conventional%20Commits-1.0.0-%23FE5196?logo=conventionalcommits&logoColor=white)](https://conventionalcommits.org)\n[![GitHub license](https://img.shields.io/github/license/ai4os/ai4-flwr.svg)](https://github.com/ai4os/ai4-flwr/blob/master/LICENSE)\n[![GitHub release](https://img.shields.io/github/release/ai4os/ai4-flwr.svg)](https://github.com/ai4os/ai4-flwr/releases)\n[![PyPI](https://img.shields.io/pypi/v/ai4flwr.svg)](https://pypi.python.org/pypi/ai4flwr)\n[![Python versions](https://img.shields.io/pypi/pyversions/ai4flwr.svg)](https://pypi.python.org/pypi/ai4flwr)\n\n\nThis repository contains the [AI4OS](https://github.com/ai4os) extensions for\nthe [Flower](https://github.com/adap/flower) framework.\n\n## Authentication\n\nAuthentication for Flower is implemented directly via GRPC: interceptors\n(server side) and authentication medatata plugins (client side).\n\nIn order to use it, the server must be initialized with any object of the\n`ai4flwr.auth` package as interceptor. See the examples below for more\ndetails.\n\n### Bearer token authentication\n\nIn your server, start it as follows:\n\n import ai4flwr.auth.bearer\n\n fl.server.start_server(\n server_address=\"0.0.0.0:5000\",\n certificates=(...),\n interceptors=[ai4flwr.auth.bearer.BearerTokenInterceptor()]\n )\n\nIn your client, start it as follows:\n\n import ai4flwr.auth.bearer\n\n token = \"Your token as configured in the server\"\n\n fl.client.start_numpy_client(\n server_address=f\"localhost:5000\",\n client=...,\n root_certificates=...\n call_credentials=grpc.metadata_call_credentials(\n ai4flwr.auth.bearer.BearerTokenAuthPlugin(token)\n ),\n )\n",
"bugtrack_url": null,
"license": "GPL-3",
"summary": "AI4OS extensions to the Python Flower federated learning framework (https://flower.dev)",
"version": "0.2.0",
"project_urls": null,
"split_keywords": [],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "518cf080240bc170f13d2e396f3b20c379b2343656d4a43244f926d77c180273",
"md5": "00c563842c8c1226fdbcdfbf49d7dbee",
"sha256": "b78dfac0bee8ade2aaf7ed9547fa7027a9ecdd6755da05e48cbccbbf1463730d"
},
"downloads": -1,
"filename": "ai4flwr-0.2.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "00c563842c8c1226fdbcdfbf49d7dbee",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.10,<4.0",
"size": 16190,
"upload_time": "2024-01-10T08:52:45",
"upload_time_iso_8601": "2024-01-10T08:52:45.539303Z",
"url": "https://files.pythonhosted.org/packages/51/8c/f080240bc170f13d2e396f3b20c379b2343656d4a43244f926d77c180273/ai4flwr-0.2.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "d3fb5cd9281d706eb2f25e28f3849be8699fb16b359fcc19a387bd60ccada2b4",
"md5": "db2ad576a089340f0ff0cf00354f353e",
"sha256": "cc585d9f488a6991ef3717cbd69b308cd48387c68e1a3c810a5a43606ddbb438"
},
"downloads": -1,
"filename": "ai4flwr-0.2.0.tar.gz",
"has_sig": false,
"md5_digest": "db2ad576a089340f0ff0cf00354f353e",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.10,<4.0",
"size": 15423,
"upload_time": "2024-01-10T08:52:47",
"upload_time_iso_8601": "2024-01-10T08:52:47.200349Z",
"url": "https://files.pythonhosted.org/packages/d3/fb/5cd9281d706eb2f25e28f3849be8699fb16b359fcc19a387bd60ccada2b4/ai4flwr-0.2.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-01-10 08:52:47",
"github": false,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"lcname": "ai4flwr"
}