Skip to main content

Unofficial API interface to the smartschool system.

Project description

Smartschool Parser

codecov

Unofficial Python library providing programmatic access to Smartschool's web platform. Access courses, documents, messages, results, agenda, and more through a clean, type-safe API.

Quick Start

Install from PyPI:

pip install smartschool

Create credentials.yml with your Smartschool credentials:

username: your_username
password: your_password
main_url: your_school.smartschool.be
mfa: your_birthday_or_2fa_secret  # YYYY-mm-dd or Google Authenticator secret
from smartschool import Smartschool, PathCredentials, Courses

session = Smartschool(PathCredentials())
for course in Courses(session):
    print(course.name)

Features

Category Classes Description
Courses TopNavCourses, Courses, CourseList Browse courses and download documents
Intradesk Intradesk Browse and download files from the intradesk
Results Results, Reports, Periods Grades, evaluations, report cards
Messages MessageHeaders, Message, Attachments Inbox/outbox, attachments, labels
Schedule SmartschoolLessons, SmartschoolHours Daily schedules, class periods
Planner PlannedElements, FutureTasks Assignments, deadlines, activities
Support StudentSupportLinks School support resources

Documentation

Detailed usage guides with examples:

Development

git clone https://github.com/svaningelgem/smartschool.git
cd smartschool
pip install poetry
poetry install

# Run tests
poetry run pytest

# Linting & formatting
poetry run ruff check .
poetry run ruff format .

Requirements

  • Python: 3.10+
  • Core Dependencies: requests, beautifulsoup4, pydantic, pyyaml, logprise
  • Optional: pip install smartschool[mfa] for Google Authenticator 2FA support

License

GNU General Public License v3.0

Contributing

Contributions welcome! Please ensure:

  • Tests pass: poetry run pytest
  • Code is formatted: poetry run ruff format .
  • Linting passes: poetry run ruff check .
  • Type stubs are updated: ./restub

Support

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

smartschool-0.8.1.tar.gz (46.0 kB view details)

Uploaded Source

Built Distribution

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

smartschool-0.8.1-py3-none-any.whl (56.9 kB view details)

Uploaded Python 3

File details

Details for the file smartschool-0.8.1.tar.gz.

File metadata

  • Download URL: smartschool-0.8.1.tar.gz
  • Upload date:
  • Size: 46.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for smartschool-0.8.1.tar.gz
Algorithm Hash digest
SHA256 93b7048e889080eb87409088fdd0ae31b985a63d5d33acb3943759a746645be5
MD5 db2849cf8ae5a82802796fda83a3a6b4
BLAKE2b-256 e2b2d922e703ed6502aca97b46e0c3366dbb6514eda30e203c1789a49ee7e2f7

See more details on using hashes here.

Provenance

The following attestation bundles were made for smartschool-0.8.1.tar.gz:

Publisher: release.yml on svaningelgem/smartschool

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file smartschool-0.8.1-py3-none-any.whl.

File metadata

  • Download URL: smartschool-0.8.1-py3-none-any.whl
  • Upload date:
  • Size: 56.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for smartschool-0.8.1-py3-none-any.whl
Algorithm Hash digest
SHA256 066ad88ab4744e69e59500229fd0ff01b27f18187dbfc92842a63955c4a6a957
MD5 aeb9a5fdb3a6ee3a539ba817af533e45
BLAKE2b-256 77dc99e35885c3a067cecd6a43fab6cc7f54761ab6c2200f994f7301fa166cb9

See more details on using hashes here.

Provenance

The following attestation bundles were made for smartschool-0.8.1-py3-none-any.whl:

Publisher: release.yml on svaningelgem/smartschool

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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