pyproject.toml 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. [build-system]
  2. requires = ["setuptools>=68.0"]
  3. build-backend = "setuptools.build_meta"
  4. [project]
  5. name = "chattolib"
  6. version = "0.4.2a2"
  7. description = "Async Python client library for the Chatto webchat Connect API"
  8. requires-python = ">=3.11"
  9. license = "MIT"
  10. readme = "README.md"
  11. authors = [
  12. { name = "Felix", email = "chatto@f3l1x.it" },
  13. ]
  14. keywords = ["chatto", "connect", "connectrpc", "async", "webchat", "client"]
  15. classifiers = [
  16. "Development Status :: 3 - Alpha",
  17. "Intended Audience :: Developers",
  18. "Programming Language :: Python :: 3",
  19. "Programming Language :: Python :: 3.11",
  20. "Programming Language :: Python :: 3.12",
  21. "Programming Language :: Python :: 3.13",
  22. "Topic :: Communications :: Chat",
  23. "Framework :: AsyncIO",
  24. ]
  25. dependencies = [
  26. "httpx>=0.27",
  27. ]
  28. [project.urls]
  29. Homepage = "https://chat.chatto.run"
  30. [project.optional-dependencies]
  31. realtime = [
  32. "websockets>=13.0",
  33. "protobuf>=5.28",
  34. ]
  35. dev = [
  36. "pytest>=8.0",
  37. "pytest-asyncio>=0.24",
  38. "respx>=0.22",
  39. "ruff>=0.8",
  40. "mypy>=1.13",
  41. ]
  42. [tool.setuptools.packages.find]
  43. where = ["src"]
  44. [tool.pytest.ini_options]
  45. asyncio_mode = "auto"
  46. testpaths = ["tests"]
  47. [tool.ruff]
  48. target-version = "py311"
  49. line-length = 100
  50. extend-exclude = ["src/chattolib/_pb"]
  51. [tool.ruff.lint]
  52. select = ["E", "F", "I", "N", "W", "UP"]
  53. [tool.mypy]
  54. python_version = "3.11"
  55. strict = true
  56. warn_return_any = true
  57. warn_unused_configs = true
  58. exclude = ["src/chattolib/_pb"]
  59. [[tool.mypy.overrides]]
  60. module = ["chattolib._pb.*", "websockets.*"]
  61. follow_imports = "skip"
  62. ignore_missing_imports = true