/mage-ai

๐Ÿง™ Mage is an open-source data pipeline tool for transforming and integrating data.

Primary LanguageTypeScriptApache License 2.0Apache-2.0

Fire mage

PyPi mage-ai License Join Slack

๐Ÿง™ Mage

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


Here is a sample data pipeline defined across 3 files:

# data_loaders/load_data_from_file.py
@data_loader
def load_csv_from_file():
    return pd.read_csv('default_repo/titanic.csv')
# transformers/select_columns.py
@transformer
def select_columns_from_df(df, *args):
    return df[['Age', 'Fare', 'Survived']]
# data_exporters/export_to_file.py
@data_exporter
def export_titanic_data_to_disk(df) -> 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 us on Slack

Table of contents

  1. Quick start
  2. Demo
  3. Tutorials
  4. Features
  5. Documentation
  6. Core design principles
  7. Core abstractions

๐Ÿƒโ€โ™€๏ธ Quick start

Install Mage:

Using Docker

Create a new project and launch tool (change demo_project to any other name if you want):

docker run -it -p 6789:6789 -v $(pwd):/home/src \
  mageai/mageai mage start demo_project

Want to use Spark or other integrations? Read more about integrations.

Using pip or conda

1. Install Mage
pip install mage-ai

or

conda install -c conda-forge mage-ai

For additional packages (e.g. spark, postgres, etc), please see Installing extra packages.

If you run into errors, please see Install errors.

2. Create new project and launch tool (change demo_project to any other name if you want):
mage start demo_project

Open tool in browser

Open http://localhost:6789 in your browser and build a pipeline.


๐ŸŽฎ Demo

Live demo

Try a hosted version of the tool here: http://demo.mage.ai.

WARNING

The live demo is public, please donโ€™t save anything sensitive.

Demo video (2 min)

Mage quick start demo

Click the image to play video


๐Ÿ‘ฉโ€๐Ÿซ Tutorials


๐Ÿ”ฎ Features

Read more here.


๐Ÿ“š Documentation

Read more here.


๐Ÿ”๏ธ Core design principles

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

  1. Easy developer experience
  2. Engineering best practices built-in
  3. Data is a first-class citizen
  4. Scaling made simple

Read more here.


๐Ÿ›ธ Core abstractions

These are the fundamental concepts that Mage uses to operate.

Read more here.


๐Ÿ™‹โ€โ™€๏ธ Contributing

Check out the ๐ŸŽ contributing guide to get started by setting up your development environment and exploring the code base.


๐Ÿค” Frequently Asked Questions (FAQs)

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


๐Ÿง™ Community

We love the community of Magers (/หˆmฤjษ™r/); a group of mages who help each other realize their full potential!

To live chat with the Mage team and community:

Join us on Slack


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


๐Ÿชช License

See the LICENSE file for licensing information.

Water mage casting spell