Setup

This page will guide you though downloading and installing ATM.

0. Requirements

Currently, ATM is only compatible with Python 2.7, 3.5 and 3.6 and *NIX systems.

We also recommend using virtualenv, which you can install as follows.:

$ sudo apt-get install python-pip
$ sudo pip install virtualenv

For development, also git is required in order to download and update the software.

1. Install ATM

Install using pip

The recommended way to install ATM is using pip inside a dedicated virtualenv:

$ virtualenv atm-env
$ . atm-env/bin/activate
(atm-env) $ pip install atm

Install from source

Alternatively, and for development, you can clone the repository and install it from source by running make install:

$ git clone https://github.com/hdi-project/atm.git
$ cd atm
$ virtualenv atm-env
$ . atm-env/bin/activate
(atm-env) $ make install

For development, replace the last command with make install-develop command in order to also install all the required dependencies for testing and linting.

Note

You will need to execute the command . atm-env/bin/activate to activate the virtualenv again every time you want to start working on ATM. You will know that your virtualenv has been activated if you can see the (atm-env) prefix on your prompt. If you do not, activate it again!

2. Install a database

ATM requires a SQL-like database to store information about datasets, dataruns, and classifiers. It’s currently compatible with the SQLite3 and MySQL dialects. For first-time and casual users, we recommend installing SQLite:

$ sudo apt-get install sqlite3

If you’re planning on running large, distributed, or performance-intensive jobs, you might prefer using MySQL. Run:

$ sudo apt-get install mysql-server mysql-client

and following the instructions.

No matter which you choose, you’ll need to install the mysql client developer library in order for SQLAlchemy to work correctly:

$ sudo apt-get install libmysqlclient-dev

3. Start using ATM!

You’re all set. Head over to the quick-start section to create and execute your first job with ATM.