Skip to main content

Mage is a notebook for building and deploying data pipelines.

Project description

PyPi mage-ai License Join Slack

Intro

Mage is an open-source notebook for building and deploying data pipelines.

Mage

A data pipeline defined across 3 different files:

# load_data_from_file.py
from pandas import DataFrame
import pandas as pd


@data_loader
def load_data() -> DataFrame:
    return pd.read_csv('default_repo/titanic.csv')
# select_columns.py
from pandas import DataFrame


@transformer
def transform_df(df: DataFrame, *args) -> DataFrame:
    return df[['Age', 'Fare', 'Survived']]
# export_to_file.py
from pandas import DataFrame


@data_exporter
def export_data(df: DataFrame) -> None:
    return 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. Tutorials
  3. Features
  4. Contributing
  5. Community

🏃‍♀️ Quick start

Fire mage

You can install Mage using Docker or pip:

Using Docker

Create a new project and launch tool:

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

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

Follow the guide if you want to use PySpark kernel in your notebook.

Using pip

1. Install Mage
pip install mage-ai

You may need to install development libraries for MIT Kerberos to use some Mage features. On Ubuntu, this can be installed as:

apt install libkrb5-dev
2. Create new project and launch tool
mage start [project_name]

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

👩‍🏫 Tutorials


🔮 Features

  1. Data centric editor
  2. Production ready code
  3. Extensible

1. Data centric editor

An interactive coding experience designed for preparing data to train ML models.

Visualize the impact of your code every time you load, clean, and transform data.

Data centric editor

2. Production ready code

No more writing throw away code or trying to turn notebooks into scripts.

Each block (aka cell) in this editor is a modular file that can be tested, reused, and chained together to create an executable data pipeline locally or in any environment.

Read more about blocks and how they work.

Production ready code

Run your data pipeline end-to-end using the command line function: $ mage run [project] [pipeline]

You can run your pipeline in production environments with the orchestration tools

3. Extensible

Easily add new functionality directly in the source code or through plug-ins (coming soon).

Adding new API endpoints (Tornado), transformations (Python, PySpark, SQL), and charts (using React) is easy to do (tutorial coming soon).

Extensible charts

New features and changelog

Check out what’s new here.

🙋‍♀️ Contributing

We welcome all contributions to Mage; from small UI enhancements to brand new cleaning actions. We love seeing community members level up and give people power-ups!

Check out the 🎁 contributing guide to get started by setting up your development environment and exploring the code base.

Got questions? Live chat with us in Slack Slack

Anything you contribute, the Mage team and community will maintain. We’re in it together!

🧙 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, please join the free Mage Slack Slack channel.

Join us on Slack

For real-time news and fun memes, check out the Mage Twitter Twitter.

To report bugs or add your awesome code for others to enjoy, visit GitHub.

🪪 License

See the LICENSE file for licensing information.


Wind mage casting spell

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

mage-ai-0.2.8.tar.gz (6.1 MB view details)

Uploaded Source

Built Distribution

mage_ai-0.2.8-py3-none-any.whl (6.2 MB view details)

Uploaded Python 3

File details

Details for the file mage-ai-0.2.8.tar.gz.

File metadata

  • Download URL: mage-ai-0.2.8.tar.gz
  • Upload date:
  • Size: 6.1 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.9.13

File hashes

Hashes for mage-ai-0.2.8.tar.gz
Algorithm Hash digest
SHA256 a79b1d76c41c14a407c2688385ef33a6eb7f3086c5056bced9af9df0e833cc11
MD5 1345ede101350b4f61d569fb6364548d
BLAKE2b-256 8e605383a7736949b131ba3bfa1c2bb5f306c8eccacce37d6b38b8e4d20142b5

See more details on using hashes here.

File details

Details for the file mage_ai-0.2.8-py3-none-any.whl.

File metadata

  • Download URL: mage_ai-0.2.8-py3-none-any.whl
  • Upload date:
  • Size: 6.2 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.9.13

File hashes

Hashes for mage_ai-0.2.8-py3-none-any.whl
Algorithm Hash digest
SHA256 4ff013b1370c8dbe89a0b813b74e71d5fffd5a8f610c151186935e06bc21e839
MD5 03a6213e93d6044915f69ed456488293
BLAKE2b-256 9280972239390706a2f5a681f8b539b08172fbac1184bd8ab9c767a483a4f99c

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page