# Open semantic layer > Your metrics shouldn't be locked inside a single tool. Query your Holistics semantic layer from any application. ## Your metrics, everywhere Traditional BI tools lock your metric definitions inside their platform. Define "revenue" in one tool, and you can't use that same logic in a Python script or feed it to an AI agent. Holistics takes a different approach: **your semantic layer is open**. Once you define a metric in Holistics, you can query it from anywhere - notebooks, internal applications, data pipelines, or any system that makes HTTP requests. One definition, unlimited consumption. ## What makes it open An "open" semantic layer isn't just about having an API. It's about giving you full ownership and control over your business logic through three pillars: ### Code-based definitions Your metrics are defined in [AML (Analytics Modeling Language)](/reference/aml/) - human-readable code that lives in your repository, not hidden inside a proprietary database. This means your semantic layer is: - **Portable** - Move between environments or tools without losing your work - **Reviewable** - Use code review workflows for metric changes - **Transparent** - Anyone can read and understand how metrics are calculated ### Version controlled Because your semantic layer is code, you get the full power of [Git version control](/docs/git-version-control): - **History** - See who changed what and when - **Branching** - Test metric changes in isolation before merging - **Rollback** - Revert problematic changes instantly - **Collaboration** - Multiple team members can work on different parts simultaneously ### Programmatically accessible Query your metrics from anywhere via [API](/api/v2/query-data) and [CLI](/docs/cli): - **API** - HTTP endpoints let any application fetch governed metrics - **CLI** - Local development tools integrate with your existing workflows - **CI/CD** - Validate metric definitions automatically before deployment Together, these ensure you're never locked in. Your business logic stays yours. ## Why this matters When your semantic layer is open, you get: - **Single source of truth** - One metric definition serves dashboards, notebooks, internal apps, and AI agents - **No vendor lock-in** - Your business logic is accessible via API, not trapped in a proprietary format - **Governed flexibility** - Centralized definitions with decentralized access means consistency without bottlenecks This means you can invest in building a rich semantic layer in Holistics without worrying about future flexibility. Your work stays accessible regardless of how your data stack evolves. ## What you can build With programmatic access to your Holistics datasets, you can extend your metrics beyond dashboards: | Use case | Description | |----------|-------------| | **Enrich analysis in notebooks** | Pull metrics into Jupyter, Python, or R for ad-hoc analysis that goes beyond what dashboards offer | | **Power internal applications** | Serve trusted numbers to operational tools, admin panels, or customer portals | | **Connect other BI tools** | Query from Metabase, Looker Studio, or any tool that can make HTTP requests | | **Unit test metrics in CI/CD** | Validate metric definitions programmatically before deploying changes | | **Enable AI agents** | Feed governed metrics to LLMs and AI assistants using the [MCP Server](/docs/ai/mcp-server) | **[Get started with the API tutorial →](/api/v2/query-data)** ## Related capabilities - **[MCP Server](/docs/ai/mcp-server)** - Let AI agents query your semantic layer directly - **[Embedded Analytics](/embedded/)** - Embed full dashboards in your product - **[Validation API](/docs/continuous-integration/validation-api)** - Validate AML changes in CI/CD pipelines