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.6.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.6-py3-none-any.whl (29.8 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: spoc-0.3.6.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.6.tar.gz
Algorithm Hash digest
SHA256 9d543903d5fa697262a1cb599b39cd32eb2423626bb0ab21ee31ca9fed40e522
MD5 2a2f6a5027352058ce3b92e3a2637d33
BLAKE2b-256 b32667de6e68f0df95262748902999d83a4932a32ce28c2bb1f5d0e9130ded31

See more details on using hashes here.

File details

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

File metadata

  • Download URL: spoc-0.3.6-py3-none-any.whl
  • Upload date:
  • Size: 29.8 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.6-py3-none-any.whl
Algorithm Hash digest
SHA256 d9af3b26f0db3047f1a479561a164fc93918ee361bb57a6ec688f8b588ac7ac7
MD5 874af09bf82a5c47d59d864130b35e82
BLAKE2b-256 2095d907d7b3e191791bde20876c2d8d96c875a60aa9f06e8a6453ca5d180a62

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