/atlas-automation-hub

Atlas Automation Hub is a task scheduling tool intended to be used with getting data from a source and depositing it in a destination, primarily sql queries to SFTP servers.

Primary LanguagePythonGNU General Public License v3.0GPL-3.0

python-version travis codecov codacy CodeQL Maintainability github

Atlas Automation Hub

Demo Image

Atlas Automation Hub is a task scheduling tool for getting data from a source and depositing it in a destination - sql servers to SFTP servers.

Tasks can run at any time and on any schedule.

Possibilities are almost unlimited....

  • Run .bat files on windows servers over ssh
  • Read, modify and resend files over FPT or SFTP
  • ZIP and send data
  • Run raw python code to process data and send
  • Run code from FTP/SFTP/SAMB or web source
  • Send output data embeded or attached to email
  • Parameterize sql on the project or task leve
  • Parameterize file names with date parameters
  • Export data as text, csv, excel, delimited, or as a blob
  • Encrypt data before sending
  • Pull and send data from FTP/SFTP/SAMB/SSH
  • Run SSH commands to monitor remote servers

Documentation

Read the documentation.

Demo

Try out the demo!

Run with Docker

Or, you can run your own docker image:

docker run -i -t -p 5003:5003 -e PORT=5003 -u 0 christopherpickering/extract_management:latest
# access on http://localhost:5003

Run from Source

Atlas Automation Hub can be run locally. We use pyenv and poetry to manage the project dependencies. Assuming you will too -

pyenv local 3.9.0
poetry install

# have you already created a database "atlas_hub_dev" and updated the config files?
FLASK_APP=web
flask db init
flask db migrate
flask db upgrade
flask cli seed
# if you want some basic demo information added
flask cli seed_demo

Finally, to run the three site, you will need to run each command in a separate termimal session:

FLASK_ENV=development && FLASK_DEBUG=1 && FLASK_APP=web && flask run
FLASK_ENV=development && FLASK_DEBUG=1 && FLASK_APP=scheduler && flask run --port=5001
FLASK_ENV=development && FLASK_DEBUG=1 && FLASK_APP=runner && flask run --port=5002

Credits

Atlas was created by the Riverside Healthcare Analytics team -