pyproject.toml 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111
  1. [tool.poetry]
  2. name = "reflex"
  3. version = "0.7.1dev1"
  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.17,<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.4.2,<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 = [
  39. { version = ">=1.14.0,<2.0", python = ">=3.11" },
  40. { version = ">=1.11.0,<2.0", python = "<3.11" },
  41. ]
  42. packaging = ">=23.1,<25.0"
  43. reflex-hosting-cli = ">=0.1.29"
  44. charset-normalizer = ">=3.3.2,<4.0"
  45. wheel = ">=0.42.0,<1.0"
  46. build = ">=1.0.3,<2.0"
  47. setuptools = ">=75.0"
  48. httpx = ">=0.25.1,<1.0"
  49. twine = ">=4.0.0,<7.0"
  50. tomlkit = ">=0.12.4,<1.0"
  51. lazy_loader = ">=0.4"
  52. typing_extensions = ">=4.6.0"
  53. [tool.poetry.group.dev.dependencies]
  54. pytest = ">=7.1.2,<9.0"
  55. pytest-mock = ">=3.10.0,<4.0"
  56. pyright = ">=1.1.392.post0,<1.2"
  57. darglint = ">=1.8.1,<2.0"
  58. dill = ">=0.3.8"
  59. toml = ">=0.10.2,<1.0"
  60. pytest-asyncio = ">=0.24.0"
  61. pytest-cov = ">=4.0.0,<7.0"
  62. ruff = "0.9.6"
  63. pandas = ">=2.1.1,<3.0"
  64. pillow = ">=10.0.0,<12.0"
  65. plotly = ">=5.13.0,<6.0"
  66. asynctest = ">=0.13.0,<1.0"
  67. pre-commit = ">=3.2.1"
  68. selenium = ">=4.11.0,<5.0"
  69. pytest-benchmark = ">=4.0.0,<6.0"
  70. playwright = ">=1.46.0"
  71. pytest-playwright = ">=0.5.1"
  72. pytest-codspeed = "^3.1.2"
  73. [tool.poetry.scripts]
  74. reflex = "reflex.reflex:cli"
  75. [build-system]
  76. requires = ["poetry-core>=1.5.1"]
  77. build-backend = "poetry.core.masonry.api"
  78. [tool.pyright]
  79. reportIncompatibleMethodOverride = false
  80. [tool.ruff]
  81. target-version = "py310"
  82. output-format = "concise"
  83. lint.isort.split-on-trailing-comma = false
  84. lint.select = ["ANN001","B", "C4", "D", "E", "ERA", "F", "FURB", "I", "N", "PERF", "PGH", "PTH", "RUF", "SIM", "T", "TRY", "W"]
  85. lint.ignore = ["B008", "D205", "E501", "F403", "SIM115", "RUF006", "RUF008", "RUF012", "TRY0"]
  86. lint.pydocstyle.convention = "google"
  87. [tool.ruff.lint.per-file-ignores]
  88. "__init__.py" = ["F401"]
  89. "tests/*.py" = ["ANN001", "D100", "D103", "D104", "B018", "PERF", "T", "N"]
  90. "benchmarks/*.py" = ["ANN001", "D100", "D103", "D104", "B018", "PERF", "T", "N"]
  91. "reflex/.templates/*.py" = ["D100", "D103", "D104"]
  92. "*.pyi" = ["D301", "D415", "D417", "D418", "E742", "N", "PGH"]
  93. "pyi_generator.py" = ["N802"]
  94. "reflex/constants/*.py" = ["N"]
  95. "*/blank.py" = ["I001"]
  96. [tool.pytest.ini_options]
  97. filterwarnings = "ignore:fields may not start with an underscore:RuntimeWarning"
  98. asyncio_default_fixture_loop_scope = "function"
  99. asyncio_mode = "auto"
  100. [tool.codespell]
  101. skip = "docs/*,*.html,examples/*, *.pyi, poetry.lock"
  102. ignore-words-list = "te, TreeE"