Skip to main content

Professional Service Framework - Revolutionary modular microservice framework with zero-config API

Project description

🚀 ProServe - Modern Microservices Framework

Build production-ready microservices with minimal code - Python decorators or YAML manifests!

🎯 98% Less Boilerplate • 5-Minute Start • Production Ready

ProServe is a revolutionary microservices framework that combines the simplicity of Flask with the power of modern architecture. Create APIs, static sites, real-time chat, and more with just a few lines of code.

🚀 Fully Modular Architecture: All components are now modular, testable, and follow SOLID principles
🧪 Comprehensive E2E Testing: 8+ test suites covering real-world scenarios, security, performance, and integrations

⚡ Quick Start (3 Lines of Code!)

# app.py
from proserve import Service

app = Service("my-api")

@app.endpoint("/", method="GET")
async def hello(request):
    return {"message": "Hello World! 🚀"}

if __name__ == "__main__":
    app.run(port=8080)
python app.py
# Open: http://localhost:8080

That's it! You have a production-ready API running.

🎓 New to microservices? Check out our Junior Quick Start Guide - "ProServe in 5 minutes"

🏗️ Manifest-Driven Development

Note: Manifests are not outdated. They are a core feature of ProServe, providing a declarative way to define microservices using YAML. The newer decorator-based approach complements manifests, offering flexibility for developers who prefer coding over configuration. Both approaches are fully supported and production-ready.

With tools like SELLM, you can even generate manifests using AI from simple text descriptions, making it incredibly easy to create complex services without manual configuration.

Example 1: Basic Manifest

# manifest.yml
name: my-service
port: 8080

endpoints:
  - path: /api/status
    method: GET
    response:
      status: "ok"
      version: "1.0.0"
  
  - path: /api/hello/{name}
    method: GET
    response:
      message: "Hello {{name}}!"

static:
  enabled: true
  path: ./public
proserve run
# Automatically creates API from manifest.yml
# Open: http://localhost:8080/api/status
# Try: http://localhost:8080/api/hello/World

Example 2: Advanced Manifest with WebSocket

# advanced_manifest.yml
name: chat-service
port: 8081

endpoints:
  - path: /api/chat/info
    method: GET
    response:
      status: "Chat Service Running"
      users: 0

websockets:
  - path: /ws/chat
    handler: chat_handler
    on_connect:
      message: "User connected"
    on_disconnect:
      message: "User disconnected"

static:
  enabled: true
  path: ./chat_ui
proserve run advanced_manifest.yml
# Starts a chat service with WebSocket support
# Open: http://localhost:8081/api/chat/info
# Connect WebSocket: ws://localhost:8081/ws/chat

📖 Documentation

All detailed documentation is available in the docs folder:

Python Packages

Explore the ecosystem of Python packages related to ProServe:

  • ProServe - Core microservices framework
  • Servos - Environment isolation and orchestration
  • wmlog - Centralized structured logging
  • SELLM - AI-powered manifest generator
  • EDPMT - Hardware control framework for IoT

💡 Why ProServe?

  • Zero-Config APIs: Build REST endpoints in 3 lines of code
  • Manifest-Driven: Define services in YAML, like docker-compose
  • Multi-Environment: Run anywhere - local, Docker, Kubernetes, embedded
  • Full-Stack: HTTP, WebSocket, background tasks, static hosting
  • Production-Ready: Logging, monitoring, security built-in

Start building microservices today with ProServe!

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

proserve-2.0.4.tar.gz (242.9 kB view details)

Uploaded Source

Built Distribution

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

proserve-2.0.4-py3-none-any.whl (231.0 kB view details)

Uploaded Python 3

File details

Details for the file proserve-2.0.4.tar.gz.

File metadata

  • Download URL: proserve-2.0.4.tar.gz
  • Upload date:
  • Size: 242.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.0

File hashes

Hashes for proserve-2.0.4.tar.gz
Algorithm Hash digest
SHA256 eb0c664f77d2614a925c343a6dd42fe3766a36611ef039e78fbd444d3a2a9abf
MD5 bcb0cfaa7dd0728ffee2585134729402
BLAKE2b-256 883bfb13833322a81042e35cfc50cf9484ae61c58e192ab4fae8b7531479d2d5

See more details on using hashes here.

File details

Details for the file proserve-2.0.4-py3-none-any.whl.

File metadata

  • Download URL: proserve-2.0.4-py3-none-any.whl
  • Upload date:
  • Size: 231.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.0

File hashes

Hashes for proserve-2.0.4-py3-none-any.whl
Algorithm Hash digest
SHA256 adc29c128a98319981c221990aab8e920153a7230a3f1648d8567e8071753eb0
MD5 8fd133ebabf8aefed6b224b890f5bff8
BLAKE2b-256 6713e54f0fec19c5684d6872fc9a8556492121c1a3b91dbe028f1f02f2af248f

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