mpt-extension-python-template is a minimal SoftwareOne Marketplace extension built on top of mpt-extension-sdk and mpt-tool.
It is primarily a template repository: it shows the baseline extension shape, agreement API endpoints, order and agreement event listeners, small fulfillment pipelines, Marketplace Portal plugs (including a UI SDK showcase — an examples app, a guide, and per-socket plug demos), and the development workflow used by extension repositories in this ecosystem.
backend/mpt_extension_python_template/contains the extension package.backend/tests/contains the pytest suite.frontend/contains the React plug source code.static/contains generated plug assets served by the extension.make/*.mkcontains the repository make targets.compose.yamldefines the Docker-based development environment.compose.local.yamladds local mock services formpt-ext run --local.
Prerequisites:
- Docker with the
docker composeplugin make
Recommended setup:
make build
make test
make run-localLocal mock mode exposes the application on http://localhost:8080.
Most make targets accept scope=backend, scope=frontend, or scope=all. The default scope is all.
Shared meaning of common make targets is documented in:
- AGENTS.md: entry point for AI agents
- docs/architecture.md: stable backend and frontend components, entry points, and data flow
- docs/examples.md: guided tour of the example API, events, pipelines, context, and plugs
- docs/contributing.md: repository-specific development workflow
- docs/local-development.md: local setup, run modes, and runner differences
- docs/deployment.md: runtime configuration and deployment-facing settings
- docs/testing.md: testing strategy and commands
- docs/migrations.md: migration workflow and current constraints
- docs/documentation.md: repository documentation rules
Keep repository-specific workflow details in the documents under docs/, not in this file.
This repository builds on SDKs documented in their own repositories. For library APIs, prefer those guides over duplicating them here:
- Backend (Extension SDK):
mpt-extension-sdk— seedocs/usage.mdanddocs/sdk_usage/. - Frontend (UI SDK):
mpt-extension-ui-sdk—@mpt-extension/sdkand@mpt-extension/sdk-react. - Frontend (UI component library):
@softwareone-platform/sdk-react-ui-v0.