Packaging Contract
The installable Python project is democrai.
The package should support:
from democrai.sdk import ...and should install the core runtime needed by package entrypoints.
Included In The Wheel¶
The wheel includes Python packages matched by democrai*:
democrai.sdkdemocrai.coredemocrai.third_party
pyproject.toml stays at repository root because that is the installable
project root.
Not Included By Default¶
These repository folders are not part of the package by default:
modulesenginesextractorsclients
They are runtime inputs or independent applications.
Runtime extension roots are configured with:
DEMOCRAI_MODULES_PATH=/path/to/modules
DEMOCRAI_ENGINES_PATH=/path/to/engines
DEMOCRAI_EXTRACTORS_PATH=/path/to/extractorsInstalled Commands¶
The package exposes:
democrai
democrai-os-sandbox-helperdemocrai is the package-safe core launcher. It starts the core server and
handles CLI commands. It does not start repository clients.
Examples:
democrai
democrai --host 127.0.0.1 --port 8000
democrai migrate all
democrai create-migration data --module system -m "message" --autogenerateFor local development with clients, use the repository runner:
python main.py --mode desktop --client qtdesktop
python main.py --mode server --client webclientClient Contract¶
Clients are independent applications:
clients/qtdesktopclients/webclient
The repository runner can start them. The installed package launcher does not bundle or start them.
Built-in Extensions¶
If a future release needs built-in modules or engines, prefer one of these explicit strategies:
- package them inside
democraias true built-ins with documented ownership. - publish them as separate Python packages.
- keep them as runtime folders managed by deployment.
Do not rely on accidental repository-relative paths from inside the installed package.