Metadata-Version: 2.5
Name: s-iokit
Version: 0.2.0
Summary: Волна 5 (Atlas #2710) разрезала iokit на три части: транспорт — алиас на netkit.inbound; Router/Bus/Connector/Event/Service/Supervisor и живые встроенные сервисы — переехали физически внутрь gateway (единственный потребитель). Пакет остаётся только ради обратной совместимости адреса iokit.transport.
Author: Dmitry
License: MIT
License-File: LICENSE
Requires-Python: >=3.11
Requires-Dist: s-corekit>=0.0.12
Requires-Dist: s-netkit<0.2,>=0.1.4
Description-Content-Type: text/markdown

# s-iokit

Волна 5 (Atlas #2710) разрезала iokit на три части — единственным потребителем был
`gateway` (`gateway/pyproject.toml`, ранее пин `s-iokit>=0.1.0`), отдельный пакет
для одного потребителя не нужен:

| Была часть | Стала |
|---|---|
| `iokit.transport` (Polling/LongPoll/Webhook/Mtproto/WebSocket — *как получаем события*) | `netkit.inbound` — netkit стал единым владельцем сетевого транспорта, входящего и исходящего. Здесь остался **тонкий алиас** (`sys.modules`, `corekit.kit_alias.alias_module`): `from iokit.transport import WebhookTransport` продолжает работать, код не дублируется |
| `Router`/`Bus` + несущие абстракции (`Connector`/`Event`/`Service`/`Supervisor`) | физически переехали внутрь `gateway` (`gateway.messaging.inout`). Алиас невозможен — `gateway` конечное приложение, не библиотека |
| 5 живых встроенных сервисов (`bitrix`/`discord`/`max`/`telegram`/`telegram_user`/`vk`) | тоже переехали в `gateway` (`gateway.messaging.inout.services`) — они не дублировали внешние адаптеры (bublictr/vk-community-members-cli/telegram-навык/bitrix24 решают публикацию контента и CRM REST, а не приём bot-событий), поэтому перенесены, а не удалены |
| `iokit.services.reverse` (`AdapterConnector`) | удалён без переноса — мёртвый код, не регистрировался нигде даже внутри самого iokit |

Пакет `s-iokit` остаётся установимым только ради обратной совместимости адреса
`iokit.transport`. Как самостоятельное in-out ядро он больше не развивается —
живая логика теперь в `gateway`.

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

```python
from iokit.transport import WebhookTransport, PollingTransport  # алиас на netkit.inbound
```

Новый код должен импортировать `netkit.inbound` напрямую, а не через этот алиас.

## Установка

```bash
uv sync --group dev
uv run pytest -q
```

Ядро лёгкое: `import iokit` тянет только `s-corekit` (алиас) + `s-netkit`-core.
Webhook/mtproto/ws — lazy extras `netkit` (`s-netkit[webhook,mtproto,ws]`), не iokit.

## Лицензия

MIT.
