Skip to content

SDK v0.2: public API, async client and CI - #1

Open
localzet wants to merge 17 commits into
mainfrom
sdk-v0.2-public
Open

localzet wants to merge 17 commits into
mainfrom
sdk-v0.2-public

Conversation

@localzet

Copy link
Copy Markdown
Member

Что меняется

  • оформляет проект как публичный community SDK для студенческих приложений;
  • добавляет авторизацию готовым Bearer-токеном и нормализацию Bearer ...;
  • добавляет AsyncDonstuClient для FastAPI/aiogram/asyncio;
  • добавляет high-level API расписания с Python-friendly аргументами;
  • расширяет user/schedule/mail методы;
  • разделяет ошибки сети, HTTP, 401/403, API envelope и protocol errors;
  • исправляет multipart: SDK больше не навязывает Content-Type: application/json всем запросам;
  • добавляет request_raw() для файлов и нестандартных ответов;
  • добавляет py.typed, metadata для PyPI, CONTRIBUTING и примеры;
  • добавляет CI для Python 3.10–3.13, pytest, ruff и package build;
  • удаляет внутренний route catalog и bundled route metadata из публичного пакета;
  • полностью убирает из публичной документации служебные формулировки о происхождении API-контрактов.

Проверка

Локально на подготовленной версии: 10 passed, compileall без ошибок. Production API в тестах не вызывается — используется httpx.MockTransport.

Совместимость

DonstuClient, auth, users, schedule.rasp() и mail сохранены. Новый рекомендуемый интерфейс расписания — schedule.get(...) с snake_case аргументами.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant