{"id":21396856,"url":"https://github.com/posixpascal/optimusbahn","last_synced_at":"2025-09-12T15:49:49.267Z","repository":{"id":142927071,"uuid":"98323156","full_name":"posixpascal/optimusbahn","owner":"posixpascal","description":"🚄 🤖  Get an insight on delayed trains and detect infrastructure problems","archived":false,"fork":false,"pushed_at":"2017-07-26T12:19:26.000Z","size":1552,"stargazers_count":4,"open_issues_count":0,"forks_count":1,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-09-12T14:13:37.693Z","etag":null,"topics":["deutschbahn","flask","hackathon","mysql","opendata","python"],"latest_commit_sha":null,"homepage":"","language":"CSS","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/posixpascal.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}},"created_at":"2017-07-25T15:42:16.000Z","updated_at":"2019-08-22T01:54:19.000Z","dependencies_parsed_at":null,"dependency_job_id":"b573e97a-d883-428b-90cd-a2d558ec5bdb","html_url":"https://github.com/posixpascal/optimusbahn","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/posixpascal/optimusbahn","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/posixpascal%2Foptimusbahn","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/posixpascal%2Foptimusbahn/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/posixpascal%2Foptimusbahn/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/posixpascal%2Foptimusbahn/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/posixpascal","download_url":"https://codeload.github.com/posixpascal/optimusbahn/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/posixpascal%2Foptimusbahn/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":274832051,"owners_count":25357980,"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","status":"online","status_checked_at":"2025-09-12T02:00:09.324Z","response_time":60,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["deutschbahn","flask","hackathon","mysql","opendata","python"],"created_at":"2024-11-22T14:29:43.526Z","updated_at":"2025-09-12T15:49:49.256Z","avatar_url":"https://github.com/posixpascal.png","language":"CSS","funding_links":[],"categories":[],"sub_categories":[],"readme":"# optimusbahn\n\n\u003cp align=\"center\"\u003e\n \u003cimg src=\"https://raw.githubusercontent.com/posixpascal/optimusbahn/master/optimus/api/static/optimus/images/optimus.png\"\u003e\n \n **OptimusBahn** is a script which visualizes train delays and other informations for easy infrastructure problem detection.\n\u003c/p\u003e\n\nThis is my submission for the **DB Open Data Contest** – unfortunately I only discovered this contest last friday therefore\nI couldn't add all the features I initially planned.  \n\n## Feature Overview\n\nOptimusBahn collects train delay information on a mySQL database and shows insights on how many trains are delayed (per day, per hour, per month).\n\nIt's capable of tracking multiple trains and train stations in near realtime thanks to threading support.\n\nIt automatically exports snapshots from the database into a graphs in the webfrontend.\n\nOptimus by default does not make any assumptions on why a certain train is delayed.\n\n\n## Installation\n\n**Note**: You need at least Python 3.6 for this project.\n\nClone the repository and install the dependencies using pip:\n\n```bash\npip install -r requirements.txt\n```\n\nThen edit your `config.cfg` file and add the required mySQL connection credentials:\n\n```ini\n[app]\nthreads = 1\n\n[mysql]\nhost = 127.0.0.1\nuser = root\npasswd = root\ndb = optimus\n```\n\nBe sure that the mySQL database is created beforehand.\n\nNow start optimus by running:\n```bash\npython optimusbahn.py\n```\n\n## Screenshots\n\nDue to limited timing I can't show you a live version of this script as of now.\nTherefore I'll add a few screenshots to satisfy the curiosity.\n\n \u003cimg src=\"https://raw.githubusercontent.com/posixpascal/optimusbahn/master/screenshots/dashboard.png\"\u003e\n \n \u003cimg src=\"https://raw.githubusercontent.com/posixpascal/optimusbahn/master/screenshots/trains.png\"\u003e\n \n \u003cimg src=\"https://raw.githubusercontent.com/posixpascal/optimusbahn/master/screenshots/stations.png\"\u003e\n \n \u003cimg src=\"https://raw.githubusercontent.com/posixpascal/optimusbahn/master/screenshots/settings.png\"\u003e\n \n\n## Gotchas\n\nDepending on how many threads you are using the database might crash if you're on MacOS and using MAMP because of default configuration\nlimitations.\n\nAdjust to meet the specifications of your current machine/server.\n\n## License\n```\nMIT License\n\nCopyright (c) 2017 Pascal Raszyk\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n```\n\n## Copyright\nSoftware:\nCopyright (C) 2017 - Pascal Raszyk \u003cposixpascal@googlemail.com\u003e\n \n\nDeutsche Bahn Logo (Part of Optimus Logo): \nCopyright (C) 2017 - Deutsche Bahn AG\n\nAdmin Theme:\nCopyright (C) 2017 - Creative Tim (MIT License)\n\nICE Teaser Image:\nTaken from [s2.germany.travel](http://s2.germany.travel/media/microsites_media/lgbt/07_how_to_get_there/db/header_01_db_SGG2013.jpg) - Probably (C) Deutsche Bahn AG\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fposixpascal%2Foptimusbahn","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fposixpascal%2Foptimusbahn","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fposixpascal%2Foptimusbahn/lists"}