mirror of
https://github.com/simplex-chat/simplex-chat.git
synced 2026-06-04 21:12:05 +00:00
simplex-chat-python: add python library (#6954)
* docs: simplex-chat-python design and implementation plan * bots: Python wire types codegen * simplex-chat-python: package scaffold * simplex-chat-python: native libsimplex loader * simplex-chat-python: async FFI wrappers * simplex-chat-python: ChatApi with 49 api methods * simplex-chat-python: Bot class with decorators and dispatch * simplex-chat-python: install CLI, example bot, README * simplex-chat-python: audit fixes * bots: regenerate API docs and types Catches up the markdown, TypeScript and Python codegen outputs with two upstream schema changes: - APIConnectPlan.connectionLink became optional (from sh/python-lib audit fixes); cmdString and EBNF syntax now reflect optional parameter. - APIAddGroupRelays command and CRGroupRelaysAdded/CRGroupRelaysAddFailed responses added in #6917 (relay management). The TS and markdown outputs were regenerated when #6917 landed but the Python types module only got the new entries with this regeneration. * core: refresh SQLite query plans after relay_inactive_at migration The M20260507_relay_inactive_at migration (#6917 / #6952) shifted the query plans that 'Save query plans' verifies. Regenerated via the test that owns those snapshots; no behavioral change. * bots: keep APIConnectPlan connectionLink as required parameter The prior audit-fixes commit changed the syntax expression to `Optional ...` because the Haskell field is `connectionLink :: Maybe AConnectionLink`. That misrepresents the API contract: the `Maybe` is purely an internal signal for link-parsing failure (the handler returns `CEInvalidConnReq` on `Nothing`), not API-level optionality. Callers MUST always pass a connection link. Revert the syntax expression to `Param "connectionLink"` and add a comment so the intent is preserved next time someone audits. Regenerates COMMANDS.md, commands.ts and _commands.py to match.
This commit is contained in:
@@ -0,0 +1,59 @@
|
||||
"""SimpleX Chat — Python client library for chat bots."""
|
||||
|
||||
from ._version import __version__
|
||||
from .api import ChatApi, ChatCommandError, ConnReqType, Db, PostgresDb, SqliteDb
|
||||
from .bot import (
|
||||
Bot,
|
||||
BotCommand,
|
||||
BotProfile,
|
||||
ChatMessage,
|
||||
CommandHandler,
|
||||
EventHandler,
|
||||
FileMessage,
|
||||
ImageMessage,
|
||||
LinkMessage,
|
||||
Message,
|
||||
MessageHandler,
|
||||
Middleware,
|
||||
ParsedCommand,
|
||||
ReportMessage,
|
||||
TextMessage,
|
||||
UnknownMessage,
|
||||
VideoMessage,
|
||||
VoiceMessage,
|
||||
)
|
||||
from .core import ChatAPIError, ChatInitError, CryptoArgs, MigrationConfirmation
|
||||
from . import util as util # re-export the util namespace
|
||||
|
||||
__all__ = [
|
||||
"__version__",
|
||||
"Bot",
|
||||
"BotCommand",
|
||||
"BotProfile",
|
||||
"ChatAPIError",
|
||||
"ChatApi",
|
||||
"ChatCommandError",
|
||||
"ChatInitError",
|
||||
"ChatMessage",
|
||||
"CommandHandler",
|
||||
"ConnReqType",
|
||||
"CryptoArgs",
|
||||
"Db",
|
||||
"EventHandler",
|
||||
"FileMessage",
|
||||
"ImageMessage",
|
||||
"LinkMessage",
|
||||
"Message",
|
||||
"MessageHandler",
|
||||
"Middleware",
|
||||
"MigrationConfirmation",
|
||||
"ParsedCommand",
|
||||
"PostgresDb",
|
||||
"ReportMessage",
|
||||
"SqliteDb",
|
||||
"TextMessage",
|
||||
"UnknownMessage",
|
||||
"VideoMessage",
|
||||
"VoiceMessage",
|
||||
"util",
|
||||
]
|
||||
Reference in New Issue
Block a user