Skip to content
@mara

Mara

Lightweight data warehousing in Python

The Mara ELT Framework is a Python framework to build data pipelines.

It has been designed and build by Dr. Martin Loetzsch at Project A as a lightweight data transformation framework for their ventures. Today the Mara Packages are maintained and developed further by the Mara Open Source community.

 

Example projects

Runnable apps that demonstrates how to build a data warehouse app with mara:

  • Mara Example Project 1 - example ELT integrates publicly available e-commerce and marketing data into a more general modeling and structure for highlighting the capabilities of the Mara framework
  • Mara Example Project 2 - example ELT integrates PyPi download stats and GitHub repo activitiy metrics into more general Python project activity stats

 

Packages overview

Core modules

The core modules of the framework. You might not need all of them.

  • mara-acl - adding basic permission management to the Mara Flask UI
  • mara-app - a Mara Flask app
  • mara-db - access and interact with databases
  • mara-page - minimal API for defining Flask pages
  • mara-pipelines - define DAG pipelines and execute them
  • mara-storage - access and manage Blob storage data

Data Warehousing, Data Modelling and Documentation

  • mara-schema - managing star schema entity models and use them
  • mara-dbt - using the popular dbt engine inside a mara pipeline
  • mara-markdown-docs - display markdown documentation in mara UI
  • mara-etl-tools - Utilities for creating ETL pipelines in PostgreSQL with mara

Client integration & analytics

  • mara-data-explorer - a minimal Flask based UI for data analytics
  • mara-metabase - a client integration for Metabase from Mara Schema
  • mara-mondrian - a server/client integration for Mondrian Server with from Mara Schema
  • mara-superset - a client integration for Apache Superset from Mara Schema

Data Loading

We suggest loading data via tools like Airbyte, Fivetran or Stitch, but there are some data loading packages available which are e.g. used in example projects:

Other extensions

 

Press Releases

 

Links

Pinned

  1. mara-pipelines mara-pipelines Public

    A lightweight opinionated ETL framework, halfway between plain scripts and Apache Airflow

    Python 2.1k 102

  2. mara-example-project-1 mara-example-project-1 Public

    Runnable e-commerce mini data warehouse based on Python, PostgreSQL & Metabase, template for new projects

    Python 26 6

  3. mara-example-project-2 mara-example-project-2 Public

    An example mini data warehouse for python project stats, template for new projects

    Python 174 38

  4. mara-db mara-db Public

    Lightweight configuration and access to multiple databases in a single project

    Python 37 17

  5. mara-schema mara-schema Public

    Mapping of DWH database tables to business entities, attributes & metrics in Python, with automatic creation of flattened tables

    Python 62 5

  6. mara-metabase mara-metabase Public

    Configuration and schema sync for Metabase from Python

    Python 19 1

Repositories

Showing 10 of 23 repositories