[tool.poetry]
name = "reflex"
version = "0.2.6"
description = "Web apps in pure Python."
license = "Apache-2.0"
authors = [
    "Nikhil Rao <nikhil@reflex.dev>",
    "Alek Petuskey <alek@reflex.dev>",
]
readme = "README.md"
homepage = "https://reflex.dev"
repository = "https://github.com/reflex-dev/reflex"
documentation = "https://reflex.dev/docs/getting-started/introduction"
keywords = [
    "web",
    "framework",
]
classifiers = [
    "Development Status :: 4 - Beta",
]
packages = [
    {include = "reflex"}
]

[tool.poetry.dependencies]
python = "^3.7"
cloudpickle = "^2.2.1"
fastapi = "^0.96.0"
gunicorn = "^20.1.0"
httpx = "^0.24.0"
jinja2 = "^3.1.2"
plotly = "^5.13.0"
psutil = "^5.9.4"
pydantic = "^1.10.2"
python-multipart = "^0.0.5"
python-socketio = "^5.7.0"
redis = "^4.3.5"
rich = "^13.0.0"
sqlmodel = "^0.0.8"
typer = "0.4.2"
uvicorn = "^0.20.0"
watchdog = "^2.3.1"
watchfiles = "^0.19.0"
websockets = "^10.4"
starlette-admin = "^0.9.0"
importlib-metadata = {version = "^6.7.0", python = ">=3.7, <3.8"}
alembic = "^1.11.1"
platformdirs = "^3.10.0"
distro = {version = "^1.8.0", platform = "linux"}
python-engineio = "!=4.6.0"

[tool.poetry.group.dev.dependencies]
pytest = "^7.1.2"
pytest-mock = "^3.10.0"
pyright = "^1.1.229"
darglint = "^1.8.1"
toml = "^0.10.2"
pytest-asyncio = "^0.20.1"
pytest-cov = "^4.0.0"
black = "^22.10.0"
ruff = "^0.0.244"
pandas = [
    {version = "^1.5.3", python = ">=3.8,<4.0"},
    {version = "^1.1", python = ">=3.7, <3.8"}
]
asynctest = "^0.13.0"
pre-commit = {version = "^3.2.1", python = ">=3.8,<4.0"}
selenium = "^4.10.0"

[tool.poetry.scripts]
reflex = "reflex.reflex:cli"

[build-system]
requires = ["poetry-core>=1.5.1"]
build-backend = "poetry.core.masonry.api"

[tool.pyright]

[tool.ruff]

select = ["B", "D", "E", "F", "I", "SIM", "W"]

ignore = ["B008", "D203", "D205", "D213", "D401", "D406", "D407", "E501", "F403", "F405", "F541"]

target-version = "py37"

[tool.ruff.per-file-ignores]

"__init__.py" = ["F401"]
"tests/*.py" = ["D100", "D103", "D104"]
"reflex/.templates/*.py" = ["D100", "D103", "D104"]
