Skip to main content

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

syft_serve-0.2.1.tar.gz (21.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

syft_serve-0.2.1-py2.py3-none-any.whl (27.4 kB view details)

Uploaded Python 2Python 3

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

Hashes for syft_serve-0.2.1.tar.gz
Algorithm Hash digest
SHA256 ad04a955a3aeae85a706457b87a4fbdcc85e6c99bf427f3f8f1a5998a65ae604
MD5 258ce95c014ca85c8590774c09534bb4
BLAKE2b-256 1cf06e669de8db8278566ede27d72282f482902ccd571741dcbab32e1dbabb2e

See more details on using hashes here.

File details

Details for the file syft_serve-0.2.1-py2.py3-none-any.whl.

File metadata

File hashes

Hashes for syft_serve-0.2.1-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 c01e202b15ebebbad162342ac5eab6c3705b4143864ea87710b88cf1b870a51c
MD5 79b07be2bcd4538910e81ae7e78c4abc
BLAKE2b-256 f4aba0a1d63526a30b61ae5d8481940870449f3f7690c5a133ba5aafd058e1f0

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page