Generic FastAPI server process management and deduplication
Project description
SyftServe
Generic FastAPI server process management and deduplication
SyftServe provides a high-level API for creating, managing, and deduplicating FastAPI server processes. It's designed to solve the common problem of multiple applications accidentally starting duplicate servers on the same ports.
Features
- 🚀 Easy Server Creation - Simple API for launching FastAPI servers
- 🔄 Smart Deduplication - Automatically reuse compatible servers
- 📊 Process Management - Full lifecycle control (start/stop/restart/logs)
- 🔍 Endpoint Compatibility - Only connect to servers with required endpoints
- 💾 Persistent Tracking - Servers survive Python session restarts
- 🌐 Cross-Platform - Works on macOS, Linux, and Windows
Quick Start
from syft_serve import ServerManager
from fastapi import FastAPI
# Create a simple FastAPI app
app = FastAPI()
@app.get("/api/hello")
def hello():
return {"message": "Hello, World!"}
# Start server with automatic deduplication
manager = ServerManager()
server = manager.create_server(
app=app,
endpoints=["/api/hello"],
name="hello_server"
)
print(f"Server running on port {server.port}")
print(f"Health check: {server.health_check()}")
print(f"Logs: {server.get_logs()}")
Architecture
SyftServe is designed as a foundation for other packages that need reliable FastAPI server management:
- syft-widget: Uses syft-serve for widget server deduplication
- syft-apps: Uses syft-serve for application server management
- Your package: Can use syft-serve for any FastAPI server needs
Installation
pip install syft-serve
Documentation
See the full documentation for detailed usage examples and API reference.
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 syft_serve-0.2.1.tar.gz.
File metadata
- Download URL: syft_serve-0.2.1.tar.gz
- Upload date:
- Size: 21.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.4.17
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ad04a955a3aeae85a706457b87a4fbdcc85e6c99bf427f3f8f1a5998a65ae604
|
|
| MD5 |
258ce95c014ca85c8590774c09534bb4
|
|
| BLAKE2b-256 |
1cf06e669de8db8278566ede27d72282f482902ccd571741dcbab32e1dbabb2e
|
File details
Details for the file syft_serve-0.2.1-py2.py3-none-any.whl.
File metadata
- Download URL: syft_serve-0.2.1-py2.py3-none-any.whl
- Upload date:
- Size: 27.4 kB
- Tags: Python 2, Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.4.17
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c01e202b15ebebbad162342ac5eab6c3705b4143864ea87710b88cf1b870a51c
|
|
| MD5 |
79b07be2bcd4538910e81ae7e78c4abc
|
|
| BLAKE2b-256 |
f4aba0a1d63526a30b61ae5d8481940870449f3f7690c5a133ba5aafd058e1f0
|