Metadata-Version: 2.1
Name: boosty
Version: 0.0.21
Summary: Asynchronous boosty wrapper with some utils
Project-URL: Documentation, https://github.com/barsikus007/boosty#readme
Project-URL: Issues, https://github.com/barsikus007/boosty/issues
Project-URL: Source, https://github.com/barsikus007/boosty
Author: barsikus007
License-Expression: MIT
License-File: LICENSE
Keywords: asyncio,boosty,wrapper
Classifier: Development Status :: 4 - Beta
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: Implementation :: CPython
Classifier: Programming Language :: Python :: Implementation :: PyPy
Requires-Python: >=3.10
Requires-Dist: aiohttp~=3.9.1
Requires-Dist: pydantic[email]~=2.5.3
Provides-Extra: all
Requires-Dist: boosty[dotenv,fast,logging]; extra == 'all'
Provides-Extra: dotenv
Requires-Dist: python-dotenv~=1.0.0; extra == 'dotenv'
Provides-Extra: fast
Requires-Dist: aiohttp[speedups]~=3.9.1; extra == 'fast'
Requires-Dist: orjson~=3.9.10; extra == 'fast'
Provides-Extra: logging
Requires-Dist: loguru~=0.7.2; extra == 'logging'
Description-Content-Type: text/markdown

<p align="center">
  <a href="https://github.com/barsikus007/boosty">
    <img src="https://raw.githubusercontent.com/barsikus007/boosty/master/logo.png" alt="BoostyPy">
  </a>
</p>

# Boosty Wrapper

[![PyPI - Version](https://img.shields.io/pypi/v/boosty.svg)](https://pypi.org/project/boosty)
[![PyPI - Python Version](https://img.shields.io/pypi/pyversions/boosty.svg)](https://pypi.org/project/boosty)
[![Hatch project](https://img.shields.io/badge/%F0%9F%A5%9A-Hatch-4051b5.svg)](https://github.com/pypa/hatch)

-----

**Table of Contents**

- [Installation](#installation)
- [License](#license)
- [Usage](#usage)

## Installation

```console
pip install boosty
```

## License

`boosty` is distributed under the terms of the [MIT](https://spdx.org/licenses/MIT.html) 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

*Optional:* fill `auth.json` file with authentication data:

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

Example:

```python
from boosty.api import API

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

More examples in [examples/](https://github.com/barsikus007/boosty/blob/master/examples/) folder

### TODO for stable release

- api schema
  - add access levels logic for requests
- minimal docs
- useful properties for models
- merge reply comment with comment model
- add examples
  - render text
  - get video url
  - get comment url
- add tests
  - boosty profile
  - comments
  - replies
  - video
  - entities parsing
