# Modern Python package configuration
# https://packaging.python.org/

[build-system]
requires = ["hatchling"]
build-backend = "hatchling.build"

[project]
name = "rpc-client"
version = "1.0.0"
description = "Auto-generated WebSocket RPC Client"
readme = "README.md"
requires-python = ">=3.10"
license = {text = "MIT"}
authors = [
    {name = "django_ipc codegen"},
]
keywords = ["rpc", "websocket", "client"]
classifiers = [
    "Development Status :: 4 - Beta",
    "Intended Audience :: Developers",
    "Programming Language :: Python :: 3",
    "Programming Language :: Python :: 3.10",
    "Programming Language :: Python :: 3.11",
    "Programming Language :: Python :: 3.12",
    "Programming Language :: Python :: 3.13",
]

dependencies = [
    "websockets>=15.0,<16.0",
    "pydantic>=2.11.0,<3.0",
]

[project.optional-dependencies]
dev = [
    "pytest>=8.4",
    "pytest-asyncio>=0.25",
    "black>=25.0",
    "mypy>=1.18",
    "ruff>=0.9",
]

[tool.hatch.build.targets.wheel]
packages = ["."]

[tool.black]
line-length = 100
target-version = ['py310']

[tool.ruff]
line-length = 100
target-version = "py310"

[tool.mypy]
python_version = "3.10"
strict = true
warn_return_any = true
warn_unused_configs = true
disallow_untyped_defs = true
