semvec/pypi-packages huggingface dataset:
max-bot-api-dlydedica 0.1.3
Python библиотека `max-bot-api-dlydedica` для работы с Max Bot API
License: MIT
Requires Python: >=3.11
Keywords: max, bot, api, messenger

# max-bot-api-dlydedica

Python библиотека `max-bot-api-dlydedica` для работы с Max Bot API.

## Установка

```bash
pip install max-bot-api-dlydedica
```
````markdown
# max-bot-api

Python библиотека для работы с Max Bot API.

## Установка

```bash
pip install max-bot-api-dlydedica
```

## Быстрый старт

Пример минимального бота:

```python
import asyncio
from max_bot_api_dlydedica import Bot

# Создаем бота
bot = Bot("YOUR_BOT_TOKEN")

@bot.command("start")
async def start_handler(ctx):
    await ctx.reply(f"Привет, {ctx.user.first_name}!")

async def main():
    await bot.start()

if __name__ == "__main__":
    asyncio.run(main())
```

## Работа с проектом (dev)

Рекомендуется использовать виртуальное окружение. В корне проекта есть `.venv` — чтобы установить dev-зависимости и запустить тесты, выполните:

```powershell
# установить dev-зависимости (однократно)
python -m pip install -e .[dev]

# или, если вы используете уже созданный .venv
.\.venv\Scripts\python.exe -m pip install -e .[dev]
```

## Тесты

Проект содержит тесты, которые проверяют корректность `tools/swagger.json` и его соответствие схемам в `components/schemas`.

Запуск тестов (в примере используется `.venv`):

```powershell
# из корня проекта
.\.venv\Scripts\python.exe -m pytest -v
```

Если `pytest` доступен в PATH, можно запустить просто:

```powershell
python -m pytest -v
```

Результат в моём окружении:

```
33 passed in 0.14s
```

## Генератор тестов по OpenAPI

В проекте есть скрипт `tools/generate_swagger_tests.py`, который парсит `tools/swagger.json` и генерирует подробный набор тестов в `tests/test_generated_swagger.py`.

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

```powershell
# сгенерировать тесты
python .\tools\generate_swagger_tests.py

# после генерации запустить pytest
.\.venv\Scripts\python.exe -m pytest -q
```

Генератор проверяет для каждого эндпоинта:
- наличие `operationId` и `summary`/`description`;
- наличие хотя бы одного успешного (2xx) ответа;
- корректность объявления path-параметров (`in: path` и `required: true`);
- для методов с `requestBody` — наличие `application/json` и существование ссылочных схем (`$ref`);
- для `responses` — корректность ссылок на схемы в `components/schemas`.

## Структура проекта

```
max_bot_api/
├── __init__.py          # Публичный API
├── bot.py               # Класс Bot
├── api.py               # API клиент
├── context.py           # Контекст обработки
├── composer.py          # Композиция middleware
├── middleware.py        # Типы middleware
├── filters.py           # Фильтры обновлений
├── types.py             # Типы данных
└── core/
    ├── client.py        # HTTP клиент
    └── polling.py       # Long polling
```

## Примеры

Смотрите папку `examples/` для полных примеров использования, включая `simple_bot.py` и `chat_bot.py`.

## Лицензия

MIT

## Ссылки

- [Официальная документация Max API](https://dev.max.ru/docs-api)

````
django-admin-fk-links 0.1.1
Reusable Django admin mixin that turns ForeignKey fields into direct links to their related admin change views.
License: MIT
Requires Python: >=3.7

# django-admin-fk-links
[![PyPI version](https://img.shields.io/pypi/v/django-admin-fk-links.svg)](https://pypi.org/project/django-admin-fk-links/)

Reusable Django admin mixin that turns `ForeignKey` fields into direct clickable links to their related admin change views.

---

## ✨ Features

- ✅ Converts `ForeignKey` fields into clickable links in `list_display`
- ✅ Works with the default Django admin and custom `AdminSite`
- ✅ Zero configuration
- ✅ No need to add to `INSTALLED_APPS`
- ✅ Fully compatible with Django 2.2+
<!-- - ✅ Tested with `pytest` and `pytest-django` -->

---

## 📦 Installation

```bash
pip install django-admin-fk-links
```

## 🚀 Quick Usage
```python
from django.contrib import admin
from django_admin_fk_links import ForeignKeyLinkMixin

@admin.register(Book)
class BookAdmin(ForeignKeyLinkMixin, admin.ModelAdmin):
    list_display = ("title", "author")
    list_display_foreign_key_links = ("author",)
```
That’s it.
The author column will now be a direct link to its admin change view.

---

## ⚙️ How It Works
The mixin dynamically replaces the fields listed in:
```python
list_display_foreign_key_links = ("field_name",)
```

with callables that render an `<a>` tag pointing to the related object’s admin change view.

It also supports:
- Sorting via admin_order_field
- Automatic verbose_name resolution
- Custom AdminSite namespaces

---
## ✅ Compatibility
- Django 2.2+
- Python 3.7+
- Default admin.site ✅
- Custom AdminSite(name="custom") ✅

---
## 🪪 License

This project is licensed under the MIT License.

---
## 🤝 Contributing

Contributions, issues and feature requests are welcome.
Feel free to open a PR or issue.

## ⭐ If you find it useful

Please consider giving the project a ⭐ on GitHub — it really helps!