[build-system] requires = ["hatchling>=1.27,<2"] build-backend = "hatchling.build" [project] name = "telegram-managed-bot-factory" version = "0.2.3" description = "A secure MCP control plane for Telegram Managed Bots" readme = "README.md" requires-python = ">=3.11" license = "MIT" authors = [{ name = "laser54" }] classifiers = [ "Development Status :: 3 - Alpha", "Environment :: Console", "License :: OSI Approved :: MIT License", "Operating System :: POSIX :: Linux", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", "Programming Language :: Python :: 3.13", "Programming Language :: Python :: 3.14", "Topic :: Communications :: Chat", ] dependencies = [ "aiogram>=3.30,<4", "cryptography>=49,<51", "httpx>=0.28,<1", "mcp>=2,<3", "platformdirs>=4.3,<5", "pydantic>=2.12,<3", ] [project.urls] Homepage = "https://github.com/laser54/telegram-managed-bot-factory" Source = "https://github.com/laser54/telegram-managed-bot-factory" Issues = "https://github.com/laser54/telegram-managed-bot-factory/issues" Changelog = "https://github.com/laser54/telegram-managed-bot-factory/blob/main/CHANGELOG.md" Security = "https://github.com/laser54/telegram-managed-bot-factory/security/policy" [project.scripts] bot-factory = "telegram_bot_factory.cli:main" bot-factory-mcp = "telegram_bot_factory.mcp_server:main" bot-factory-manager = "telegram_bot_factory.manager_cli:main" [dependency-groups] dev = [ "build>=1.3,<2", "mypy>=1.17,<2", "opentelemetry-sdk>=1.38,<2", "pip-audit>=2.9,<3", "pytest>=8.4,<9", "pytest-asyncio>=1.1,<2", "ruff>=0.12,<1", "twine>=6.1,<7", ] [tool.hatch.build.targets.wheel] packages = ["src/telegram_bot_factory"] core-metadata-version = "2.4" [tool.hatch.build.targets.sdist] core-metadata-version = "2.4" [tool.pytest.ini_options] addopts = "-ra --strict-config --strict-markers" testpaths = ["tests"] asyncio_mode = "auto" [tool.ruff] target-version = "py311" line-length = 100 [tool.ruff.lint] select = ["E", "F", "I", "B", "UP", "ASYNC", "S"] [tool.ruff.lint.per-file-ignores] "tests/**/*.py" = ["S101"] [tool.mypy] python_version = "3.11" strict = true packages = ["telegram_bot_factory"]