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

Uploaded Python 3

File details

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

File metadata

  • Download URL: spoc-0.3.7.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.7.tar.gz
Algorithm Hash digest
SHA256 754df88f6587e63fd050ce2c6a1f9f71afa81c31380e2e5d6c0c7b31789096bb
MD5 f6ca70cf4dea2ba814e3f40ae9ab29c0
BLAKE2b-256 f931549622bd2f26e7fac7a2977c803dfee0f9fb49ed3d775cce9840a5aa58cb

See more details on using hashes here.

File details

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

File metadata

  • Download URL: spoc-0.3.7-py3-none-any.whl
  • Upload date:
  • Size: 30.4 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.7-py3-none-any.whl
Algorithm Hash digest
SHA256 aa58a218fc5c51107e7f3354a64d95ebf36871e16dce1047bd3f872affda6b07
MD5 895f73da4018cfb5b77a299cb0be04a1
BLAKE2b-256 aef5378945b9aa541a72e6a0753100ee01095a9d22e0cac32266fb5df86cf853

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