mattermost/python-sdk/pyproject.toml
Nick Misasi 49a7a6a121 feat(07-01): export hook system public API and add dependencies
- Export Plugin, hook, HookName, HookRegistrationError from __init__.py
- Export RuntimeConfig, load_runtime_config
- Update module docstring with plugin development example
- Add grpcio-health-checking dependency
- Add typing_extensions for Python 3.9 compatibility

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-19 11:18:28 -05:00

77 lines
2 KiB
TOML

# Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved.
# See LICENSE.txt for license information.
[build-system]
requires = ["setuptools>=61.0"]
build-backend = "setuptools.build_meta"
[project]
name = "mattermost-plugin-sdk"
version = "0.1.0"
description = "Python SDK for Mattermost Plugin API (gRPC-based)"
readme = "README.md"
license = {text = "Apache-2.0"}
authors = [
{name = "Mattermost", email = "dev@mattermost.com"}
]
requires-python = ">=3.9"
keywords = ["mattermost", "plugin", "grpc", "sdk"]
classifiers = [
"Development Status :: 3 - Alpha",
"Intended Audience :: Developers",
"License :: OSI Approved :: Apache Software License",
"Operating System :: OS Independent",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.9",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
"Topic :: Communications :: Chat",
"Typing :: Typed",
]
dependencies = [
"grpcio>=1.60.0",
"grpcio-health-checking>=1.60.0",
"protobuf>=4.25.0",
"typing_extensions>=4.0.0;python_version<'3.10'",
]
[project.optional-dependencies]
dev = [
"grpcio-tools>=1.60.0",
"mypy-protobuf>=3.6.0",
"types-protobuf",
"mypy>=1.14.0",
"pytest>=7.0.0",
"pytest-asyncio>=0.21.0",
]
interceptors = [
"grpc-interceptor>=0.15.0",
]
[project.urls]
"Homepage" = "https://github.com/mattermost/mattermost"
"Bug Tracker" = "https://github.com/mattermost/mattermost/issues"
"Documentation" = "https://developers.mattermost.com"
[tool.setuptools.packages.find]
where = ["src"]
[tool.mypy]
python_version = "3.9"
warn_return_any = true
warn_unused_configs = true
disallow_untyped_defs = true
strict = true
[[tool.mypy.overrides]]
module = "mattermost_plugin.grpc.*"
ignore_errors = true # Generated code
[[tool.mypy.overrides]]
module = "grpc.*"
ignore_missing_imports = true
[tool.pytest.ini_options]
testpaths = ["tests"]
asyncio_mode = "auto"