A python library to retrieve information about the various plans and courses at Tel Aviv University, and interact with the various servers.
๐ ๏ธ Installation ย ยทย ๐ก Features ย ยทย ๐ Roadmap
You can get the latest version of TAU Tools by running pip install tau-tools!
Here's an example of using the TAU Tools moodle package:
from tau_tools.moodle import Moodle
m = Moodle("username", "123456789", "password", "session.json")
courses = m.get_courses()
print(courses)
print(m.get_recordings(courses[0]))Full documentation will be available soon!
Here's an example of using the TAU Tools ims package:
from tau_tools.ims import IMS
ims = IMS("username", "123456789", "password")
grades = ims.get_all_grades([2023, 2024])
print(grades)You can get information about exams happening today by running python3 -m tau_tools.lobby_dashboard.
Example:
[
ExamInfo(
course_id='03682162',
course_name='ืืขืจืืืช ืืคืขืื',
group='08',
semester=2,
start_hour='09:00',
end_hour='12:00',
building="ืืืืืืืจ' ืื",
room='009',
surname_letters='ื - ื'
),
...
]You can get mostly up to date data from the following URLs:
- https://arazim-project.com/data/courses-2025a.json
- https://arazim-project.com/data/courses-2025b.json
- https://arazim-project.com/data/plans-2025.json
You can also get rolled-up information about all of the courses in https://arazim-project.com/data/courses.json, using the collect script.
You can get all details about a specific year's courses by running python3 -m tau_tools.courses or python3 -m tau_tools.courses 2025!
Example:
{
"03005031": {
"name": "ืืืื ืืืืืืืืื ืืืืืืื",
"faculty": "ืืืขืื ืืืืืงืื/ืคืงืืืื ืืืืขืื ืืืืืงืื",
"exams": [
{
"moed": "ื",
"date": "08/02/2024",
"hour": "",
"type": "ืืืื ื ืกืืคืืช"
},
...
],
"groups": [
{
"group": "01",
"lecturer": "ื\"ืจย ืืืืย ืืืืืจ",
"lessons": [
{
"day": "ื",
"time": "09:00-10:00",
"building": "ืงืคืืื",
"room": "118",
"type": "ืฉืืขืืจ"
},
...
]
},
...
]
},
...
}You can get all details about the current (and past) study plans in Tel Aviv University by running python3 -m tau_tools.plans or python3 -m tau_tools.plans 2025!
Example:
{
"ืืคืงืืืื ืืืืขื ืืืืจื ืข\"ืฉ ืืจืฉืื ืืืจืืื": {
"ืชืืื ืืช ืืชืืืจ ืฉื ื ืืชืงืฉืืจืช ืืืกืืื ืืืงืจื": {
"ืงืืจืกื ืชืืืจ ืฉื ื - ืงืืจืกื ืืืื": ["10854101", "10854102"],
"ืงืืจืกื ืชืืืจ ืฉื ื - ืงืืจืกื ืืชืืืืืืืื": ["10854203", "10464101"],
...
},
...
},
...
}You can get links to all of the exams hosted on Moodle (copying the exams themselves is prohibited) by running python3 -m tau_tools.moodle_exams!
Example:
{
{
"results": [
[
"0321-1100-ืืืืืจื ืืื ืืจืืช ืืคืื-ืืืขื ื.pdf",
"https://moodle.tau.ac.il/pluginfile.php/421164/mod_folder/content/0/0321-1100-%D7%90%D7%9C%D7%92%D7%91%D7%A8%D7%94%20%D7%9C%D7%99%D7%A0%D7%90%D7%A8%D7%99%D7%AA%20%D7%9C%D7%A4%D7%99%D7%96-%D7%9E%D7%95%D7%A2%D7%93%20%D7%90.pdf"
],
...
],
"year": 2024
},
...
}Running python3 -m tau_tools.collect will go over all courses and moodle exams JSONs in the current directory and place the moodle exam data into the courses jsons. It also creates a summary courses.json which contains rolled-up information from all of the courses jsons.
An optional corrections.json file is available to account for errors in the moodle exam bank.
The current corrections are:
{
"03514321": "03514312",
"03662016": "03662106",
"03211110": "03211100",
"032121012": "03213101",
"03683035": "03683058",
"03664841": "03724841",
"03724453": "03724553",
"03513118": "03653118",
"03664041": "03684041",
"03651105": "03681105",
"03684229": "03684429",
"03214308": "03213804",
"03664117": "03214117",
"03664127": "03214127"
}- Get courses
- Get plans
- Create a nicer interface to the IMS
- Create a nicer interface to the Moodle
- Make the scripts accept command-line parameters
- Add the package to PyPI for a simpler installation
- Show progress bars during scraping
This repository contains modified versions of the following tools: