Skip to main content

Elastic Framework Builder

Project description

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

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

spoc-0.3.4.tar.gz (3.4 MB view details)

Uploaded Source

Built Distribution

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

spoc-0.3.4-py3-none-any.whl (29.7 kB view details)

Uploaded Python 3

File details

Details for the file spoc-0.3.4.tar.gz.

File metadata

  • Download URL: spoc-0.3.4.tar.gz
  • Upload date:
  • Size: 3.4 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.8 {"installer":{"name":"uv","version":"0.11.8","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for spoc-0.3.4.tar.gz
Algorithm Hash digest
SHA256 f4fbf71fae6835d388e9bfe6f2f0f18fa166294b19860e84fbef90b0efe6dcf2
MD5 e04bdbc1fb9b65a0e6af5c0f44cd6171
BLAKE2b-256 41801787aa9a30e44b15b936be210b77944bfc750ef0c300d8a7309ea3a28778

See more details on using hashes here.

File details

Details for the file spoc-0.3.4-py3-none-any.whl.

File metadata

  • Download URL: spoc-0.3.4-py3-none-any.whl
  • Upload date:
  • Size: 29.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.8 {"installer":{"name":"uv","version":"0.11.8","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for spoc-0.3.4-py3-none-any.whl
Algorithm Hash digest
SHA256 fccb896a8d4b60e805d93b1872c2d2a9d8d4dec17e1eb205bf6b77851be95ed3
MD5 a6e8276858cd407c3985afcef0af8f68
BLAKE2b-256 cc1b9269aa715af08664d0d9802e888351fca2d65fb12737c299c5b7bcfcff5d

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