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 Loading

  1. mara-pipelines mara-pipelines Public

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

    Python 2.1k 103

  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 29 7

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

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

    Python 178 40

  4. mara-db mara-db Public

    Lightweight configuration and access to multiple databases in a single project

    Python 38 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 71 5

  6. mara-metabase mara-metabase Public

    Configuration and schema sync for Metabase from Python

    Python 19 1

Repositories

Showing 10 of 23 repositories
  • mara/mara-catalog’s past year of commit activity
    Python 0 MIT 0 3 1 Updated Jul 25, 2024
  • mara-cron Public

    Lets you manage cron jobs via mara

    mara/mara-cron’s past year of commit activity
    Python 0 MIT 1 1 1 Updated Jan 3, 2024
  • mara-storage Public

    Configuration of different storages

    mara/mara-storage’s past year of commit activity
    Python 3 MIT 3 3 3 Updated Dec 15, 2023
  • mara-pipelines Public

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

    mara/mara-pipelines’s past year of commit activity
    Python 2,081 MIT 103 18 (1 issue needs help) 8 Updated Dec 15, 2023
  • mara-db Public

    Lightweight configuration and access to multiple databases in a single project

    mara/mara-db’s past year of commit activity
    Python 38 MIT 17 6 2 Updated Dec 15, 2023
  • mara-cli Public

    Mara command line app

    mara/mara-cli’s past year of commit activity
    Python 0 MIT 0 2 0 Updated Dec 6, 2023
  • .github Public
    mara/.github’s past year of commit activity
    0 MIT 0 0 0 Updated Dec 1, 2023
  • mara-page Public

    Minimal API for defining pages of Flask-based backends independently from the actual backend infrastructure

    mara/mara-page’s past year of commit activity
    Python 4 MIT 5 0 1 Updated Nov 21, 2023
  • mara-superset Public

    Configuring Apache Superset from Mara Schema

    mara/mara-superset’s past year of commit activity
    Python 2 MIT 0 1 1 Updated Nov 21, 2023
  • mara-dbt Public
    mara/mara-dbt’s past year of commit activity
    Python 1 MIT 0 3 2 Updated Nov 21, 2023