Skip to main content

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, guardrails, auth, deployment artifacts).
  • Works on mixed Python and TypeScript repositories.
  • Recursively scans requirements.txt, pyproject.toml, and package.json files at any depth in the project tree.
  • Uses deterministic extraction by default.
  • Supports optional LLM enrichment when you explicitly enable it.

Supported Frameworks

Xelo detects components from the following AI/agent frameworks out of the box:

Python: LangChain, LangGraph, OpenAI Agents SDK, CrewAI (code + YAML configs), AutoGen (code + YAML configs), Google ADK, LlamaIndex, Agno, AWS BedrockAgentCore, Azure AI Agent Service, Guardrails AI, MCP Server, Semantic Kernel

TypeScript / JavaScript: LangChain.js, LangGraph.js, OpenAI Agents (TS), Azure AI Agents (TS), Agno (TS), MCP Server (TS)

Installation

pip install xelo

Install for development:

pip install -e ".[dev]"

Quickstart

Generate an AI-BOM from a local path:

xelo scan path ./my-repo --format json --output sbom.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

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_ENABLE_LLM=true|false
  • AISBOM_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

Development

pip install -e ".[dev]"
ruff check src tests
mypy src
pytest

Project Docs

License

Apache-2.0. See LICENSE.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

xelo-0.1.3.tar.gz (155.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

xelo-0.1.3-py3-none-any.whl (168.6 kB view details)

Uploaded Python 3

File details

Details for the file xelo-0.1.3.tar.gz.

File metadata

  • Download URL: xelo-0.1.3.tar.gz
  • Upload date:
  • Size: 155.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.14

File hashes

Hashes for xelo-0.1.3.tar.gz
Algorithm Hash digest
SHA256 24feff054898d92c62beb90265d02cccb290760844d7c105aee8d40bd67a5563
MD5 34de711e50b3e6e3da0ad70f2da58f05
BLAKE2b-256 5ee0bfeb8c0fe90e2a04ca5460e7c60443c6906f99f0a638da04f43fbce673e5

See more details on using hashes here.

File details

Details for the file xelo-0.1.3-py3-none-any.whl.

File metadata

  • Download URL: xelo-0.1.3-py3-none-any.whl
  • Upload date:
  • Size: 168.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.14

File hashes

Hashes for xelo-0.1.3-py3-none-any.whl
Algorithm Hash digest
SHA256 5ac3f9b2709c97e57be62a9563b383697fcfd6703505073707502d456fb02cef
MD5 235f38c3b24ddc7acc63bcd4d1a29d0e
BLAKE2b-256 cc03d8abd0c5b9ca5bb70294ccaa8a3d135245aeb5194bada234ef5eb0c61e03

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page