A bunch of useful information I've collected while studying at the Technical University of Munich. This includes TUM course statistics or TUM exam statistics, schools, departments and more!
The contributors imagined/came up with all of the course information in this repo randomly, including the grades. All matches with real courses and grades are purely coincidental.
The offered courses database is maintained in this repository by Vuenc. Please direct your contributions there. Once they are accepted, notify me about the update.
For developers: to update the website with new courses, edit and run python scripts/course_offered_parse.py
from root folder.
It has the same dependencies as building the app above.
You can help expand this website with new information by adding your own course exam statistics!
In short, create a new issue based on this template by going here and replace the values with your own data. The description is copy-pasted onto the page directly and follows the markdown format (but you can use plain text too). After some time, the statistics you have submitted will appear on the website. For now there's a manual review step done by me, so don't worry too much about breaking the website. When I see that everything is ok, I put a label on the issue and GitHub Actions take care of the rest by adding a new page to the website and building it.
If you're looking for a simple way to send me your grades, you can contribute using the executable file (Windows, Linux, MacOS). You'll find a video guide here. Now you can generate a file with all your grades and send it over Telegram or any other of the communication channels listed in the app!
For Linux users: the app may not be executable initially when you download it. You can fix it by running chmod +x <file_path>
. Alternatively, you can create this script install_grades.sh
:
bash
#!/usr/bin/bash
version="1.0.1"
wget "https://github.com/mcmikecreations/tum_info/releases/download/$version/Grades"
chmod +x ./Grades
And then run it using bash install_grades.sh
.
For developers: to build the app, you need to:
python>=3.7
BeautifulSoup4 requests PySide6 pyinstaller
through pip
.python scripts/course_glob_ui.py
from root folder.pyinstaller scripts/course_glob_ui.spec
, the results will be placed in the dist
folder.brew install create-dmg
. Then run ./scripts/course_glob_ui_build.sh
from root folder.A handy script was created to extract all grade reports for a TUMOnline student account. To run the script:
pip install requests
.python scripts/course_glob.py name=ab12cde@mytum.de pass=42424242
.An official unofficial TUM info API is offered with all of the tabular data from the website.
There also are issue templates for such cases back on GitHub. If something is wrong or you want something to get better, here's what to do:
Building instructions for the grade download app are listed above. To build the website, you need to install jekyll
by following the instructions from the official website.
Afterwards, in the root folder run the following commands:
bundle install
to install required packagesbundle exec jekyll build
to build the website to the _site
folderbundle exec jekyll serve
to run the website locallyScripts in the scripts
folder:
course-create.js
is meant for the GitHub Action to create a course file from a GitHub issue.course_functions.py
is a library used by other scripts for TUMOnline-related requests.course_glob.py
is a command-line utility script to download all grades from a particular student by username and password.course_glob_ui.py
is the main file of the GUI app to download all grades.course_glob_resources.py
is the resource file containing icons for the GUI app.course_glob_import.py
is an import command-line utility script to add grades of other students when they send them via JSON.course_glob_resources.qrc
is a QT resource description file for the GUI icons.course_glob_ui.spec
is a PyInstaller spec file to build single-file executables for the GUI app.course_glob_ui_build.sh
is a MacOS script to generate an installer package for the GUI app.course_html_parse.py
is a deprecated command-line utility script to download grades from an outdated website.course_offered_parse.py
is a command-line utility script to download offered courses from a vendor repository.