Tools for accessing and using Tel Aviv University websites
Project description
๐ TAU Tools
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
Installation
You can get the latest version of TAU Tools by running pip install tau-tools!
Features
Moodle API
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!
IMS API
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)
Scrapers
You can get mostly up to date data from the following URLs:
- https://arazim-project.com/courses/courses-2025a.json
- https://arazim-project.com/courses/courses-2025b.json
- https://arazim-project.com/courses/plans.json
You can also get rolled-up information about all of the courses in https://arazim-project.com/courses/courses.json, using the collect script.
Get course details
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": "ืฉืืขืืจ"
},
...
]
},
...
]
},
...
}
Get the available plans
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"],
...
},
...
},
...
}
Get the Moodle exam bank
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
},
...
}
Collect the data together
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"
}
Roadmap
- 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
Acknowledgements
This repository contains modified versions of the following tools:
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file tau_tools-1.1.8.tar.gz.
File metadata
- Download URL: tau_tools-1.1.8.tar.gz
- Upload date:
- Size: 16.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
51b8128fca4a7236d9728120390d143fa8945d5995478d97a357c68721e137da
|
|
| MD5 |
5bd02fd6de08eabf66ae1d1e76f3d22e
|
|
| BLAKE2b-256 |
3736122b7d19e491b7ee2b4a793365041ac6326dd06e975e0f8883b008d925e8
|
File details
Details for the file tau_tools-1.1.8-py3-none-any.whl.
File metadata
- Download URL: tau_tools-1.1.8-py3-none-any.whl
- Upload date:
- Size: 19.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b5daeb17bed2e1fe86d9bb3d4704837b743f235aea9e45bf06f0144cc855e351
|
|
| MD5 |
b9b0d3da31441176a2b19be537a84cd0
|
|
| BLAKE2b-256 |
25e67fa10d8d80f1ed0f196e2a3d446d85706f2671325488e3db624f6a139dfa
|