{"id":13758846,"url":"https://github.com/atlas-bi/Hub","last_synced_at":"2025-05-10T08:30:56.737Z","repository":{"id":37565499,"uuid":"300734777","full_name":"atlas-bi/Hub","owner":"atlas-bi","description":"🛠️ Atlas Hub | A reporting automation tool.","archived":false,"fork":false,"pushed_at":"2025-05-03T17:45:25.000Z","size":43447,"stargazers_count":8,"open_issues_count":46,"forks_count":5,"subscribers_count":4,"default_branch":"main","last_synced_at":"2025-05-03T18:32:44.799Z","etag":null,"topics":["automation-hub","automation-tools","flask","flask-apscheduler","job-runner","sftp-servers","task-scheduler","task-scheduling"],"latest_commit_sha":null,"homepage":"https://atlas.bi","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/atlas-bi.png","metadata":{"files":{"readme":"readme.md","changelog":null,"contributing":null,"funding":null,"license":"License.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2020-10-02T20:58:58.000Z","updated_at":"2025-01-06T15:12:16.000Z","dependencies_parsed_at":"2023-09-24T09:04:35.922Z","dependency_job_id":"ff4ea0a9-a5db-4edd-bcdc-08ea67c8fd81","html_url":"https://github.com/atlas-bi/Hub","commit_stats":null,"previous_names":["atlas-bi/hub","atlas-bi/atlas-automation-hub"],"tags_count":97,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/atlas-bi%2FHub","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/atlas-bi%2FHub/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/atlas-bi%2FHub/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/atlas-bi%2FHub/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/atlas-bi","download_url":"https://codeload.github.com/atlas-bi/Hub/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253389585,"owners_count":21900778,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["automation-hub","automation-tools","flask","flask-apscheduler","job-runner","sftp-servers","task-scheduler","task-scheduling"],"created_at":"2024-08-03T13:00:38.285Z","updated_at":"2025-05-10T08:30:51.727Z","avatar_url":"https://github.com/atlas-bi.png","language":"JavaScript","funding_links":[],"categories":["Uncategorized"],"sub_categories":["Uncategorized"],"readme":"\n\n\u003ch1 align=\"center\"\u003e\n    \u003cbr\u003e\n    \u003ca href=\"https://www.atlas.bi\"\u003e\n        \u003cimg alt=\"atlas logo\" src=\"https://raw.githubusercontent.com/atlas-bi/Hub/master/share/logo.png\" width=520 /\u003e\n    \u003c/a\u003e\n    \u003cbr\u003e\n\u003c/h1\u003e\n\n\u003ch4 align=\"center\"\u003eAtlas Hub | A simple extract, batch job and script scheduler.\u003c/h4\u003e\n\n\u003cp align=\"center\"\u003e\n    \u003ca href=\"https://www.atlas.bi\" target=\"_blank\"\u003eWebsite\u003c/a\u003e • \u003ca href=\"https://atlas-hub.atlas.bi\" target=\"_blank\"\u003eDemo\u003c/a\u003e • \u003ca href=\"https://www.atlas.bi/docs/hub/\" target=\"_blank\"\u003eDocumentation\u003c/a\u003e • \u003ca href=\"https://discord.gg/hdz2cpygQD\" target=\"_blank\"\u003eChat\u003c/a\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\nAtlas Hub is a task scheduling tool for getting data from a source and depositing it in a destination - sql servers to SFTP servers.\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n    \u003ca href=\"https://www.codacy.com/gh/atlas-bi/Hub/dashboard?utm_source=github.com\u0026amp;utm_medium=referral\u0026amp;utm_content=atlas-bi/Hub\u0026amp;utm_campaign=Badge_Grade\" target=\"_blank\"\u003e\u003cimg alt=\"codacy badge\" src=\"https://app.codacy.com/project/badge/Grade/4fcece7632434b7a98902bc1c02fed80\" /\u003e\u003c/a\u003e\n\u003ca href=\"https://codecov.io/gh/atlas-bi/Hub\" target=\"_blank\"\u003e\n  \u003cimg alt=\"coverage badge\" src=\"https://codecov.io/gh/atlas-bi/Hub/branch/main/graph/badge.svg\"/\u003e\n\u003c/a\u003e\n\u003ca href=\"https://github.com/atlas-bi/Hub/actions/workflows/test.yml\" target=\"_blank\"\u003e\u003cimg src=\"https://github.com/atlas-bi/Hub/actions/workflows/test.yml/badge.svg\" /\u003e\u003c/a\u003e\n\u003ca href=\"https://discord.gg/hdz2cpygQD\"\u003e\u003cimg alt=\"discord chat\" src=\"https://badgen.net/discord/online-members/hdz2cpygQD/\" /\u003e\u003c/a\u003e\n\u003ca href=\"https://github.com/atlas-bi/Hub/releases\"\u003e\u003cimg alt=\"latest release\" src=\"https://badgen.net/github/release/atlas-bi/Hub\" /\u003e\u003c/a\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n    \u003cimg alt=\"demo\" src=\"https://www.atlas.bi/static/img/hub/dashboard.png\" width=520 /\u003e\n\u003c/p\u003e\n\n## :thinking: What Can It Do?\n\nTasks can run at any time and on any schedule.\n\nPossibilities are almost unlimited....\n\n- Run .bat files on windows servers over ssh\n- Read, modify and resend files over FPT or SFTP\n- ZIP and send data\n- Run raw python code to process data and send\n- Run code from FTP/SFTP/SAMB or web source\n- Send output data embedded or attached to email\n- Parameterize sql on the project or task level\n- Parameterize file names with date parameters\n- Export data as text, csv, excel, delimited, or as a blob\n- Encrypt data before sending\n- Pull and send data from FTP/SFTP/SAMB/SSH\n- Run SSH commands to monitor remote servers\n\n\n## :runner: Start It Up\n\nAtlas Hub can be run locally. We use pyenv and poetry to manage the project dependencies. Assuming you will too -\n\n```bash\npyenv local 3.9.0\npoetry install\nnpm install\n\n# have you already created a database \"atlas_hub_dev\" and updated the config files?\nFLASK_APP=web\nflask db init\nflask db migrate\nflask db upgrade\nflask cli seed\n# if you want some basic demo information added\nflask cli seed_demo\n```\n\nFinally, use the npm script to start up the website\n\n```bash\nnpm start\n```\n\n## :test_tube: Testing\n\nTests require a running `postgresql` and `redis` instances.\n\nStart up a demo sql, sftp and ftp servers with docker:\n\n```bash\ndocker run -e \"ACCEPT_EULA=Y\" -e \"SA_PASSWORD=@Passw0rd\u003e\" -p 1433:1433 --name sql1 -h sql1  -d mcr.microsoft.com/mssql/server:2017-latest\ndocker run -p 23:22 -d emberstack/sftp --name sftp\ndocker 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\n```\n\nFinal, simply run the tests with `tox`.\n\n## :rocket: Install\n\nAtlas Hub is built for linux and only takes [three commands](https://www.atlas.bi/docs/hub/install/) to install.\n\n## :gift: Contributing\n\nContributions are welcome! Please open an [issue](https://github.com/atlas-bi/Hub/issues) describing an issue or feature.\n\nThis repository uses commitizen. Commit code changes for pr's with `npm run commit`.\n\n\n## :trophy: Credits\n\nAtlas was originally created by the Riverside Healthcare Analytics team. See the `credits \u003chttps://www.atlas.bi/about/\u003e`_ for more details.\n\n## :wrench: Tools\n\nSpecial thanks to a few other tools used here.\n\n\u003cimg src=\"https://badgen.net/badge/icon/gitguardian?icon=gitguardian\u0026label\" alt=\"gitguardian\"\u003e \u003cimg src=\"https://img.shields.io/badge/renovate-configured-green?logo=renovatebot\" alt=\"renovate\"\u003e \u003ca href=\"https://snyk.io/test/github/atlas-bi/Hub\"\u003e\u003cimg src=\"https://snyk.io/test/github/atlas-bi/Hub/badge.svg\" alt=\"snyk\" /\u003e\u003c/a\u003e \u003ca href=\"https://sonarcloud.io/summary/new_code?id=atlas-bi_Hub\"\u003e\u003cimg src=\"https://sonarcloud.io/api/project_badges/measure?project=atlas-bi_Hub\u0026metric=alert_status\" alt=\"quality gate sonar\" /\u003e\u003c/a\u003e \u003ca href=\"http://commitizen.github.io/cz-cli/\"\u003e\u003ca src=\"https://img.shields.io/badge/commitizen-friendly-brightgreen.svg\" alt=\"commitizen\"\u003e\u003c/a\u003e\n\u003ca href=\"https://github.com/semantic-release/semantic-release\"\u003e\u003cimg src=\"https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\" alt=\"semantic-release\" /\u003e\u003c/a\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fatlas-bi%2FHub","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fatlas-bi%2FHub","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fatlas-bi%2FHub/lists"}