Releases: schizza/async-bakalari-api3
v0.10.0
0.9.0
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
✨ Nové funkce
-
Add confirmed field to marks and support unconfirmed marks (#154) @schizza
- Přidán atribut
confirmedpro 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.
- Přidán atribut
-
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 smessage_id
- Přidána funkce
🧹 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
✨ Nové funkce
-
Add confirmed field to marks and support unconfirmed marks (#154) @schizza
-
Přidán atribut
confirmedpro 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 smessage_id
-
📦 Technické
- Verze:
v0.8.0 - Předchozí tag:
0.7.0 - Autoři: @schizza
0.7.0
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ěrpočítaný z průměru předmětů,vážený průměrpočítaný ze všech znmek,počet předmětů,počet celkových známek,počet numerických známekapoč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
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
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
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
0.3.7
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.