semvec/pypi-packages huggingface dataset:
brostel 1.0.0.dev1
Telegram formatting tool for telegrinder
Requires Python: >=3.13
Keywords: async, asyncio, text, fmt, format, formatting, telegram, bot, telegrinder, html, entities

<div align="center">
  <a href="https://github.com/ventuero/brostel">
    <img src="https://raw.githubusercontent.com/ventuero/brostel/master/assets/logo.png" alt="Brostel" width="160" height="160">
  </a>

  <h1 align="center">Brostel</h1>

  <p align="center">
    Telegram formatting tool for <a href='https://github.com/timoniq/telegrinder'>telegrinder</a>
  </p>
</div>

> [!WARNING]
> Work in progress! Brostel can contains bugs. Use at your own risk.

## 🌍 Documentation

- [**🇷🇺 Русский**](https://github.com/ventuero/brostel/blob/master/docs/ru/README.md)
- [**🇺🇸 English**](https://github.com/ventuero/brostel/blob/master/docs/en/README.md)

## 🚀 Quick Start

```bash
pip install brostel
```

```python
from brostel import brostel
from telegrinder import API, Message, Telegrinder, Token

bot = Telegrinder(API(Token.from_env()))

@bot.on.message()
async def handler(msg: Message):
    await (
        brostel(msg)
        .tags(user=msg.from_user.first_name)
        .reply(msg)
    )
```

## ✨ Key Features

- 📐 **Solves entity-position mismatch** - correct entities after tag replacement
- 🛡️ **Controlled HTML processing** - Sulguk ensures safe tag handling
- 🏷️ **Dynamic tags** - `%placeholder%` replacement with proper entities
- 🔘 **Auto inline buttons** - create keyboards from `[Text](URL)` syntax
- ⚙️ **Global configuration** - set once, use everywhere
- 🎯 **Method chaining** - `brostel(text).tags(user="John").reply(msg)`

## 📄 License

This project is licensed under the [MIT License](https://github.com/ventuero/brostel/blob/master/LICENSE).\
Copyright © 2025 [ventuero](https://github.com/ventuero)

## 🤝 Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

## 📞 Support

- GitHub Issues: [Create an issue](https://github.com/ventuero/brostel/issues)
- Telegram: [@ventuero](https://t.me/ventuero)
tumblrdotcom 0.3.3
Tumblr API wrapper with support for Polls
Requires Python: >=3.11
Keywords: Tumblr, API

# TumblrDotCom

An unofficial Tumblr API client.
Includes support for creating polls and retrieving poll results.

## Install

```
pip install tumblrdotcom
```

## Docs

https://tumblrdotcom.rtfd.io

## Usage

### Example

```python
import os
from datetime import timedelta
from pprint import pprint

from tumblr import *

tumblr = Blog(
    blog="pizza",  # or 'pizza.tumblr.com'
    client_key=os.getenv("CONSUMER_KEY"),
    client_secret=os.getenv("CONSUMER_SECRET"),
    oauth_key=os.getenv("OAUTH_TOKEN"),
    oauth_secret=os.getenv("OAUTH_SECRET"),
)

response = tumblr.post(
    content=(
        Heading("Hello, World!"),
        Text("Oh boy! Isn't it great to have a tumblr!"),
        Row(
            Image(
                "clown_left.jpg",
                "image/jpeg",
                "A photo clown holding their right thumb up towards the camera"
            ),
            Image(
                "clown_right.jpg",
                "image/jpeg",
                "A photo clown holding their left thumb up towards the camera"
            ),
        ),
        Poll(
            "Don't you think so?",
            ["Yes", "No"],
            expire_after=timedelta(days=1),
        ),
    ),
    tags=["pizza", "I can't even remember why they were deleted"],
)

pprint(response)
```