Skip to main content

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:

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

tau_tools-1.1.8.tar.gz (16.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

tau_tools-1.1.8-py3-none-any.whl (19.5 kB view details)

Uploaded Python 3

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

Hashes for tau_tools-1.1.8.tar.gz
Algorithm Hash digest
SHA256 51b8128fca4a7236d9728120390d143fa8945d5995478d97a357c68721e137da
MD5 5bd02fd6de08eabf66ae1d1e76f3d22e
BLAKE2b-256 3736122b7d19e491b7ee2b4a793365041ac6326dd06e975e0f8883b008d925e8

See more details on using hashes here.

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

Hashes for tau_tools-1.1.8-py3-none-any.whl
Algorithm Hash digest
SHA256 b5daeb17bed2e1fe86d9bb3d4704837b743f235aea9e45bf06f0144cc855e351
MD5 b9b0d3da31441176a2b19be537a84cd0
BLAKE2b-256 25e67fa10d8d80f1ed0f196e2a3d446d85706f2671325488e3db624f6a139dfa

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page