Reference Business Capability catalogue for Turbo EA - bundled JSON, no network access required.
Project description
turbo-ea-capabilities
Reference Business Capability catalogue for Turbo EA, bundled as a Python package.
All catalogue data ships inside the wheel — no network access required at runtime. Designed for offline / airgapped Turbo EA deployments.
Install
pip install turbo-ea-capabilities
Usage
from turbo_ea_capabilities import (
load_all,
load_tree,
get_by_id,
get_children,
get_subtree,
get_ancestors,
load_macros,
get_macros_for_capability,
VERSION,
SCHEMA_VERSION,
GENERATED_AT,
)
print(f"Catalogue {VERSION} (schema v{SCHEMA_VERSION}), built {GENERATED_AT}")
print(f"{len(load_all())} capabilities, {len(load_macros())} macro capabilities")
root = get_subtree("BC-2")
for child in root.children:
print(f" {child.id} {child.name}")
# Macro navigation overlay (optional — empty list on pre-macro snapshots)
for m in load_macros():
print(f" {m.id} {m.name} ({len(m.capability_ids)} L1s)")
print(get_macros_for_capability("BC-100")) # → [MacroCapability(id='MC-10', ...)]
API
| Function | Returns |
|---|---|
load_all() |
list[Capability] — flat, every node, sorted by id |
load_tree() |
list[Capability] — nested, one entry per L1 |
get_by_id(id) |
Capability | None |
get_children(id) |
list[Capability] — direct children only |
get_subtree(id) |
Capability | None — node with .children populated recursively |
get_ancestors(id) |
list[Capability] — root → parent (excludes the node itself) |
load_macros() |
list[MacroCapability] — executive navigation overlay above L1 (empty on snapshots without the layer) |
get_macro(mc_id) |
MacroCapability | None |
get_macros_for_capability(bc_id) |
list[MacroCapability] — the ≤1 macro claiming the BC's L1 ancestor |
get_capabilities_in_macro(mc_id) |
list[Capability] — L1 capabilities grouped by the macro |
Capability (with new optional macro_id backlink), MacroCapability, BusinessProcess, ValueStream are all frozen Pydantic v2 models — see _models.py. The macro layer is purely additive: existing Capability fields are unchanged and SCHEMA_VERSION is not bumped when only macros are added or edited.
Macro capabilities
When the L1 layer of the catalogue is too large for unaided executive consumption, the wheel ships an optional Macro Capability overlay that groups L1s into a small set of executive-level domains for navigation. The Cross-Industry baseline currently ships 9 macros covering all 41 Cross-Industry L1s; industry-specific L1s do not (yet) have a macro layer.
The overlay is:
- Optional. Older wheels without
data/macro-capabilities.jsonkeep working —load_macros()returns[]. - Additive. No existing field on
Capability/BusinessProcess/ValueStreamwas changed.Capabilitygains one new optional field,macro_id: Optional[str], populated at build time on every L1 (and inherited via prefix lookup to descendants).SCHEMA_VERSIONis unchanged. - Orthogonal. Macros do not enter the BC tree, do not participate in value-stream stage links, and do not realize processes. They group L1s — that's all.
from turbo_ea_capabilities import (
load_macros,
get_macro,
get_macros_for_capability,
get_capabilities_in_macro,
)
# 1. Render Cross-Industry as 9 executive cards
for macro in load_macros():
if macro.industry == "Cross-Industry":
print(f"{macro.id} {macro.name} ({len(macro.capability_ids)} L1s)")
# 2. Breadcrumb / category label on a capability detail page
m = get_macros_for_capability("BC-100.10.20") # walks to L1 BC-100
# → [MacroCapability(id='MC-10', name='Enterprise Governance & Risk', ...)]
# 3. Drill into a macro
caps = get_capabilities_in_macro("MC-10")
# → [Capability(id='BC-100', ...), Capability(id='BC-110', ...), ...]
# 4. Translate the macro display name
fr = get_macro("MC-10").localized("fr")
print(fr.name) # "Gouvernance d'Entreprise et Risque"
The model is documented in Section 13 of the governance doc.
Versioning
Two version numbers travel together:
VERSION— semver of the catalogue content.SCHEMA_VERSION— integer; bumps only on non-additive field/value changes.
Pin against SCHEMA_VERSION to detect breaking shape changes; pin against VERSION minor for additive content updates.
Source
The catalogue YAML and build pipeline live at https://github.com/vincentmakes/turbo-ea-capabilities.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file turbo_ea_capabilities-2026.5.11.505.tar.gz.
File metadata
- Download URL: turbo_ea_capabilities-2026.5.11.505.tar.gz
- Upload date:
- Size: 5.3 MB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
dbba2073561f7270eed711759680179d8c8a9de60fb44954d777a73f2fdff4ae
|
|
| MD5 |
3f64fe5a6c4b101bc069fa442a3591e2
|
|
| BLAKE2b-256 |
9d6455acbb48c8f62a4817b4a1071aba498a77f00eff0d1acc7c7444bf898ab5
|
Provenance
The following attestation bundles were made for turbo_ea_capabilities-2026.5.11.505.tar.gz:
Publisher:
publish-package.yml on vincentmakes/turbo-ea-capabilities
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
turbo_ea_capabilities-2026.5.11.505.tar.gz -
Subject digest:
dbba2073561f7270eed711759680179d8c8a9de60fb44954d777a73f2fdff4ae - Sigstore transparency entry: 1504099063
- Sigstore integration time:
-
Permalink:
vincentmakes/turbo-ea-capabilities@0c7d9305661b128a8204084d12129e5552bc6dec -
Branch / Tag:
refs/heads/main - Owner: https://github.com/vincentmakes
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-package.yml@0c7d9305661b128a8204084d12129e5552bc6dec -
Trigger Event:
push
-
Statement type:
File details
Details for the file turbo_ea_capabilities-2026.5.11.505-py3-none-any.whl.
File metadata
- Download URL: turbo_ea_capabilities-2026.5.11.505-py3-none-any.whl
- Upload date:
- Size: 5.4 MB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
618c315213eb0b7e848888f7631f93362d2c98f705f99afc80697ea400911e45
|
|
| MD5 |
5da25ba9ae32fe319c2be276daff18cd
|
|
| BLAKE2b-256 |
8ae356c6e03d8c5381183d06ea040cf164ab97d4a7e60503c2140dc908d7daf1
|
Provenance
The following attestation bundles were made for turbo_ea_capabilities-2026.5.11.505-py3-none-any.whl:
Publisher:
publish-package.yml on vincentmakes/turbo-ea-capabilities
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
turbo_ea_capabilities-2026.5.11.505-py3-none-any.whl -
Subject digest:
618c315213eb0b7e848888f7631f93362d2c98f705f99afc80697ea400911e45 - Sigstore transparency entry: 1504099255
- Sigstore integration time:
-
Permalink:
vincentmakes/turbo-ea-capabilities@0c7d9305661b128a8204084d12129e5552bc6dec -
Branch / Tag:
refs/heads/main - Owner: https://github.com/vincentmakes
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-package.yml@0c7d9305661b128a8204084d12129e5552bc6dec -
Trigger Event:
push
-
Statement type: