Skip to content

Latest commit

 

History

History
105 lines (80 loc) · 2.78 KB

README.md

File metadata and controls

105 lines (80 loc) · 2.78 KB

BoostyPy

Boosty Wrapper

PyPI - Version PyPI - Python Version Hatch project


Описание на русском

Table of Contents

Installation

pip install boosty

License

boosty is distributed under the terms of the MIT license.

Important

!WARNING! this version of library is very unstable

If you use it, contact maintainer to help make it stable

Usage

Optional: specify IGNORE_MISSING_AND_EXTRA_FIELDS environment variable to disable strict schema validation

# or add these lines before first boosty import
import os

os.environ["IGNORE_MISSING_AND_EXTRA_FIELDS"] = "true"

Optional: fill auth.json file with authentication data (or use browser auth to create them):

{
  "access_token": "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff",
  "device_id": "ffffffff-ffff-ffff-ffff-ffffffffffff",
  "expires_at": 12345678900,
  "refresh_token": "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"
}

Example:

import asyncio

from boosty.api import API

async def main():
    api = API()
    response = await api.get_post("boosty", post_id="c9fb8a19-c45e-4602-9942-087c3af28c1b")
    print(response.title)
    # 'Добро пожаловать на борт!'

asyncio.run(main())

More examples in examples/ folder

TODO for stable release

  • inject additional data to models from requests
  • convert timestamps to datetime
    • serialize it to int when dumping
  • schema
    • complete api schema (at 100 stars)
      • add access levels logic for requests
    • more useful properties for models
    • merge reply comment with comment model
    • msgspec?
    • rename folder types/ to schema/
  • logic
    • get rid of strange pydantic model init depends on env
    • maybe better solution for auth data storage
  • docs/ (at 50 stars)
  • examples/
    • render text
    • get video url
    • get comment url
  • tests/
    • boosty profile
    • test posts under my account
    • comments
    • replies
    • video
    • entities parsing
  • create dev branch