Skip to main content

MetricFlow adapter for Datus semantic layer

Project description

datus-semantic-metricflow

MetricFlow adapter for Datus semantic layer.

Installation

pip install datus-semantic-metricflow

Dependencies (datus-metricflow, pydantic) will be installed automatically.

Requirements

  • Python >= 3.12

Quick Start

import asyncio
from datus_semantic_metricflow import MetricFlowAdapter, MetricFlowConfig

config = MetricFlowConfig(
    datasource="my_project",
    config_path="/path/to/metricflow/config",  # optional
)

adapter = MetricFlowAdapter(config)

async def main():
    # List metrics
    metrics = await adapter.list_metrics(limit=10)
    for metric in metrics:
        print(f"{metric.name}: {metric.description}")

    # Get dimensions for a metric
    dimensions = await adapter.get_dimensions("revenue")
    for dim in dimensions:
        print(f"{dim.name}: {dim.description}")

    # Query metrics
    result = await adapter.query_metrics(
        metrics=["revenue", "orders"],
        dimensions=["date", "region"],
        limit=100,
    )
    print(f"Columns: {result.columns}")
    print(f"Data: {result.data[:5]}")

asyncio.run(main())

Configuration

Field Type Default Description
datasource str Required Datasource for this semantic layer instance
config_path str None Path to MetricFlow configuration file
timeout int 300 Query timeout in seconds

API

  • list_metrics(path=None, limit=100, offset=0) - List available metrics
  • get_dimensions(metric_name, path=None) - Get dimensions for a metric
  • query_metrics(metrics, dimensions=[], ...) - Execute metric queries
  • validate_semantic() - Validate configuration files

Development

pip install -e ".[dev]"
pytest

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

datus_semantic_metricflow-0.2.3.tar.gz (14.0 kB view details)

Uploaded Source

Built Distribution

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

datus_semantic_metricflow-0.2.3-py3-none-any.whl (15.9 kB view details)

Uploaded Python 3

File details

Details for the file datus_semantic_metricflow-0.2.3.tar.gz.

File metadata

File hashes

Hashes for datus_semantic_metricflow-0.2.3.tar.gz
Algorithm Hash digest
SHA256 6a030b04ed2c8e969ce2deae4c93656a650f7b4279129f06a8bff7150e9ecf3b
MD5 43aacb0385f46c8c5ab448382ad6b7cc
BLAKE2b-256 8f8565daabd865916f8965f272913ba013eb5cc74f344ebb9c08093bba1a7389

See more details on using hashes here.

File details

Details for the file datus_semantic_metricflow-0.2.3-py3-none-any.whl.

File metadata

File hashes

Hashes for datus_semantic_metricflow-0.2.3-py3-none-any.whl
Algorithm Hash digest
SHA256 04988c7739117e6671781ab6f7e5c868e03eed8e711d8150c703eab54a89971b
MD5 8e1af23b16a469facb07a05bbeca10b7
BLAKE2b-256 547713f873c1b0a0e41894a43db588ef2077a10c7bf1190652fd3b3c50dca8a2

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