-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathpyproject.toml
More file actions
108 lines (99 loc) · 2.04 KB
/
pyproject.toml
File metadata and controls
108 lines (99 loc) · 2.04 KB
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
[build-system]
requires = ["poetry-core>=2.0.0,<3.0.0"]
build-backend = "poetry.core.masonry.api"
[project]
authors = [
{name = "Moritz Breurather", email = "breurather@ift.at"},
{name = "René Schwaiger", email = "rene.schwaiger@ift.at"},
]
dependencies = [
"colorlog>=6.9.0,<7",
"fastapi>=0.115.7",
"icostate>=0.25.0,<2",
"icolyzer>=1.8.0",
"orjson>=3.11.0",
"pandas>=2.2.3,<3",
"pathvalidate>=3.3.1,<4",
"python-dotenv>=1.0.1,<2",
"python-multipart>=0.0.20",
"pyyaml>=6.0.1,<7",
"uvicorn[standard]>=0.35.0",
"types-pyyaml (>=6.0.12.20250915,<7.0.0.0)",
]
description = """A REST and WebSocket API for the ICOtronic system using the \
Python FastAPI library"""
keywords = [
"smart-tool",
"smh",
"stu",
"sth",
"tool-holder",
]
name = "icoapi"
readme = "README.md"
requires-python = ">=3.12,<4"
version = "0.2.0a3"
[project.optional-dependencies]
dev = [
"Flake8-pyproject>=1.2.3",
"mypy>=1.19.1",
"myst-parser>=5",
"pylint>=4.0.5",
"sphinx>=9.1.0,<10",
"sphinx-pyproject>=0.3",
"sphinx_rtd_theme",
"types-requests",
]
test = [
"anyio>=4.12.0",
"httpx>=0.28.1",
"httpx-ws>=0.8.2",
"pytest>=9.0.2",
"pytest-rerunfailures>=16.1",
"pytest-sugar>=1.1.1",
]
[project.scripts]
icoapi = "icoapi.api:main"
[tool.black]
line-length = 79
preview = true
unstable = true
enable-unstable-feature = ["string_processing"]
[tool.flake8]
ignore = [
# Whitespace before colon
"E203",
# Module level import not at top of file
"E402",
# Line too long
"E501",
# Line break before binary operator
"W503",
# Line break after binary operator
"W504"
]
per-file-ignores = "__init__.py:F401,conf.py:F821"
exclude = [
".venv",
]
[tool.mypy]
ignore_missing_imports = true
[tool.pylint]
ignore-paths = [
".venv/.*$",
"icoapi/models/trident",
]
[tool.pytest]
addopts = [
"--doctest-modules",
"--verbose",
]
anyio_mode = "auto"
markers = [
"""hardware: marks tests as depending on ICOtronic hardware \
(deselect with '-m "not hardware"')""",
"hardware",
]
testpaths = [
"test"
]