Home
Softono
dictum-legacy

dictum-legacy

Open source Python
21
Stars
1
Forks
14
Issues
2
Watchers
3 years
Last Commit

About dictum-legacy

Describe business metrics with YAML, query and visualize in Jupyter with zero SQL

Platforms

Web Self-hosted

Languages

Python

Links

Tests Coverage

Documentation

Example Project

Dictum is a Business Intelligence framework written in Python. It includes a general-purpose metrics engine and allows your organization to have a shared, version-controlled and well-documented understanding of what the important metrics are and how they are computed from the source data.

The main features are:

  • πŸ§‘β€πŸ”§ A structured way to describe your metrics. Metrics are defined in simple, readable YAML files. πŸ‘‰ Learn how to get started with your own project
  • πŸͺ„ Interactive analytics in Jupyter. Slice and dice your metrics quickly and easily. Get the data as a Pandas DataFrame. πŸ‘‰ Learn how to query Dictum
  • 🀩 Dataviz powered by Altair. Quickly build visualizations based on your metric data. πŸ‘‰ Demo Jupyter notebook
  • 😎 SQL-like expression language. Write metric expressions in the familiar SQL syntax.
  • πŸ¦₯ Reusable expressions. Define metrics using other previously-defined metrics.
  • πŸ‡ Automatic multi-hop joins. You define foreign keys for tables, Dictum writes boring boilerplate SQL for you.
  • πŸ€– Python API. Build data applications powered by your Dictum project.

πŸš‚ Supported backends:

Example Metric definition:

# metrics/revenue.yml
name: Revenue
description: |
  Sum of all order amounts excluding
  bonus currency spending.
table: orders
expr: sum(amount - coalesce(bonus_spent, 0))
format:
  kind: currency
  currency: USD

Example Table Definition:

# tables/orders.yml
source:
  schema: marts
  table: orders

related:
  user: user_id -> users.id
  product: project_id -> products.id

Installation

Install from PyPi:

pip install dictum

Basic usage

Learn how to query the example project