Changelog
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog.
[1.1.0] — 2026-03-21
Added
DonationsAPI.get_donation_messages()— donation messages with sender, amount, email, and text from/dialog/APIDonationsAPI.iter_donation_messages()— async iterator over all donation messagesDonationsAPI.get_dialog_donations(dialog_id)— all donations from a single userDonationMessagemodel withamount,user,email,message,created_at,dialog_id
[1.0.1] — 2026-03-21
Fixed
DonationsAPI— replaced fake/donations/endpoint with real data sources (postdonators+ subscriberpayments)- Removed obsolete
Donationmodel - Fixed YAML
onparsed as boolean in mkdocs docs - Removed unused CLI module
[1.0.0] — 2026-03-21
Added
BoostyClient— main async facade with context managerSyncBoostyClient— synchronous wrapper for non-async code (scripts, Django, Jupyter)- Authentication:
AuthManagerwith auto-refresh (device_os=web),FileTokenStorage,MemoryTokenStorage,EnvTokenStorage - Configuration:
BoostySettingswith env vars, TOML, and programmatic overrides - HTTP transport: browser-like headers, retry with exponential backoff, token-bucket rate limiter, middleware pipeline
- Caching:
MemoryCachewith TTL,NullCache,CacheManagerwith JSON serialization, pluggableCacheBackendprotocol - API modules:
UsersAPI— current userBlogsAPI— blog info, blacklistPostsAPI— two-step draft→publish flow, list, get, update, deleteCommentsAPI— read, create, delete, reply (withint_idfor threading)SubscriptionsAPI— levels CRUD, subscriber list with email and payments (Subscribermodel), verificationDonationsAPI— donation data from posts (donators) and subscriber paymentsTargetsAPI— money and subscriber goals (create, read, delete)ShowcaseAPI— showcase itemsMediaAPI— file, image, video, audio uploadsBundlesAPI— bundle managementPostBuilder— fluent API for post creation with access controlSubscribermodel — typed model withemail,payments,status,on_time,off_time,is_active,is_paid- Event system:
EventPollerwith real detectors (new subscribers, cancellations, new comments),EventDispatcherwith@client.on()decorator - Models:
User,Blog,Post,PostTag,Comment,SubscriptionLevel,SubscriptionStatus,Subscriber,MediaFile,Target,PaginatedResponse[T] - Exception hierarchy:
BoostyAuthError,BoostyForbiddenError,BoostyNotFoundError,BoostyRateLimitError,BoostyServerError,BoostyNetworkError - Pagination: manual and async iterator support
- PEP 561
py.typedmarker - 90 tests (unit + integration + E2E against real Boosty API)
- Full documentation (MkDocs Material) with 23+ pages