Feature lifecycle

A feature goes through explicit states, from code on disk to a running part of your app. CLI commands, the container’s startup scripts and the app itself move it forward, and splent.manifest.json records where it stands.

(absent) → [cached] → [declared] → [installed] → [migrated] → [active]
Layer State System Who updates the manifest
Configuration declared pyproject.toml and symlinks feature:add, feature:attach, product:resolve
Environment installed The Python environment, pip 00_install_features.sh
Persistence migrated The database schema (Alembic) db:upgrade, db:reset
Runtime active, disabled The Flask app, its blueprints FeatureManager.register_features()
  • States, what each state means and how to reach it
  • State guards, blocked operations and automatic transitions
  • Signals, decoupling features through business events
  • Manifest, inspecting splent.manifest.json and keeping it clean

Table of contents


Back to top

splent. Distributed by an LGPL license v3. Contact us: drorganvidez@us.es