pyproject.toml 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145
  1. [tool.towncrier]
  2. package = "sydent"
  3. filename = "CHANGELOG.md"
  4. directory = "changelog.d"
  5. issue_format = "[\\#{issue}](https://github.com/matrix-org/sydent/issues/{issue})"
  6. [[tool.towncrier.type]]
  7. directory = "feature"
  8. name = "Features"
  9. showcontent = true
  10. [[tool.towncrier.type]]
  11. directory = "bugfix"
  12. name = "Bugfixes"
  13. showcontent = true
  14. [[tool.towncrier.type]]
  15. directory = "docker"
  16. name = "Updates to the Docker image"
  17. showcontent = true
  18. [[tool.towncrier.type]]
  19. directory = "doc"
  20. name = "Improved Documentation"
  21. showcontent = true
  22. [[tool.towncrier.type]]
  23. directory = "removal"
  24. name = "Deprecations and Removals"
  25. showcontent = true
  26. [[tool.towncrier.type]]
  27. directory = "misc"
  28. name = "Internal Changes"
  29. showcontent = true
  30. [tool.isort]
  31. profile = "black"
  32. [tool.black]
  33. target-version = ['py36']
  34. [tool.mypy]
  35. plugins = "mypy_zope:plugin"
  36. show_error_codes = true
  37. namespace_packages = true
  38. strict = true
  39. files = [
  40. # Find files that pass with
  41. # find sydent tests -type d -not -name __pycache__ -exec bash -c "mypy --strict '{}' > /dev/null" \; -print
  42. "sydent"
  43. # TODO the rest of CI checks these---mypy ought to too.
  44. # "tests",
  45. # "matrix_is_test",
  46. # "scripts",
  47. # "setup.py",
  48. ]
  49. mypy_path = "stubs"
  50. [[tool.mypy.overrides]]
  51. module = [
  52. "idna",
  53. "netaddr",
  54. "prometheus_client",
  55. "signedjson.*",
  56. "sortedcontainers",
  57. ]
  58. ignore_missing_imports = true
  59. [tool.poetry]
  60. name = "matrix-sydent"
  61. version = "2.5.2"
  62. description = "Reference Matrix Identity Verification and Lookup Server"
  63. authors = ["Matrix.org Team and Contributors <packages@matrix.org>"]
  64. license = "Apache-2.0"
  65. readme = "README.rst"
  66. repository = "https://github.com/matrix-org/sydent"
  67. packages = [
  68. { include = "sydent" },
  69. ]
  70. include = [
  71. { path = "matrix-sydent.service" },
  72. { path = "res" },
  73. { path = "scripts" },
  74. { path = "matrix_is_test", format = "sdist" },
  75. { path = "scripts-dev", format = "sdist" },
  76. { path = "setup.cfg", format = "sdist" },
  77. { path = "tests", format = "sdist" },
  78. ]
  79. classifiers = [
  80. "Development Status :: 5 - Production/Stable",
  81. ]
  82. [tool.poetry.dependencies]
  83. python = "^3.7"
  84. attrs = ">=19.1.0"
  85. jinja2 = ">=3.0.0"
  86. netaddr = ">=0.7.0"
  87. matrix-common = "^1.1.0"
  88. phonenumbers = ">=8.12.32"
  89. # prometheus-client's lower bound is copied from Synapse.
  90. prometheus-client = { version = ">=0.4.0", optional = true }
  91. pynacl = ">=1.2.1"
  92. pyOpenSSL = ">=16.0.0"
  93. pyyaml = ">=3.11"
  94. # sentry-sdk's lower bound is copied from Synapse.
  95. sentry-sdk = { version = ">=0.7.2", optional = true }
  96. # twisted warns about about the absence of service-identity
  97. service-identity = ">=1.0.0"
  98. signedjson = "==1.1.1"
  99. sortedcontainers = ">=2.1.0"
  100. twisted = ">=18.4.0"
  101. typing-extensions = ">=3.7.4"
  102. unpaddedbase64 = ">=1.1.0"
  103. "zope.interface" = ">=4.6.0"
  104. [tool.poetry.dev-dependencies]
  105. black = "==21.6b0"
  106. flake8 = "==3.9.2"
  107. flake8-pyi = "==20.10.0"
  108. isort = "==5.8.0"
  109. matrix-is-tester = {git = "https://github.com/matrix-org/matrix-is-tester", rev = "main"}
  110. mypy = ">=0.902"
  111. mypy-zope = ">=0.3.1"
  112. parameterized = "==0.8.1"
  113. # sentry-sdk is required for typechecking.
  114. sentry-sdk = "*"
  115. types-Jinja2 = "2.11.9"
  116. types-mock = "4.0.8"
  117. types-PyOpenSSL = "21.0.3"
  118. types-PyYAML = "6.0.3"
  119. towncrier = "^21.9.0"
  120. [tool.poetry.extras]
  121. sentry = ["sentry-sdk"]
  122. prometheus = ["prometheus-client"]
  123. [tool.poetry.scripts]
  124. sydent = "sydent.sydent:main"
  125. [build-system]
  126. requires = ["poetry-core>=1.0.0"]
  127. build-backend = "poetry.core.masonry.api"