forked from zauberzeug/nicegui
-
Notifications
You must be signed in to change notification settings - Fork 0
/
pyproject.toml
130 lines (120 loc) · 3.72 KB
/
pyproject.toml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
[tool.poetry]
name = "nicegui"
version = "1.4.26-dev"
description = "Create web-based user interfaces with Python. The nice way."
authors = ["Zauberzeug GmbH <[email protected]>"]
license = "MIT"
readme = "README.md"
repository = "https://github.com/zauberzeug/nicegui"
keywords = ["gui", "ui", "web", "interface", "live"]
[tool.poetry.dependencies]
python = "^3.8"
typing-extensions = ">=4.0.0"
markdown2 = ">=2.4.7,!=2.4.11"
Pygments = ">=2.15.1,<3.0.0"
uvicorn = {extras = ["standard"], version = ">=0.22.0"}
fastapi = ">=0.109.1,<0.110.0" # https://github.com/zauberzeug/nicegui/security/dependabot/27
python-socketio = {extras = ["asyncio-client"], version = ">=5.10.0"} # version min: see https://github.com/zauberzeug/nicegui/issues/1809
vbuild = ">=0.8.2"
watchfiles = ">=0.18.1"
jinja2 = "^3.1.4" # https://github.com/zauberzeug/nicegui/security/dependabot/32
python-multipart = ">=0.0.7"
orjson = {version = ">=3.9.15", markers = "platform_machine != 'i386' and platform_machine != 'i686'"} # https://github.com/zauberzeug/nicegui/security/dependabot/29, orjson does not support 32bit
itsdangerous = "^2.1.2"
aiofiles = ">=23.1.0"
pywebview = { version = "^5.0.1", optional = true }
plotly = { version = "^5.13.0", optional = true }
matplotlib = { version = "^3.5.0", optional = true }
httpx = ">=0.24.0"
nicegui-highcharts = { version = "^1.0.1", optional = true }
ifaddr = ">=0.2.0"
aiohttp = ">=3.9.2" # https://github.com/zauberzeug/nicegui/security/dependabot/25 and 26
libsass = { version = "^0.23.0", optional = true }
docutils = "^0.19"
requests = ">=2.32.0" # https://github.com/zauberzeug/nicegui/security/dependabot/33
[tool.poetry.extras]
native = ["pywebview"]
plotly = ["plotly"]
matplotlib = ["matplotlib"]
highcharts = ["nicegui-highcharts"]
sass = ["libsass"]
[tool.poetry.group.dev.dependencies]
icecream = "^2.1.0"
autopep8 = "^1.5.7"
debugpy = "^1.3.0"
pytest-selenium = "^4.0.0"
pytest-asyncio = ">=0.19.0"
pytest = ">=6.2.5,<8"
itsdangerous = "^2.1.2" # required by SessionMiddleware (see https://fastapi.tiangolo.com/?h=itsdangerous#optional-dependencies)
pandas = "^2.0.0"
secure = ">=0.3.0"
webdriver-manager = "^3.8.6"
numpy = [
{version = "^1.24.0", python = "~3.8"},
{version = "^1.26.0", python = ">=3.9,<3.13"}
]
selenium = "^4.11.2"
beautifulsoup4 = "^4.12.2"
urllib3 = ">=1.26.18,^1.26 || >=2.0.7" # https://github.com/zauberzeug/nicegui/security/dependabot/23
pyecharts = "^2.0.4"
ruff = ">=0.3.5"
pre-commit = ">=3.5.0"
isort = "^5.11"
[tool.poetry.scripts]
nicegui-pack = "nicegui.scripts.pack:main"
[build-system]
requires = [
"setuptools>=30.3.0,<50",
"poetry-core>=1.0.0"
]
build-backend = "poetry.core.masonry.api"
[tool.pytest.ini_options]
addopts = "--driver Chrome"
asyncio_mode = "auto"
[tool.mypy]
python_version = "3.8"
[[tool.mypy.overrides]]
module = [
"icecream",
"markdown2",
"matplotlib.*",
"nicegui_highcharts",
"plotly.*",
"pyecharts.*",
"sass",
"socketio.*",
"vbuild",
"webview.*", # can be removed with next pywebview release
]
ignore_missing_imports = true
[tool.ruff]
indent-width = 4
line-length = 120
[tool.ruff.lint]
# See complete list: https://docs.astral.sh/ruff/rules/
select = [
"I", # isort
"E", # pycodestyle
"W", # pycodestyle
"B", # bugbear
"F", # pyflakes
"UP", # pyupgrade
"RUF", # ruff
"PL", # pylint
]
fixable = [
"I", # isort
]
ignore = [
"E501", # line too long
"UP006", # use pipe for union type annotation
"UP007", # use pipe for union type annotation
"PLR0911", # too many return statements
"PLR0912", # too many branches
"PLR0913", # too many arguments
"PLR0915", # too many statements
"PLR2004", # magic value comparison
]
exclude = [
"website/documentation/content/*",
]