Skip to content

Repository files navigation

SPOC

title-image

License: MIT Language GitHub PyPI Downloads

SPOC is a Python framework for building modular monolithic applications. Inspired by Django's app system, it provides automatic module discovery, dependency management, and lifecycle orchestration.

Features

  • App-based architecture - Organize code into self-contained, reusable modules
  • Automatic discovery - Apps and components are discovered and loaded at runtime
  • Dependency management - Define module dependencies with automatic load ordering
  • Component registry - Register and retrieve components using decorators
  • Lifecycle hooks - Startup and shutdown hooks for proper resource management
  • TOML configuration - Simple configuration with spoc.toml

Installation

Requires Python 3.13+

pip install spoc

Quick Start

from pathlib import Path
from spoc import Framework, Schema

# Define your application schema
schema = Schema(
    modules=["models", "views"],
    dependencies={"views": ["models"]},
)

# Create and run the framework
framework = Framework(
    base_dir=Path(__file__).parent,
    schema=schema,
)

# Access registered components
print(framework.components.models.values())

Documentation

For detailed documentation, tutorials, and examples:

Read the Docs

Links

About

Python (S.P.O.C)

Resources

Contributing

Stars

Watchers

Forks

Releases

Packages

Used by

Contributors

Languages