[go: up one dir, main page]

Skip to content

🧙 Build, run, and manage data pipelines for integrating and transforming data.

License

Notifications You must be signed in to change notification settings

mage-ai/mage-ai

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Mage AI

Give your data team magical powers.

Mage AI GitHub repo stars Mage AI Docker downloads Mage AI license Join the Mage AI community


Mage AI hero

Mage is a hybrid framework for transforming and integrating data. It combines the best of both worlds: the flexibility of notebooks with the rigor of modular code.


  • Extract and synchronize data from 3rd party sources.
  • Transform data with real-time and batch pipelines using Python, SQL, and R.
  • Load data into your data warehouse or data lake using our pre-built connectors.
  • Run, monitor, and orchestrate thousands of pipelines without losing sleep.

Plus hundreds of enterprise-class features, infrastructure innovations, and magical surprises.

Available in two spellbinding versions


Mage Pro For teams. Fully managed platform for integrating and transforming data. Mage OSS Self-hosted. System to build, run, and manage data pipelines.

Try out Mage Pro

It’s magic.

Documentation   🌪️    Get a 5 min overview   🌊    Play with live tool   🔥    Get instant help


1️⃣ 🏗️

Build

We designed an easy developer experience that you’ll enjoy.

Easy developer experience
Start developing locally with a single command or launch a dev environment in your cloud using Terraform.

Language of choice
Write code in Python, SQL, or R in the same data pipeline for ultimate flexibility.

Engineering best practices built-in
Each step in your pipeline is a standalone file containing modular code that’s reusable and testable with data validations. No more DAGs with spaghetti code.

2️⃣ 🔮

Preview

Get instant feedback from your code each time you run it.

Interactive code
Immediately see results from your code’s output with an interactive notebook UI.

Data is a first-class citizen
Each block of code in your pipeline produces data that can be versioned, partitioned, and cataloged for future use.

Collaborate on cloud
Develop collaboratively on cloud resources, version control with Git, and test pipelines without waiting for an available shared staging environment.

3️⃣ 🚀

Launch

Easy for a solo developer or large team to scale up and manage thousands of pipelines.

Fast deploy
Deploy Mage to AWS, GCP, or Azure with only 2 commands using maintained Terraform templates.

Scaling made simple
Transform very large datasets directly in your data warehouse or through a native integration with Spark.

Observability
Operationalize your pipelines with built-in monitoring, alerting, and observability through an intuitive UI.

🧙 Intro

Mage is an open-source data pipeline tool for transforming and integrating data.

  1. Install
  2. Demo
  3. Tutorials
  4. Documentation
  5. Features
  6. Core design principles
  7. Core abstractions
  8. Contributing

🏃‍♀️ Install

The recommended way to install the latest version of Mage is through Docker with the following command:

docker pull mageai/mageai:latest

You can also install Mage using pip or conda, though this may cause dependency issues without the proper environment.

pip install mage-ai
conda install -c conda-forge mage-ai

Looking for help? The fastest way to get started is by checking out our documentation here.

Looking for quick examples? Open a demo project right in your browser or check out our guides.

🎮 Demo

Live demo

Build and run a data pipeline with our demo app.

WARNING

The live demo is public to everyone, please don’t save anything sensitive (e.g. passwords, secrets, etc).

Demo video (5 min)

Mage quick start demo

Click the image to play video


👩‍🏫 Tutorials

Fire mage
🎶 Orchestration Schedule and manage data pipelines with observability.
📓 Notebook Interactive Python, SQL, & R editor for coding data pipelines.
🏗️ Data integrations Synchronize data from 3rd party sources to your internal destinations.
🚰 Streaming pipelines Ingest and transform real-time data.
dbt Build, run, and manage your dbt models with Mage.

A sample data pipeline defined across 3 files ➝


  1. Load data ➝
    @data_loader
    def load_csv_from_file() -> pl.DataFrame:
        return pl.read_csv('default_repo/titanic.csv')
  2. Transform data ➝
    @transformer
    def select_columns_from_df(df: pl.DataFrame, *args) -> pl.DataFrame:
        return df[['Age', 'Fare', 'Survived']]
  3. Export data ➝
    @data_exporter
    def export_titanic_data_to_disk(df: pl.DataFrame) -> None:
        df.to_csv('default_repo/titanic_transformed.csv')

What the data pipeline looks like in the UI ➝

data pipeline overview

New? We recommend reading about blocks and learning from a hands-on tutorial.

Join the Mage AI community

Every user experience and technical design decision adheres to these principles.

💻 Easy developer experience Open-source engine that comes with a custom notebook UI for building data pipelines.
🚢 Engineering best practices built-in Build and deploy data pipelines using modular code. No more writing throwaway code or trying to turn notebooks into scripts.
💳 Data is a first-class citizen Designed from the ground up specifically for running data-intensive workflows.
🪐 Scaling is made simple Analyze and process large data quickly for rapid iteration.

These are the fundamental concepts that Mage uses to operate.

Project Like a repository on GitHub; this is where you write all your code.
Pipeline Contains references to all the blocks of code you want to run, charts for visualizing data, and organizes the dependency between each block of code.
Block A file with code that can be executed independently or within a pipeline.
Data product Every block produces data after it's been executed. These are called data products in Mage.
Trigger A set of instructions that determine when or how a pipeline should run.
Run Stores information about when it was started, its status, when it was completed, any runtime variables used in the execution of the pipeline or block, etc.

🙋‍♀️ Contributing and developing

Add features and instantly improve the experience for everyone.

Check out the contributing guide to set up your development environment and start building.


👨‍👩‍👧‍👦 Community

Individually, we’re a mage.

🧙 Mage

Magic is indistinguishable from advanced technology. A mage is someone who uses magic (aka advanced technology). Together, we’re Magers!

🧙‍♂️🧙 Magers (/ˈmājər/)

A group of mages who help each other realize their full potential! Let’s hang out and chat together ➝

Join the Mage AI community

For real-time news, fun memes, data engineering topics, and more, join us on ➝

Twitter Twitter
LinkedIn LinkedIn
GitHub GitHub
Slack Slack

🤔 Frequently Asked Questions (FAQs)

Check out our FAQ page to find answers to some of our most asked questions.


🪪 License

See the LICENSE file for licensing information.

Water mage casting spell