pyproject.toml 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137
  1. [tool.poetry]
  2. name = "reflex"
  3. version = "0.7.1post1"
  4. description = "Web apps in pure Python."
  5. license = "Apache-2.0"
  6. authors = [
  7. "Nikhil Rao <nikhil@reflex.dev>",
  8. "Alek Petuskey <alek@reflex.dev>",
  9. "Masen Furer <masen@reflex.dev>",
  10. "Elijah Ahianyo <elijah@reflex.dev>",
  11. "Thomas Brandého <thomas@reflex.dev>",
  12. ]
  13. readme = "README.md"
  14. homepage = "https://reflex.dev"
  15. repository = "https://github.com/reflex-dev/reflex"
  16. documentation = "https://reflex.dev/docs/getting-started/introduction"
  17. keywords = ["web", "framework"]
  18. classifiers = ["Development Status :: 4 - Beta"]
  19. [tool.poetry.dependencies]
  20. python = ">=3.10, <4.0"
  21. fastapi = ">=0.96.0,!=0.111.0,!=0.111.1"
  22. gunicorn = ">=20.1.0,<24.0"
  23. jinja2 = ">=3.1.2,<4.0"
  24. psutil = ">=5.9.4,<7.0"
  25. pydantic = ">=1.10.21,<3.0"
  26. python-multipart = ">=0.0.5,<0.1"
  27. python-socketio = ">=5.7.0,<6.0"
  28. redis = ">=4.3.5,<6.0"
  29. rich = ">=13.0.0,<14.0"
  30. sqlmodel = ">=0.0.14,<0.1"
  31. typer = ">=0.15.1,<1.0"
  32. uvicorn = ">=0.20.0"
  33. starlette-admin = ">=0.11.0,<1.0"
  34. alembic = ">=1.11.1,<2.0"
  35. platformdirs = ">=3.10.0,<5.0"
  36. distro = { version = ">=1.8.0,<2.0", platform = "linux" }
  37. python-engineio = "!=4.6.0"
  38. wrapt = ">=1.17.0,<2.0"
  39. packaging = ">=23.1,<25.0"
  40. reflex-hosting-cli = ">=0.1.29"
  41. charset-normalizer = ">=3.3.2,<4.0"
  42. wheel = ">=0.42.0,<1.0"
  43. build = ">=1.0.3,<2.0"
  44. setuptools = ">=75.0"
  45. httpx = ">=0.25.1,<1.0"
  46. twine = ">=4.0.0,<7.0"
  47. tomlkit = ">=0.12.4,<1.0"
  48. lazy_loader = ">=0.4"
  49. typing_extensions = ">=4.6.0"
  50. [tool.poetry.group.dev.dependencies]
  51. pytest = ">=7.1.2,<9.0"
  52. pytest-mock = ">=3.10.0,<4.0"
  53. pyright = ">=1.1.394, <1.2"
  54. darglint = ">=1.8.1,<2.0"
  55. dill = ">=0.3.8"
  56. toml = ">=0.10.2,<1.0"
  57. pytest-asyncio = ">=0.24.0"
  58. pytest-cov = ">=4.0.0,<7.0"
  59. ruff = "0.9.6"
  60. pandas = ">=2.1.1,<3.0"
  61. pillow = ">=10.0.0,<12.0"
  62. plotly = ">=5.13.0,<6.0"
  63. asynctest = ">=0.13.0,<1.0"
  64. pre-commit = ">=3.2.1"
  65. selenium = ">=4.11.0,<5.0"
  66. pytest-benchmark = ">=4.0.0,<6.0"
  67. playwright = ">=1.46.0"
  68. pytest-playwright = ">=0.5.1"
  69. pytest-codspeed = "^3.1.2"
  70. [tool.poetry.scripts]
  71. reflex = "reflex.reflex:cli"
  72. [build-system]
  73. requires = ["poetry-core>=1.5.1"]
  74. build-backend = "poetry.core.masonry.api"
  75. [tool.pyright]
  76. reportIncompatibleMethodOverride = false
  77. [tool.ruff]
  78. target-version = "py310"
  79. output-format = "concise"
  80. lint.isort.split-on-trailing-comma = false
  81. lint.select = [
  82. "ANN001",
  83. "B",
  84. "C4",
  85. "D",
  86. "E",
  87. "ERA",
  88. "F",
  89. "FURB",
  90. "I",
  91. "N",
  92. "PERF",
  93. "PGH",
  94. "PTH",
  95. "RUF",
  96. "SIM",
  97. "T",
  98. "TRY",
  99. "W",
  100. ]
  101. lint.ignore = [
  102. "B008",
  103. "D205",
  104. "E501",
  105. "F403",
  106. "SIM115",
  107. "RUF006",
  108. "RUF008",
  109. "RUF012",
  110. "TRY0",
  111. ]
  112. lint.pydocstyle.convention = "google"
  113. [tool.ruff.lint.per-file-ignores]
  114. "__init__.py" = ["F401"]
  115. "tests/*.py" = ["ANN001", "D100", "D103", "D104", "B018", "PERF", "T", "N"]
  116. "benchmarks/*.py" = ["ANN001", "D100", "D103", "D104", "B018", "PERF", "T", "N"]
  117. "reflex/.templates/*.py" = ["D100", "D103", "D104"]
  118. "*.pyi" = ["D301", "D415", "D417", "D418", "E742", "N", "PGH"]
  119. "pyi_generator.py" = ["N802"]
  120. "reflex/constants/*.py" = ["N"]
  121. "*/blank.py" = ["I001"]
  122. [tool.pytest.ini_options]
  123. filterwarnings = "ignore:fields may not start with an underscore:RuntimeWarning"
  124. asyncio_default_fixture_loop_scope = "function"
  125. asyncio_mode = "auto"
  126. [tool.codespell]
  127. skip = "docs/*,*.html,examples/*, *.pyi, poetry.lock"
  128. ignore-words-list = "te, TreeE"