Name | syft-awake JSON |
Version |
0.2.1
JSON |
| download |
home_page | None |
Summary | Fast, secure network awakeness monitoring for SyftBox - ping members to see who's online and ready for interactive queries |
upload_time | 2025-07-12 06:30:38 |
maintainer | None |
docs_url | None |
author | None |
requires_python | >=3.9 |
license | None |
keywords |
|
VCS |
 |
bugtrack_url |
|
requirements |
No requirements were recorded.
|
Travis-CI |
No Travis.
|
coveralls test coverage |
No coveralls.
|
# Syft Awake ๐
See who's online and ready to collaborate in your SyftBox network
## What is it?
Syft Awake helps coordinate live collaboration on [SyftBox](https://www.syftbox.net/) - the open-source platform for privacy-first AI development. Check who's online before starting federated learning experiments, research sessions, or collaborative development.
## Quick Start
```bash
pip install syft-awake
```
```python
import syft_awake as sa
# Ping someone to see if they're online
response = sa.ping_user("colleague@university.edu")
if response:
print(f"{response.responder} is {response.status}")
# Find everyone who's currently online
responses = sa.ping_network()
online_now = [r.responder for r in responses]
print(f"Online: {', '.join(online_now)}")
```
## Use Cases
**๐งช Research Coordination**
```python
# Check if collaborators are available before starting experiments
research_team = ["alice@university.edu", "bob@lab.org"]
responses = sa.ping_network(research_team)
if len(responses) >= 2:
print("Enough researchers online - let's start the federated learning!")
```
**๐ค Live Development Sessions**
```python
# See who's available for pair programming or code review
responses = sa.ping_network()
for r in responses:
if "development" in r.capabilities:
print(f"{r.responder} is available for development work")
```
**๐ Distributed Computing**
```python
# Find compute nodes with light workload for your job
responses = sa.ping_network()
available_nodes = [r for r in responses if r.workload == "light"]
print(f"Found {len(available_nodes)} available compute nodes")
```
## API
Just two simple functions:
**`ping_user(email, timeout=30)`** โ `AwakeResponse` or `None`
**`ping_network(emails=None, timeout=15)`** โ `List[AwakeResponse]`
Auto-installs and auto-discovers network members. Works silently in the background.
## How It Works
- **Automatic**: Simply importing the library installs the SyftBox app
- **Private**: Uses SyftBox's secure, file-based communication
- **Decentralized**: No central servers - direct peer-to-peer pings
- **Smart Discovery**: Finds other users by scanning your local SyftBox network
Perfect for coordinating real-time collaboration in privacy-preserving AI research and development.
## License
Apache 2.0
Raw data
{
"_id": null,
"home_page": null,
"name": "syft-awake",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.9",
"maintainer_email": null,
"keywords": null,
"author": null,
"author_email": "Andrew Trask <contact@andrewtrask.net>",
"download_url": "https://files.pythonhosted.org/packages/f0/14/956438515ca483d73f41428f19b0f2511ae8a35d7dbadaf61b7e6e13ff18/syft_awake-0.2.1.tar.gz",
"platform": null,
"description": "# Syft Awake \ud83d\ude80\n\nSee who's online and ready to collaborate in your SyftBox network\n\n## What is it?\n\nSyft Awake helps coordinate live collaboration on [SyftBox](https://www.syftbox.net/) - the open-source platform for privacy-first AI development. Check who's online before starting federated learning experiments, research sessions, or collaborative development.\n\n## Quick Start\n\n```bash\npip install syft-awake\n```\n\n```python\nimport syft_awake as sa\n\n# Ping someone to see if they're online\nresponse = sa.ping_user(\"colleague@university.edu\")\nif response:\n print(f\"{response.responder} is {response.status}\")\n\n# Find everyone who's currently online\nresponses = sa.ping_network()\nonline_now = [r.responder for r in responses]\nprint(f\"Online: {', '.join(online_now)}\")\n```\n\n## Use Cases\n\n**\ud83e\uddea Research Coordination**\n```python\n# Check if collaborators are available before starting experiments\nresearch_team = [\"alice@university.edu\", \"bob@lab.org\"]\nresponses = sa.ping_network(research_team)\nif len(responses) >= 2:\n print(\"Enough researchers online - let's start the federated learning!\")\n```\n\n**\ud83e\udd1d Live Development Sessions**\n```python\n# See who's available for pair programming or code review\nresponses = sa.ping_network()\nfor r in responses:\n if \"development\" in r.capabilities:\n print(f\"{r.responder} is available for development work\")\n```\n\n**\ud83d\udcca Distributed Computing**\n```python\n# Find compute nodes with light workload for your job\nresponses = sa.ping_network()\navailable_nodes = [r for r in responses if r.workload == \"light\"]\nprint(f\"Found {len(available_nodes)} available compute nodes\")\n```\n\n## API\n\nJust two simple functions:\n\n**`ping_user(email, timeout=30)`** \u2192 `AwakeResponse` or `None` \n**`ping_network(emails=None, timeout=15)`** \u2192 `List[AwakeResponse]`\n\nAuto-installs and auto-discovers network members. Works silently in the background.\n\n## How It Works\n\n- **Automatic**: Simply importing the library installs the SyftBox app\n- **Private**: Uses SyftBox's secure, file-based communication \n- **Decentralized**: No central servers - direct peer-to-peer pings\n- **Smart Discovery**: Finds other users by scanning your local SyftBox network\n\nPerfect for coordinating real-time collaboration in privacy-preserving AI research and development.\n\n## License\n\nApache 2.0",
"bugtrack_url": null,
"license": null,
"summary": "Fast, secure network awakeness monitoring for SyftBox - ping members to see who's online and ready for interactive queries",
"version": "0.2.1",
"project_urls": {
"Homepage": "https://github.com/iamtrask/syft-awake",
"Repository": "https://github.com/iamtrask/syft-awake.git"
},
"split_keywords": [],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "f0835e6ea34c0fe87d88b5eacd87969944b8dabc3b71b3bbe408f6343a3bca8e",
"md5": "b3134b6a960bb4cbf834d29f7b3a1541",
"sha256": "78f7ee19ec6eee5dd7f082127feccaf533b046704a691904a4e8c05bad771d5d"
},
"downloads": -1,
"filename": "syft_awake-0.2.1-py3-none-any.whl",
"has_sig": false,
"md5_digest": "b3134b6a960bb4cbf834d29f7b3a1541",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.9",
"size": 14206,
"upload_time": "2025-07-12T06:30:36",
"upload_time_iso_8601": "2025-07-12T06:30:36.736795Z",
"url": "https://files.pythonhosted.org/packages/f0/83/5e6ea34c0fe87d88b5eacd87969944b8dabc3b71b3bbe408f6343a3bca8e/syft_awake-0.2.1-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "f014956438515ca483d73f41428f19b0f2511ae8a35d7dbadaf61b7e6e13ff18",
"md5": "62d0a3f2296782676c1d406c6bb2022d",
"sha256": "37acddbe7a2f052e4483c971e8f7ad223ec987f837c1c68d7b91455d1495e9ef"
},
"downloads": -1,
"filename": "syft_awake-0.2.1.tar.gz",
"has_sig": false,
"md5_digest": "62d0a3f2296782676c1d406c6bb2022d",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.9",
"size": 46671,
"upload_time": "2025-07-12T06:30:38",
"upload_time_iso_8601": "2025-07-12T06:30:38.175039Z",
"url": "https://files.pythonhosted.org/packages/f0/14/956438515ca483d73f41428f19b0f2511ae8a35d7dbadaf61b7e6e13ff18/syft_awake-0.2.1.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-07-12 06:30:38",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "iamtrask",
"github_project": "syft-awake",
"github_not_found": true,
"lcname": "syft-awake"
}