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.2.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.2-py3-none-any.whl (56.9 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: smartschool-0.8.2.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.2.tar.gz
Algorithm Hash digest
SHA256 7dc98f2a0c55c1dade28de27f90f06d7f037ff4db66364cd9119454e58464f17
MD5 08eaf2e2f7931adbe0d20c69fb702342
BLAKE2b-256 76ac921bbeb8c4a9a799c1abbe43b44b63fb5db677c0b21c89de75850777d919

See more details on using hashes here.

Provenance

The following attestation bundles were made for smartschool-0.8.2.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.2-py3-none-any.whl.

File metadata

  • Download URL: smartschool-0.8.2-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.2-py3-none-any.whl
Algorithm Hash digest
SHA256 92488b32943bb4cc3fc1a625ada1f11a3077b25c77f0ad84d063c074ba1430b2
MD5 5b2b99ac27745e91375ed1433d83f70d
BLAKE2b-256 f14fb0051eb6b2cddadab37ce4d77891653862d77b10d1446240146acb6cdb6d

See more details on using hashes here.

Provenance

The following attestation bundles were made for smartschool-0.8.2-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