Skip to content

Releases: schizza/async-bakalari-api3

v0.10.0

05 Dec 13:42
9bb2311

Choose a tag to compare

✨ Nové funkce

  • Add support for fetching noticeboard messages in Komens. (#169) @schizza
    Closing #132

📦 Technické

  • Verze: v0.10.0
  • Předchozí tag: v0.9.0
  • Autoři: @schizza

0.9.0

28 Nov 13:33
c83a9e2

Choose a tag to compare

0.9.0

✨ Nové funkce

  • Feature/sign marks (#160) @schizza

    • Přidána funkce k podepisování známek
    • async_sign_marks
  • Add marks command with listing, saving, and summary features (#157) @schizza

    • do CLI přiána funkce známek s výpisem, ukládáním a zobrazením přehledu
  • Demo app now support custom reqequest (#158) @schizza

    • do CLI přidána možnost odeslání vlastního requestu na server

🐛 Opravy chyb


📦 Technické

  • Verze: v0.9.0
  • Předchozí tag: 0.8.1
  • Autoři: @schizza

Release 0.8.1

27 Nov 09:17
e26113b

Choose a tag to compare

✨ Nové funkce

  • Add confirmed field to marks and support unconfirmed marks (#154) @schizza

    • Přidán atribut confirmed pro známky
    • umožňuje sledovat stav potvrztení známky na serveru
    • přidána funkce get_unconfirmed_marks() -> list[SubjectBase], která vrací pouze nepotvrzené známky.
  • Add mark message as read and get_single_message (#147) @schizza

    • Přidána funkce message_mark_read(message_id: str), která označí zprávu za přečtenou
    • Přidána funkce message_get_single_message(message_id: str), která vratí aktualizovanou zprávu s message_id

🧹 Refaktoring / Údržba

  • bump version to 0.8.1

📦 Technické

  • Verze: v0.8.0
  • Předchozí tag: 0.7.0
  • Autoři: @schizza

v0.8.0

27 Nov 09:08
3610cf8

Choose a tag to compare

✨ Nové funkce

  • Add confirmed field to marks and support unconfirmed marks (#154) @schizza

    • Přidán atribut confirmed pro známky

    • umožňuje sledovat stav potvrztení známky na serveru

    • přidána funkce get_unconfirmed_marks() -> list[SubjectBase], která vrací pouze nepotvrzené známky.

    • Add mark message as read and get_single_message (#147) @schizza

    • Přidána funkce message_mark_read(message_id: str), která označí zprávu za přečtenou

    • Přidána funkce message_get_single_message(message_id: str), která vratí aktualizovanou zprávu s message_id

📦 Technické

  • Verze: v0.8.0
  • Předchozí tag: 0.7.0
  • Autoři: @schizza

0.7.0

15 Nov 11:45
820915a

Choose a tag to compare

0.7.0

✨ Nové funkce

  • Adds marks summary function (#141) @schizza

    Přidána funkce get_all_marks_summary, která vrací sumarizovaný přehled o známkách a předmětech.
    Vrací průměr počítaný z průměru předmětů, vážený průměr počítaný ze všech znmek, počet předmětů, počet celkových známek, počet numerických známek a počet bodovaných známek

🐛 Opravy chyb

  • Limits the number of authentication retries (#143) @schizza
    Přidává limit pro opakování při chybné authentizaci.
    Zabraňuje nekonečné smyčce při chybném tokenu.

🧹 Refaktoring / Údržba

  • Add asynchronous context manager and close method (#133) @schizza

    Zavádí asynchronní kontextový manažer pro správu životního cyklu klientské session, který zajišťuje správné uvolňování prostředků, a přidává explicitní metodu pro ukončení.

  • Refakorizace logování tak, aby využívalo modul logging ze standardní knihovny místo vlastní implementace.

  • Make school list save/load async (#144) @schizza
    Oprava ukládání a načítání seznamu škol ze souboru, tak aby využívala asynchronní metody.
    Fixes #116

  • Přidány testy k novým modalitám, oprava testů u refaktorovaných modalit.


📦 Technické

  • Verze: v0.7.0
  • Předchozí tag: 0.6.0
  • Autoři: @schizza

Release 0.6.0

03 Nov 18:06
37b3f2c

Choose a tag to compare

Adds

  • Adds marks helpers for data manipulation, including flat mark representation and snapshot creation, grouping.
  • Implements session handling and refresh token logic to ensure thread safety.

This change introduces:

  • FlatMark dataclass for a simplified mark representation.
  • Functions to convert between MarksBase and FlatMark.
  • Methods for iterating over grouped marks.
  • A get_snapshot method to create a structured snapshot of marks data.

Refactor

  • Refactors and improves API client (#129)

  • Upgrades Python version to 3.13 in CI and pyproject.toml

  • Applies minor formatting changes

  • Implements more robust error handling and data validation.

Tests

  • Adds tests to cover various error branches and edge cases in Bakalari and Komens modules, increasing overall test coverage and robustness.

Release 0.5.0

26 Oct 12:42
73687d1

Choose a tag to compare

What's Changed

  • Feature: Rozvrh by @schizza in #127
    • Implements timetable retrieval and parsing functionality.
    • the ability to fetch and parse timetable data from the Bakalari API, including actual and permanent timetables. It also defines data structures for representing timetable entities like lessons, changes, and other related information.

Full Changelog: 0.4.0...0.5.0

0.4.0

21 Oct 15:29
765667c

Choose a tag to compare

What's Changed

  • Fixes Bakalari credentials sharing issue
    Ensures each Bakalari instance has its own Credentials object, resolving an issue where multiple instances shared the same credentials.

  • Refactors the Bakalari class to ensure thread safety and prevent credential leaks by:

  • Making the Credentials object immutable and read-only to prevent modification after creation.
  • Introducing a lock to handle concurrent refresh token requests, preventing race conditions.
  • Ensuring each Bakalari instance has its own dedicated credentials and session, preventing credential sharing between instances.
  • Using a context manager to properly manage the aiohttp session.

These changes address potential issues with concurrent access and credential management, improving the overall stability and security of the library.

Full Changelog: 0.3.8...0.4.0

0.3.8

08 Oct 09:31
f7a901b

Choose a tag to compare

What's Changed

  • Fixes Bakalari credentials sharing issue by @schizza in #122

Full Changelog: 0.3.7...0.3.8

0.3.7

20 Sep 23:36
ce5c2d0

Choose a tag to compare

This pull request introduces several important changes to improve consistency, update dependencies, and expand functionality. The package directory has been renamed for clarity, requirements have been streamlined, and the build configuration has been updated to reflect these changes. Additionally, the project now includes new features for fetching grades, and all references and imports have been updated to use the new package structure.

Package and Build System Updates:

Renamed the main package directory from src/bakalari_api to src/async_bakalari_api for naming consistency, and updated all imports, test references, and script entry points accordingly.
Updated pyproject.toml to set the package version to 0.3.7, require setuptools >= 77.0, specify the new package directory, and adjust license and coverage settings.
Dependency Management:

Reduced requirements to the minimum necessary, and updated development dependencies to older, more stable versions for compatibility.
Functionality Enhancements:

Added new features for fetching grades, including retrieving all grades and searching by ID, date, or subject.
Exposed the new Marks class in the package's main interface.
Documentation and Changelog:

Code Quality and Testing:

Updated all test files to use the new package path, improved formatting, and ensured compatibility with the refactored codebase.