Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/nerdguyahmad/luster
Python library for Revolt.chat API.
https://github.com/nerdguyahmad/luster
api asyncio library python python3 revolt wrapper
Last synced: 3 months ago
JSON representation
Python library for Revolt.chat API.
- Host: GitHub
- URL: https://github.com/nerdguyahmad/luster
- Owner: izxxr
- License: mit
- Created: 2022-07-08T05:49:54.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2023-05-13T19:00:48.000Z (over 1 year ago)
- Last Synced: 2024-07-13T04:17:46.991Z (4 months ago)
- Topics: api, asyncio, library, python, python3, revolt, wrapper
- Language: Python
- Homepage: https://luster.readthedocs.io
- Size: 363 KB
- Stars: 2
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.MD
- Contributing: CONTRIBUTING.MD
- License: LICENSE
Awesome Lists containing this project
- awesome-revolt - Luster - Modern Python library for Revolt.chat API. (💻 API Libraries / Python)
README
# luster
Python library for Revolt.chat API.**[Documentation](https://luster.readthedocs.io) • [Revolt Server](https://app.revolt.chat/invite/SfzyrsrA) • [Source Code](https://github.com/nerdguyahmad/luster)**
> :warning: **Acknowledgement**
>
> This library is still under active development and incomplete.
>
> Join our [Revolt Server](https://app.revolt.chat/invite/SfzyrsrA) for staying tuned with updates.## Features
- Modern and easy to use interface
- Fully typed and compatible with most type checkers
- Supports operations with both bots and users API
- Provides maximum control over the low level API
- Type definitions for Revolt API## Installation
You can install this library using the Python's traditional package manager, `pip`.
```sh
$ pip install luster
```
Note that **Python 3.8 or higher** is required.The only required dependency for this library is `aiohttp`. There are certain dependencies
that you can install in order to enhance the speed of the library.- `msgpack` (Faster websocket packets parsing)
- `ujson` (Faster JSON parsing)
- `aiohttp[speed]` (Speed ups for `aiohttp`)These dependencies can be installed by:
```sh
$ pip install luster[speed]
```## Basic Usage
> :information_source: Type annotations are not required.```py
import lusterclient = luster.Client(token="...")
@client.listen(luster.WebsocketEvent.AUTHENTICATED)
async def handle_authenticated(event: luster.events.Authenticated):
print("Client has connected!")client.launch()
```> Basic operations such as sending messages are not yet supported. You
> can use the low level API such as `HTTPHandler` and `WebsocketHandler`
> to manually interact with Revolt API.## Contributing
This library is still in it's alpha (0.x) phase and is undergoing active development to
provide 100% coverage of Revolt API. Any kind of contribution is welcomed.
See [Contribution guidelines](https://luster.readthedocs.io/contributing.html) for
more information.