Note
Please note that this library is not an official API provided by Esprit and is intended for educational and personal use only.
- Fast & Lightweight: 5-10x faster than previous versions (no Selenium/browser required)
- Get your exact timetable pdf not 300 pages pdf
- Grades:
- Regular session grades (released one by one during semester)
- Principal session final results (end of year verdict)
- Rattrapage (retake) session grades
- Rattrapage session final results
- Calculate your total semester average
- Get your absences
- Get your credits
- Get your language proficiency levels (French & English)
- Get your ranking across past academic years
- New: Logout functionality for proper session management
pip install --upgrade esprit-pyfrom esprit import Esprit
# Replace with your actual ID and password
id = 'ID'
password = 'PASSWORD'
grades = None
# Keep trying to get grades until it is successful cuz esprit use garabage servers
while grades is None:
try:
# Create an Esprit object
esprit = Esprit()
# Attempt to log in
esprit.login(id, password)
# Get regular grades (released one by one during semester)
grades = esprit.get_regular_grades()
except Exception as e:
print(f"An error occurred: {e}. Retrying...")
if grades is not None:
for grade in grades:
print(grade)
# Calculate average
esprit.calculate_average(grades)
else:
print("Failed to get grades.")
# Logout when done
esprit.logout()from esprit import Esprit
esprit = Esprit()
id = 'ID'
password = 'PASSWORD'
if esprit.login(id, password):
# Regular session grades (released during semester)
regular_grades = esprit.get_regular_grades()
if regular_grades:
print("Regular Grades:", regular_grades)
# Principal session final result (end of year)
principal_result = esprit.get_principal_result()
if principal_result:
print("Principal Result:", principal_result)
# Rattrapage session grades (retakes)
rattrapage_grades = esprit.get_rattrapage_grades()
if rattrapage_grades:
print("Rattrapage Grades:", rattrapage_grades)
# Rattrapage session final result
rattrapage_result = esprit.get_rattrapage_result()
if rattrapage_result:
print("Rattrapage Result:", rattrapage_result)
# Language proficiency levels
language_levels = esprit.get_language_levels()
if language_levels:
print("Language Levels:", language_levels)
# Academic ranking across years
ranking = esprit.get_ranking()
if ranking:
print("Ranking:", ranking)
esprit.logout()from esprit import Esprit
# Create an Esprit object
esprit = Esprit()
# Replace with your actual ID and password
id = 'ID'
password = 'PASSWORD'
# Attempt to log in
if esprit.login(id, password):
print("Login successful.")
else:
print("Login failed.")
# Get absences
absences = esprit.get_absences()
if absences is not None:
for absence in absences:
print(absence)
else:
print("Failed to get absences.")
# Logout when done
esprit.logout()More examples can be found in the examples folder