Metadata-Version: 2.1
Name: planky
Version: 0.1
Summary: Planky is is an easy-to-use and highly customizable tool for building your own tcp/tls server.
Author-email: BonePolk <bonepolk@gmail.com>
Project-URL: Homepage, https://github.com/BonePolk/Planky
Project-URL: Issues, https://github.com/BonePolk/Planky/issues
Classifier: Programming Language :: Python :: 3
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Requires-Python: >=3.8
Description-Content-Type: text/markdown

# Planky

![icon.png](https://raw.githubusercontent.com/BonePolk/Planky/refs/heads/master/icon.png)

<details>
<summary>🇬🇧 English</summary>


### Description
**Planky** is an easy-to-use and highly customizable tool for building your own **tcp/tls** server.

### Installation
```commandline
pip install Planky
```

### Usage

```python
from Planky.events.messageEvent import MessageEvent
from Planky.messages.parsedMessage import ParsedMessage
from Planky.plankyData import PlankyData
from Planky.plankyServer import PlankyServer

server = PlankyServer("127.0.0.1", port=1111)

@server.on_message(ParsedMessage)
async def parsed_message(handler, event: MessageEvent):
    if event.message.content == b"hello": 
        await handler.send_data(PlankyData(payload=b"world"))
    else:
        await handler.send_data(PlankyData(payload=event.message.content))

if __name__ == "__main__":
    server.mainloop()
```

### Main features

- Simple usage
- TLS support
- Server side certificate validation support
- Custom parsers support
- Async support

### Documentation

- [ReadTheDocs](https://planky.readthedocs.io/en/stable/)

### Thanks

Nobody...

</details>

<details>
<summary>🇷🇺 Русский</summary>

### Описание
**Planky** — это простой и гибкий инструмент для создания собственного асинхронного **tcp/tls** сервера.

### Установка
```commandline
pip install Planky
```

### Использование

```python
from Planky.events.messageEvent import MessageEvent
from Planky.messages.parsedMessage import ParsedMessage
from Planky.plankyData import PlankyData
from Planky.plankyServer import PlankyServer

server = PlankyServer("127.0.0.1", port=1111)

@server.on_message(ParsedMessage)
async def parsed_message(handler, event: MessageEvent):
    if event.message.content == b"hello": 
        await handler.send_data(PlankyData(payload=b"world"))
    else:
        await handler.send_data(PlankyData(payload=event.message.content))

if __name__ == "__main__":
    server.mainloop()
```

### Основные возможности

- Простое использование
- Поддержка tls
- Поддержка проверки сертификата на сервере
- Поддержка кастомных парсеров
- Поддержка асинхронности

### Документация

- [ReadTheDocs](https://planky.readthedocs.io/en/stable/)

### Благодарности

Пока нету

</details>
