ai-sbom 0.1.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- ai_sbom-0.1.0/.gitignore +189 -0
- ai_sbom-0.1.0/PKG-INFO +101 -0
- ai_sbom-0.1.0/README.md +75 -0
- ai_sbom-0.1.0/pyproject.toml +57 -0
- ai_sbom-0.1.0/src/ai_sbom/__init__.py +33 -0
- ai_sbom-0.1.0/src/ai_sbom/cli.py +18 -0
ai_sbom-0.1.0/.gitignore
ADDED
|
@@ -0,0 +1,189 @@
|
|
|
1
|
+
# Secrets & env
|
|
2
|
+
.env
|
|
3
|
+
*.env
|
|
4
|
+
*.secret
|
|
5
|
+
|
|
6
|
+
# Keys & certs
|
|
7
|
+
*.key
|
|
8
|
+
*.pem
|
|
9
|
+
certs/
|
|
10
|
+
secrets/
|
|
11
|
+
|
|
12
|
+
# Databases & dumps
|
|
13
|
+
*.db
|
|
14
|
+
*.sqlite
|
|
15
|
+
*.sql
|
|
16
|
+
dump_*/
|
|
17
|
+
|
|
18
|
+
# EXCEPT: Allow database schemas (needed for server rebuild)
|
|
19
|
+
!database-schemas/*.sql
|
|
20
|
+
|
|
21
|
+
# Logs & runtime data
|
|
22
|
+
logs/
|
|
23
|
+
*.log
|
|
24
|
+
__pycache__/
|
|
25
|
+
*.pyc
|
|
26
|
+
venv/
|
|
27
|
+
.venv/
|
|
28
|
+
**/venv/
|
|
29
|
+
**/.venv/
|
|
30
|
+
|
|
31
|
+
# ─── Brain API runtime state (mirrored to OHM1, NOT to GitHub) ──────────
|
|
32
|
+
# Registry + sessions + caches contain hardware hashes, public keys,
|
|
33
|
+
# session tokens, conversation state. Privacy-sensitive. Restore from
|
|
34
|
+
# OHM1 mirror on server rebuild, not from git.
|
|
35
|
+
brain_api/data/
|
|
36
|
+
brain_api/.conversation_cache/
|
|
37
|
+
brain_api/ains_registry.json
|
|
38
|
+
brain_api/ipoll_registry.json
|
|
39
|
+
brain_api/high_five_log.json
|
|
40
|
+
brain_api/agent_keys/
|
|
41
|
+
brain_api/founder_counter.json
|
|
42
|
+
|
|
43
|
+
# Pending claims, phantom sessions, consent store — never to GitHub
|
|
44
|
+
brain_api/**/pending_claims.json
|
|
45
|
+
brain_api/**/phantom_sessions.json
|
|
46
|
+
brain_api/**/consent_store.json
|
|
47
|
+
brain_api/**/ainternet_sessions.json
|
|
48
|
+
brain_api/**/ainternet_challenges.json
|
|
49
|
+
brain_api/**/byoa_agents.json
|
|
50
|
+
brain_api/**/canvas_data.json
|
|
51
|
+
brain_api/**/ai_response_log.json
|
|
52
|
+
brain_api/**/ai_team_context.json
|
|
53
|
+
brain_api/**/ai_teams_sessions.json
|
|
54
|
+
brain_api/**/evolution_timeline.json
|
|
55
|
+
|
|
56
|
+
# Static downloads (binaries served via nginx, not source)
|
|
57
|
+
brain_api/static/downloads/
|
|
58
|
+
|
|
59
|
+
# ─── Signing keys / keystores — NEVER on GitHub ─────────────────────────
|
|
60
|
+
# These live on DL360 + OHM1 mirror + USB stick + encrypted off-site backup.
|
|
61
|
+
# Loss = no more Play Store updates for org.ainternet.kit forever.
|
|
62
|
+
*.keystore
|
|
63
|
+
*.jks
|
|
64
|
+
*.keystore.gpg
|
|
65
|
+
*.jks.gpg
|
|
66
|
+
keystore.properties
|
|
67
|
+
keystores/
|
|
68
|
+
|
|
69
|
+
# Configs met secrets (we gebruiken straks templates)
|
|
70
|
+
config/
|
|
71
|
+
brain_api/provisioning.local.json
|
|
72
|
+
brain_api/provisioning.json
|
|
73
|
+
|
|
74
|
+
# Landing pages (privé - niet open source)
|
|
75
|
+
landing-pages/
|
|
76
|
+
humotica.com/
|
|
77
|
+
jtel.nl/
|
|
78
|
+
|
|
79
|
+
# Social media posts (strategie - niet open source)
|
|
80
|
+
SOCIAL-MEDIA-POSTS.md
|
|
81
|
+
HN-POST-UNDER-4000.md
|
|
82
|
+
STRATO-DEPLOY-HUMOTICA.md
|
|
83
|
+
|
|
84
|
+
# Endorsement outreach (privaat contact)
|
|
85
|
+
ARXIV-ENDORSEMENT-OUTREACH.md
|
|
86
|
+
|
|
87
|
+
# Deployment secrets
|
|
88
|
+
DEPLOYMENT-GUIDE.md
|
|
89
|
+
|
|
90
|
+
# R Project files (Dirty Data Challenge)
|
|
91
|
+
.Rproj.user
|
|
92
|
+
.Rhistory
|
|
93
|
+
.RData
|
|
94
|
+
.Ruserdata
|
|
95
|
+
*.zip
|
|
96
|
+
.mural_tokens.json
|
|
97
|
+
auth.json
|
|
98
|
+
gen-lang-client*.json
|
|
99
|
+
*.credentials.json
|
|
100
|
+
|
|
101
|
+
# Rust build artifacts
|
|
102
|
+
**/target/
|
|
103
|
+
*.whl
|
|
104
|
+
|
|
105
|
+
# Compiled binaries (build locally)
|
|
106
|
+
jis-router/jis-router
|
|
107
|
+
sentinel-rs/sentinel-rs
|
|
108
|
+
|
|
109
|
+
# Build distribution
|
|
110
|
+
sandbox/ai/codex/dist/
|
|
111
|
+
sandbox_backup/
|
|
112
|
+
did-jis-core
|
|
113
|
+
|
|
114
|
+
# =============================================================================
|
|
115
|
+
# Eigen repos — hebben hun eigen git remotes, niet dubbel opslaan
|
|
116
|
+
# =============================================================================
|
|
117
|
+
|
|
118
|
+
# Packages (elk een eigen repo)
|
|
119
|
+
packages/jis-iam-bridge/
|
|
120
|
+
packages/rapid-rag/
|
|
121
|
+
packages/reflux/
|
|
122
|
+
packages/sema-protocol/
|
|
123
|
+
packages/tibet-anticheat/
|
|
124
|
+
packages/tibet-ci/
|
|
125
|
+
packages/tibet-claw/
|
|
126
|
+
packages/tibet-context/
|
|
127
|
+
packages/tibet-core/
|
|
128
|
+
packages/tibet-db/
|
|
129
|
+
packages/tibet-edge/
|
|
130
|
+
packages/tibet-forge/
|
|
131
|
+
packages/tibet-iot/
|
|
132
|
+
packages/tibet-jawbreaker/
|
|
133
|
+
packages/tibet-ledger/
|
|
134
|
+
packages/tibet-marketplace/
|
|
135
|
+
packages/tibet-mesh/
|
|
136
|
+
packages/tibet-mirror/
|
|
137
|
+
packages/tibet-nis2/
|
|
138
|
+
packages/tibet-overlay/
|
|
139
|
+
packages/tibet-phantom/
|
|
140
|
+
packages/tibet-phantom-mcp/
|
|
141
|
+
packages/tibet-ping/
|
|
142
|
+
packages/tibet-pol/
|
|
143
|
+
packages/tibet-pqc/
|
|
144
|
+
packages/tibet-sbom/
|
|
145
|
+
packages/tibet-snap/
|
|
146
|
+
packages/tibet-soc/
|
|
147
|
+
packages/tibet-spiffe/
|
|
148
|
+
packages/tibet-tools/
|
|
149
|
+
packages/tibet-trail/
|
|
150
|
+
packages/tibet-triage/
|
|
151
|
+
packages/tibet-triage-mcp/
|
|
152
|
+
packages/tibet-twin/
|
|
153
|
+
packages/tibet-workload/
|
|
154
|
+
packages/tibet-y2k38/
|
|
155
|
+
packages/tlex-edge/
|
|
156
|
+
packages/tibet-tail/
|
|
157
|
+
packages/tibet-nc/
|
|
158
|
+
|
|
159
|
+
# Sub-projects met eigen repos
|
|
160
|
+
bunq7/
|
|
161
|
+
humotica-core/
|
|
162
|
+
jis-core/
|
|
163
|
+
JTm-dev/
|
|
164
|
+
kit-package/
|
|
165
|
+
symbAIon/
|
|
166
|
+
tibet-audit/
|
|
167
|
+
tibet-audit-npm/
|
|
168
|
+
tibet-core/
|
|
169
|
+
tibetclaw/
|
|
170
|
+
snaft/
|
|
171
|
+
|
|
172
|
+
# MCP servers (eigen repos)
|
|
173
|
+
mcp-servers/aidrac/
|
|
174
|
+
mcp-servers/ainternet/
|
|
175
|
+
mcp-servers/mcp-server-jis/
|
|
176
|
+
mcp-servers/sensory/
|
|
177
|
+
mcp-servers/tibet/
|
|
178
|
+
|
|
179
|
+
# Hackathon sub-repos
|
|
180
|
+
hackaway2026/clawmetry/
|
|
181
|
+
|
|
182
|
+
# Private memory (eigen repo)
|
|
183
|
+
.root_ai_memory/
|
|
184
|
+
.root_ai_thoughts/
|
|
185
|
+
brain_api/static/*.apk
|
|
186
|
+
|
|
187
|
+
# SWARM-003 refactor backups (local rollback only)
|
|
188
|
+
*.pre-secrets-refactor.bak
|
|
189
|
+
.env.bak-*
|
ai_sbom-0.1.0/PKG-INFO
ADDED
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: ai-sbom
|
|
3
|
+
Version: 0.1.0
|
|
4
|
+
Summary: AI-SBOM — generic alias for tibet-ai-sbom. BSI/G7 SBOM-for-AI implementation with cluster codes (AISBOM-MD/SLP/MOD/DSE/INF/SEC/KPI).
|
|
5
|
+
Project-URL: Homepage, https://humotica.com/ai-sbom
|
|
6
|
+
Project-URL: Repository, https://github.com/jaspertvdm/tibet-ai-sbom
|
|
7
|
+
Project-URL: Upstream Package, https://pypi.org/project/tibet-ai-sbom/
|
|
8
|
+
Author-email: Jasper van de Meent <jasper@humotica.nl>, "Root AI (Claude)" <root_ai@humotica.nl>
|
|
9
|
+
License-Expression: MIT
|
|
10
|
+
Keywords: agentic,ai-bom,ai-compliance,ai-sbom,bsi,cbom,cyclonedx,g7,sbom-for-ai,spdx,supply-chain,tibet
|
|
11
|
+
Classifier: Development Status :: 3 - Alpha
|
|
12
|
+
Classifier: Intended Audience :: Developers
|
|
13
|
+
Classifier: Intended Audience :: Information Technology
|
|
14
|
+
Classifier: License :: OSI Approved :: MIT License
|
|
15
|
+
Classifier: Programming Language :: Python :: 3
|
|
16
|
+
Classifier: Programming Language :: Python :: 3.10
|
|
17
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
18
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
19
|
+
Classifier: Programming Language :: Python :: 3.13
|
|
20
|
+
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
|
|
21
|
+
Classifier: Topic :: Security
|
|
22
|
+
Classifier: Topic :: Software Development :: Quality Assurance
|
|
23
|
+
Requires-Python: >=3.10
|
|
24
|
+
Requires-Dist: tibet-ai-sbom==0.1.0
|
|
25
|
+
Description-Content-Type: text/markdown
|
|
26
|
+
|
|
27
|
+
# ai-sbom
|
|
28
|
+
|
|
29
|
+
**Generic PyPI alias for [`tibet-ai-sbom`](https://pypi.org/project/tibet-ai-sbom/).**
|
|
30
|
+
|
|
31
|
+
The same BSI/G7 SBOM-for-AI implementation, reachable under a shorter,
|
|
32
|
+
more discoverable name. The package depends strictly on
|
|
33
|
+
``tibet-ai-sbom`` of the same version and re-exports everything.
|
|
34
|
+
|
|
35
|
+
If you came here from the BSI / G7 *Software Bill of Materials for AI
|
|
36
|
+
— Minimum Elements* paper and were looking for a Python implementation
|
|
37
|
+
of the cluster codes, you are in the right place.
|
|
38
|
+
|
|
39
|
+
## Install
|
|
40
|
+
|
|
41
|
+
```bash
|
|
42
|
+
pip install ai-sbom
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
`ai-sbom` depends on a pinned version of `tibet-ai-sbom`, so the two
|
|
46
|
+
move together — there is no version skew.
|
|
47
|
+
|
|
48
|
+
## Quick start
|
|
49
|
+
|
|
50
|
+
```bash
|
|
51
|
+
ai-sbom version
|
|
52
|
+
ai-sbom clusters
|
|
53
|
+
ai-sbom clusters --cluster MOD
|
|
54
|
+
ai-sbom code AISBOM-MD-003
|
|
55
|
+
ai-sbom scan /path/to/workspace
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
The underlying command is `tibet-ai-sbom`. Both entry points are
|
|
59
|
+
installed and equivalent.
|
|
60
|
+
|
|
61
|
+
## Cluster codes
|
|
62
|
+
|
|
63
|
+
This package exposes the BSI cluster codes in CVE-style format:
|
|
64
|
+
|
|
65
|
+
| Code prefix | Cluster |
|
|
66
|
+
| ----------- | -------------------------------- |
|
|
67
|
+
| AISBOM-MD- | Metadata |
|
|
68
|
+
| AISBOM-SLP- | System Level Properties |
|
|
69
|
+
| AISBOM-MOD- | Models |
|
|
70
|
+
| AISBOM-DSE- | Dataset Properties |
|
|
71
|
+
| AISBOM-INF- | Infrastructure |
|
|
72
|
+
| AISBOM-SEC- | Security Properties |
|
|
73
|
+
| AISBOM-KPI- | Key Performance Indicators |
|
|
74
|
+
|
|
75
|
+
Example: `AISBOM-MD-001` refers to the *SBOM author* element of the
|
|
76
|
+
Metadata cluster.
|
|
77
|
+
|
|
78
|
+
## Conformance status
|
|
79
|
+
|
|
80
|
+
See `tibet-ai-sbom`'s
|
|
81
|
+
[CONFORMANCE.md](https://github.com/jaspertvdm/tibet-ai-sbom/blob/main/CONFORMANCE.md)
|
|
82
|
+
for the honest per-cluster coverage status, and
|
|
83
|
+
[ROADMAP.md](https://github.com/jaspertvdm/tibet-ai-sbom/blob/main/ROADMAP.md)
|
|
84
|
+
for the phased plan to full BSI alignment.
|
|
85
|
+
|
|
86
|
+
## Reference
|
|
87
|
+
|
|
88
|
+
> *Software Bill of Materials for AI — Minimum Elements*,
|
|
89
|
+
> Bundesamt für Sicherheit in der Informationstechnik (BSI),
|
|
90
|
+
> in cooperation with G7 partners, 2026.
|
|
91
|
+
|
|
92
|
+
## License
|
|
93
|
+
|
|
94
|
+
MIT. Same as `tibet-ai-sbom`.
|
|
95
|
+
|
|
96
|
+
## Authors
|
|
97
|
+
|
|
98
|
+
- Jasper van de Meent · Humotica
|
|
99
|
+
- Root AI (Claude) · Humotica
|
|
100
|
+
|
|
101
|
+
One love, one fAmIly!
|
ai_sbom-0.1.0/README.md
ADDED
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
# ai-sbom
|
|
2
|
+
|
|
3
|
+
**Generic PyPI alias for [`tibet-ai-sbom`](https://pypi.org/project/tibet-ai-sbom/).**
|
|
4
|
+
|
|
5
|
+
The same BSI/G7 SBOM-for-AI implementation, reachable under a shorter,
|
|
6
|
+
more discoverable name. The package depends strictly on
|
|
7
|
+
``tibet-ai-sbom`` of the same version and re-exports everything.
|
|
8
|
+
|
|
9
|
+
If you came here from the BSI / G7 *Software Bill of Materials for AI
|
|
10
|
+
— Minimum Elements* paper and were looking for a Python implementation
|
|
11
|
+
of the cluster codes, you are in the right place.
|
|
12
|
+
|
|
13
|
+
## Install
|
|
14
|
+
|
|
15
|
+
```bash
|
|
16
|
+
pip install ai-sbom
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
`ai-sbom` depends on a pinned version of `tibet-ai-sbom`, so the two
|
|
20
|
+
move together — there is no version skew.
|
|
21
|
+
|
|
22
|
+
## Quick start
|
|
23
|
+
|
|
24
|
+
```bash
|
|
25
|
+
ai-sbom version
|
|
26
|
+
ai-sbom clusters
|
|
27
|
+
ai-sbom clusters --cluster MOD
|
|
28
|
+
ai-sbom code AISBOM-MD-003
|
|
29
|
+
ai-sbom scan /path/to/workspace
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
The underlying command is `tibet-ai-sbom`. Both entry points are
|
|
33
|
+
installed and equivalent.
|
|
34
|
+
|
|
35
|
+
## Cluster codes
|
|
36
|
+
|
|
37
|
+
This package exposes the BSI cluster codes in CVE-style format:
|
|
38
|
+
|
|
39
|
+
| Code prefix | Cluster |
|
|
40
|
+
| ----------- | -------------------------------- |
|
|
41
|
+
| AISBOM-MD- | Metadata |
|
|
42
|
+
| AISBOM-SLP- | System Level Properties |
|
|
43
|
+
| AISBOM-MOD- | Models |
|
|
44
|
+
| AISBOM-DSE- | Dataset Properties |
|
|
45
|
+
| AISBOM-INF- | Infrastructure |
|
|
46
|
+
| AISBOM-SEC- | Security Properties |
|
|
47
|
+
| AISBOM-KPI- | Key Performance Indicators |
|
|
48
|
+
|
|
49
|
+
Example: `AISBOM-MD-001` refers to the *SBOM author* element of the
|
|
50
|
+
Metadata cluster.
|
|
51
|
+
|
|
52
|
+
## Conformance status
|
|
53
|
+
|
|
54
|
+
See `tibet-ai-sbom`'s
|
|
55
|
+
[CONFORMANCE.md](https://github.com/jaspertvdm/tibet-ai-sbom/blob/main/CONFORMANCE.md)
|
|
56
|
+
for the honest per-cluster coverage status, and
|
|
57
|
+
[ROADMAP.md](https://github.com/jaspertvdm/tibet-ai-sbom/blob/main/ROADMAP.md)
|
|
58
|
+
for the phased plan to full BSI alignment.
|
|
59
|
+
|
|
60
|
+
## Reference
|
|
61
|
+
|
|
62
|
+
> *Software Bill of Materials for AI — Minimum Elements*,
|
|
63
|
+
> Bundesamt für Sicherheit in der Informationstechnik (BSI),
|
|
64
|
+
> in cooperation with G7 partners, 2026.
|
|
65
|
+
|
|
66
|
+
## License
|
|
67
|
+
|
|
68
|
+
MIT. Same as `tibet-ai-sbom`.
|
|
69
|
+
|
|
70
|
+
## Authors
|
|
71
|
+
|
|
72
|
+
- Jasper van de Meent · Humotica
|
|
73
|
+
- Root AI (Claude) · Humotica
|
|
74
|
+
|
|
75
|
+
One love, one fAmIly!
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
[build-system]
|
|
2
|
+
requires = ["hatchling"]
|
|
3
|
+
build-backend = "hatchling.build"
|
|
4
|
+
|
|
5
|
+
[project]
|
|
6
|
+
name = "ai-sbom"
|
|
7
|
+
version = "0.1.0"
|
|
8
|
+
description = "AI-SBOM — generic alias for tibet-ai-sbom. BSI/G7 SBOM-for-AI implementation with cluster codes (AISBOM-MD/SLP/MOD/DSE/INF/SEC/KPI)."
|
|
9
|
+
readme = "README.md"
|
|
10
|
+
license = "MIT"
|
|
11
|
+
authors = [
|
|
12
|
+
{ name = "Jasper van de Meent", email = "jasper@humotica.nl" },
|
|
13
|
+
{ name = "Root AI (Claude)", email = "root_ai@humotica.nl" },
|
|
14
|
+
]
|
|
15
|
+
keywords = [
|
|
16
|
+
"ai-sbom",
|
|
17
|
+
"sbom-for-ai",
|
|
18
|
+
"bsi",
|
|
19
|
+
"g7",
|
|
20
|
+
"ai-bom",
|
|
21
|
+
"cyclonedx",
|
|
22
|
+
"spdx",
|
|
23
|
+
"ai-compliance",
|
|
24
|
+
"tibet",
|
|
25
|
+
"cbom",
|
|
26
|
+
"supply-chain",
|
|
27
|
+
"agentic",
|
|
28
|
+
]
|
|
29
|
+
classifiers = [
|
|
30
|
+
"Development Status :: 3 - Alpha",
|
|
31
|
+
"Intended Audience :: Developers",
|
|
32
|
+
"Intended Audience :: Information Technology",
|
|
33
|
+
"License :: OSI Approved :: MIT License",
|
|
34
|
+
"Programming Language :: Python :: 3",
|
|
35
|
+
"Programming Language :: Python :: 3.10",
|
|
36
|
+
"Programming Language :: Python :: 3.11",
|
|
37
|
+
"Programming Language :: Python :: 3.12",
|
|
38
|
+
"Programming Language :: Python :: 3.13",
|
|
39
|
+
"Topic :: Security",
|
|
40
|
+
"Topic :: Software Development :: Quality Assurance",
|
|
41
|
+
"Topic :: Scientific/Engineering :: Artificial Intelligence",
|
|
42
|
+
]
|
|
43
|
+
requires-python = ">=3.10"
|
|
44
|
+
dependencies = [
|
|
45
|
+
"tibet-ai-sbom==0.1.0",
|
|
46
|
+
]
|
|
47
|
+
|
|
48
|
+
[project.scripts]
|
|
49
|
+
ai-sbom = "ai_sbom.cli:main"
|
|
50
|
+
|
|
51
|
+
[project.urls]
|
|
52
|
+
Homepage = "https://humotica.com/ai-sbom"
|
|
53
|
+
Repository = "https://github.com/jaspertvdm/tibet-ai-sbom"
|
|
54
|
+
"Upstream Package" = "https://pypi.org/project/tibet-ai-sbom/"
|
|
55
|
+
|
|
56
|
+
[tool.hatch.build.targets.wheel]
|
|
57
|
+
packages = ["src/ai_sbom"]
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
"""
|
|
2
|
+
ai-sbom — generic alias for tibet-ai-sbom.
|
|
3
|
+
|
|
4
|
+
This package is intentionally a thin alias around ``tibet-ai-sbom`` so
|
|
5
|
+
that engineers and auditors who type ``pip install ai-sbom`` reach the
|
|
6
|
+
same BSI/G7 SBOM-for-AI implementation as the canonical
|
|
7
|
+
``tibet-ai-sbom`` package.
|
|
8
|
+
|
|
9
|
+
The version of ``ai-sbom`` is held in lock-step with the version of
|
|
10
|
+
``tibet-ai-sbom`` it depends on. Bumping one always bumps the other.
|
|
11
|
+
|
|
12
|
+
Everything below re-exports the underlying ``tibet_ai_sbom`` module.
|
|
13
|
+
"""
|
|
14
|
+
from __future__ import annotations
|
|
15
|
+
|
|
16
|
+
from tibet_ai_sbom import (
|
|
17
|
+
__version__ as _tibet_ai_sbom_version,
|
|
18
|
+
BSICluster,
|
|
19
|
+
CLUSTER_CODES,
|
|
20
|
+
cluster_for_code,
|
|
21
|
+
list_cluster_codes,
|
|
22
|
+
)
|
|
23
|
+
|
|
24
|
+
__version__ = _tibet_ai_sbom_version
|
|
25
|
+
__author__ = "Jasper van de Meent & Root AI (Claude)"
|
|
26
|
+
|
|
27
|
+
__all__ = [
|
|
28
|
+
"__version__",
|
|
29
|
+
"BSICluster",
|
|
30
|
+
"CLUSTER_CODES",
|
|
31
|
+
"cluster_for_code",
|
|
32
|
+
"list_cluster_codes",
|
|
33
|
+
]
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"""
|
|
2
|
+
ai-sbom CLI — generic alias that delegates to ``tibet-ai-sbom``.
|
|
3
|
+
|
|
4
|
+
Running ``ai-sbom version`` is equivalent to ``tibet-ai-sbom version``;
|
|
5
|
+
the underlying implementation is the same.
|
|
6
|
+
"""
|
|
7
|
+
from __future__ import annotations
|
|
8
|
+
|
|
9
|
+
from tibet_ai_sbom.cli import main as _tibet_main
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
def main(argv: list[str] | None = None) -> int:
|
|
13
|
+
return _tibet_main(argv)
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
if __name__ == "__main__":
|
|
17
|
+
import sys
|
|
18
|
+
sys.exit(main())
|