Skip to content
/ Hub Public

πŸ› οΈ Atlas Hub | A reporting automation tool.

License

Notifications You must be signed in to change notification settings

atlas-bi/Hub

Folders and files

NameName
Last commit message
Last commit date

Latest commit

443a135 Β· Jan 6, 2025
Sep 10, 2023
Sep 18, 2023
Jan 6, 2025
Sep 18, 2023
Sep 18, 2023
Apr 13, 2022
Sep 19, 2023
Feb 15, 2022
Nov 5, 2021
Aug 26, 2022
Feb 15, 2022
Feb 14, 2022
Feb 15, 2022
Sep 18, 2023
Sep 19, 2023
Sep 18, 2023
Feb 14, 2022
May 12, 2022
Sep 20, 2023
Jun 9, 2023
Nov 5, 2021
Apr 7, 2023
Sep 18, 2023
Jun 13, 2023
Jun 27, 2023
Sep 18, 2023
Sep 20, 2023
Sep 19, 2023
Feb 28, 2023
Sep 20, 2023
May 22, 2023
May 23, 2023
Apr 7, 2023
Apr 13, 2022
Jun 27, 2023

Repository files navigation

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

Website β€’ Demo β€’ Documentation β€’ Chat

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

πŸ€” 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

πŸƒ Start It Up

Atlas 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
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

npm start

πŸ§ͺ Testing

Tests require a running postgresql and redis instances.

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

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.

πŸš€ Install

Atlas Hub is built for linux and only takes three commands to install.

🎁 Contributing

Contributions are welcome! Please open an issue describing an issue or feature.

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

πŸ† Credits

Atlas was originally created by the Riverside Healthcare Analytics team. See the credits <https://www.atlas.bi/about/>_ for more details.

πŸ”§ Tools

Special thanks to a few other tools used here.

gitguardian renovate snyk quality gate sonar semantic-release