Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/atlas-bi/Hub

🛠️ Atlas Hub | A reporting automation tool.
https://github.com/atlas-bi/Hub

automation-hub automation-tools flask flask-apscheduler job-runner sftp-servers task-scheduler task-scheduling

Last synced: 2 months ago
JSON representation

🛠️ Atlas Hub | A reporting automation tool.

Awesome Lists containing this project

README

        





atlas logo



Atlas Hub | A simple extract, batch job and script scheduler.


WebsiteDemoDocumentationChat


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


codacy badge

coverage badge


discord chat
latest release


demo

## :thinking: What Can It Do?

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 embedded or attached to email
- Parameterize sql on the project or task level
- 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

## :runner: Start It Up

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

```bash
pyenv local 3.9.0
poetry install
npm 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, use the npm script to start up the website

```bash
npm start
```

## :test_tube: Testing

Tests require a running `postgresql` and `redis` instances.

Start up a demo sql, sftp and ftp servers with docker:

```bash
docker run -e "ACCEPT_EULA=Y" -e "SA_PASSWORD=@Passw0rd>" -p 1433:1433 --name sql1 -h sql1 -d mcr.microsoft.com/mssql/server:2017-latest
docker run -p 23:22 -d emberstack/sftp --name sftp
docker run -d --name ftpd_server -p 21:21 -p 30000-30009:30000-30009 -e FTP_USER_NAME=demo -e FTP_USER_PASS=demo -e FTP_USER_HOME=/home/demo -e "PUBLICHOST=localhost" -e "ADDED_FLAGS=-d -d" stilliard/pure-ftpd
```

Final, simply run the tests with `tox`.

## :rocket: Install

Atlas Hub is built for linux and only takes [three commands](https://www.atlas.bi/docs/hub/install/) to install.

## :gift: Contributing

Contributions are welcome! Please open an [issue](https://github.com/atlas-bi/Hub/issues) describing an issue or feature.

This repository uses commitizen. Commit code changes for pr's with `npm run commit`.

## :trophy: Credits

Atlas was originally created by the Riverside Healthcare Analytics team. See the `credits `_ for more details.

## :wrench: Tools

Special thanks to a few other tools used here.

gitguardian renovate snyk quality gate sonar
semantic-release