syft-flwr 0.2.2__tar.gz → 0.3.1__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of syft-flwr might be problematic. Click here for more details.

@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: syft-flwr
3
- Version: 0.2.2
3
+ Version: 0.3.1
4
4
  Summary: syft_flwr is an open source framework that facilitate federated learning projects using Flower over the SyftBox protocol
5
5
  License-File: LICENSE
6
6
  Requires-Python: >=3.10
@@ -8,7 +8,7 @@ Requires-Dist: flwr-datasets[vision]>=0.5.0
8
8
  Requires-Dist: flwr[simulation]==1.21.0
9
9
  Requires-Dist: loguru>=0.7.3
10
10
  Requires-Dist: safetensors>=0.6.2
11
- Requires-Dist: syft-rds>=0.2.2
11
+ Requires-Dist: syft-rds>=0.3.1
12
12
  Requires-Dist: tomli-w>=1.2.0
13
13
  Requires-Dist: tomli>=2.2.1
14
14
  Requires-Dist: typing-extensions>=4.13.0
@@ -24,4 +24,8 @@ Description-Content-Type: text/markdown
24
24
  Please look at the `notebooks/` folder for example use cases:
25
25
  - [FL diabetes prediction](notebooks/fl-diabetes-prediction/README.md) shows how to train a federated model over distributed machines for multiple rounds
26
26
  - [Federated analytics](notebooks/federated-analytics-diabetes/README.md) shows how to query statistics from private datasets from distributed machines and then aggregate them
27
- - [FedRAG (Federated RAG)](notebooks/fedrag/README.md) demonstrates privacy-preserving question answering using Retrieval Augmented Generation across distributed document sources with remote data science workflow
27
+ - [FedRAG (Federated RAG)](notebooks/fedrag/README.md) demonstrates privacy-preserving question answering using Retrieval Augmented Generation across distributed document sources with remote data science workflow
28
+
29
+ ## Development
30
+ ### Releasing
31
+ See [RELEASE.md](RELEASE.md) for the complete release process.
@@ -8,4 +8,8 @@
8
8
  Please look at the `notebooks/` folder for example use cases:
9
9
  - [FL diabetes prediction](notebooks/fl-diabetes-prediction/README.md) shows how to train a federated model over distributed machines for multiple rounds
10
10
  - [Federated analytics](notebooks/federated-analytics-diabetes/README.md) shows how to query statistics from private datasets from distributed machines and then aggregate them
11
- - [FedRAG (Federated RAG)](notebooks/fedrag/README.md) demonstrates privacy-preserving question answering using Retrieval Augmented Generation across distributed document sources with remote data science workflow
11
+ - [FedRAG (Federated RAG)](notebooks/fedrag/README.md) demonstrates privacy-preserving question answering using Retrieval Augmented Generation across distributed document sources with remote data science workflow
12
+
13
+ ## Development
14
+ ### Releasing
15
+ See [RELEASE.md](RELEASE.md) for the complete release process.
@@ -1,11 +1,11 @@
1
1
  [project]
2
2
  name = "syft-flwr"
3
- version = "0.2.2"
3
+ version = "0.3.1"
4
4
  description = "syft_flwr is an open source framework that facilitate federated learning projects using Flower over the SyftBox protocol"
5
5
  readme = "README.md"
6
6
  requires-python = ">=3.10"
7
7
  dependencies = [
8
- "syft-rds>=0.2.2",
8
+ "syft-rds>=0.3.1",
9
9
  "flwr[simulation]==1.21.0",
10
10
  "flwr-datasets[vision]>=0.5.0",
11
11
  "loguru>=0.7.3",
@@ -33,6 +33,7 @@ dev-dependencies = [
33
33
  "jupyterlab",
34
34
  "pytest-xdist>=3.8.0",
35
35
  "pytest-asyncio>=1.1.0",
36
+ "commitizen>=4.9.1",
36
37
  ]
37
38
 
38
39
  [build-system]
@@ -56,3 +57,14 @@ extend-select = ["I"]
56
57
 
57
58
  [tool.ruff.lint.per-file-ignores]
58
59
  "**/__init__.py" = ["F401"]
60
+
61
+ [tool.commitizen]
62
+ name = "cz_conventional_commits"
63
+ version_provider = "pep621"
64
+ tag_format = "v$version"
65
+ update_changelog_on_bump = false
66
+ version_files = [
67
+ "pyproject.toml:^version\\s*=\\s*\"(?P<version>.*)\"$",
68
+ "src/syft_flwr/__init__.py:^__version__\\s*=\\s*\"(?P<version>.*)\"$",
69
+ "notebooks/*/pyproject.toml:\"syft-flwr>=(?P<version>[^\"]+)\"",
70
+ ]
@@ -1,4 +1,4 @@
1
- __version__ = "0.2.2"
1
+ __version__ = "0.3.1"
2
2
 
3
3
  from syft_flwr.bootstrap import bootstrap
4
4
  from syft_flwr.run import run
@@ -159,11 +159,20 @@ def syftbox_flwr_client(client_app: ClientApp, context: Context, app_name: str):
159
159
  """Run the Flower ClientApp with SyftBox."""
160
160
  # Setup
161
161
  client, encryption_enabled, syft_flwr_app_name = setup_client(app_name)
162
- box = SyftEvents(app_name=syft_flwr_app_name, client=client)
162
+ box = SyftEvents(
163
+ app_name=syft_flwr_app_name,
164
+ client=client,
165
+ cleanup_expiry="1d", # Keep request/response files for 1 days
166
+ cleanup_interval="1d", # Run cleanup daily
167
+ )
163
168
 
164
169
  logger.info(f"Started SyftBox Flower Client on: {box.client.email}")
165
170
  logger.info(f"syft_flwr app name: {syft_flwr_app_name}")
166
171
 
172
+ # Check if cleanup is running
173
+ if box.is_cleanup_running():
174
+ logger.info("Cleanup service is active")
175
+
167
176
  # Create handlers
168
177
  message_handler = MessageHandler(client_app, context, encryption_enabled)
169
178
  processor = RequestProcessor(message_handler, box, box.client.email)
File without changes
File without changes