AI SBOM generator with portable schema
This project has been archived.
The maintainers of this project have marked this project as archived. No new releases are expected.
Project description
Xelo
Xelo is an open-source AI SBOM generator for agentic and LLM-powered applications. It scans code and configuration, produces AI-BOM JSON, and can export CycloneDX-compatible output for security and compliance workflows.
Why Xelo
- Detects AI-specific components (agents, models, tools, prompts, datastores, auth, deployment artifacts).
- Works on mixed Python and TypeScript repositories.
- Uses deterministic extraction by default.
- Supports optional LLM enrichment when you explicitly enable it.
Installation
Install from PyPI:
pip install xelo
Install for deXelopment:
pip install -e ".[dev]"
Quickstart
Generate an AI-BOM from a local path:
Xelo scan path ./my-repo --format json --output sbom.json
Validate a generated document:
Xelo validate sbom.json
Export the JSON schema used by the models:
Xelo schema --output ai_bom.schema.json
CLI alias: ai-sbom.
CLI Commands
| Command | Description |
|---|---|
Xelo scan path <PATH> |
Scan a local repository path |
Xelo scan repo <URL> |
Clone and scan a remote repository |
Xelo validate <FILE> |
Validate AI-BOM JSON against schema models |
Xelo schema --output <FILE> |
Export schema JSON |
Run Xelo --help or Xelo <command> --help for all flags.
Configuration
Xelo scan can be configured via .env values and CLI flags. CLI flags take precedence.
Environment variables:
AISBOM_DETERMINISTIC_ONLY=true|falseAISBOM_LLM_MODEL=<litellm model string>AISBOM_LLM_BUDGET_TOKENS=<int>AISBOM_LLM_API_KEY=<optional key>
Example enabling enrichment:
Xelo scan path ./my-repo --enable-llm --llm-model gpt-4o-mini --output sbom.json
DeXelopment
pip install -e ".[dev]"
ruff check src tests
mypy src
pytest
Project Docs
License
Apache-2.0. See LICENSE.
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 xelo-0.1.0.tar.gz.
File metadata
- Download URL: xelo-0.1.0.tar.gz
- Upload date:
- Size: 114.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
71dab7d83a50ba47977f473df38893f46fc547a7445e29b331ca67b3593e0e3b
|
|
| MD5 |
ababd62171380043895afce5f985f9ef
|
|
| BLAKE2b-256 |
eff178177c709849cbed6c26bd347e0192c208233c09237898e4b6c0514c2835
|
File details
Details for the file xelo-0.1.0-py3-none-any.whl.
File metadata
- Download URL: xelo-0.1.0-py3-none-any.whl
- Upload date:
- Size: 120.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
fab4d506d14fb98077d81ff1fc7d2fd3c9fbd03cb6ec1021e12b9632623ae088
|
|
| MD5 |
a646af5561a3b7074339d1c6f0b21f91
|
|
| BLAKE2b-256 |
f4be896bd856fda9788138a53c011a8ab33c04af04dd1a05b02c65b269678622
|