Skip to content

Commit 6a96477

Browse files
authored
Merge branch 'main' into task/9693-add-uv-cooldown
2 parents 676c911 + b203692 commit 6a96477

223 files changed

Lines changed: 3484 additions & 1120 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/workflows/benchmark.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -40,8 +40,8 @@ jobs:
4040
- name: Install the project
4141
shell: bash
4242
run: uv sync --locked --dev
43-
- name: Run regression tests
44-
run: uv run pytest ./tests/benchmark_otanalytics.py --benchmark-json output.json
43+
- name: Run benchmark tests
44+
run: uv run pytest ./tests/benchmark --benchmark-json output.json
4545
- name: Store benchmark result
4646
uses: benchmark-action/github-action-benchmark@v1
4747
with:

.github/workflows/regression-test.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,4 +39,4 @@ jobs:
3939
shell: bash
4040
run: uv sync --locked --dev
4141
- name: Run regression tests
42-
run: uv run pytest ./tests/regression_otanalytics.py
42+
run: uv run pytest ./tests/regression

.github/workflows/test.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,4 +31,4 @@ jobs:
3131
with:
3232
py-version: ${{ matrix.py }}
3333
package-path: OTAnalytics
34-
test-path: tests/OTAnalytics
34+
test-path: tests/unit

.pre-commit-config.yaml

Lines changed: 15 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -14,15 +14,10 @@ repos:
1414
- id: requirements-txt-fixer
1515
- id: check-executables-have-shebangs
1616
- id: detect-private-key
17-
- repo: local
17+
- repo: https://github.com/OpenTrafficCam/dependency-update-pre-commit
18+
rev: v0.2.0
1819
hooks:
19-
- id: update-type-stubs
20-
name: Check for Type Stubs and Update Config
21-
entry: ./update_precommit.py
22-
language: system
23-
files: ^requirements.*\.txt$
24-
stages:
25-
- pre-commit
20+
- id: update-mypy-dependencies
2621
- repo: https://github.com/PyCQA/flake8
2722
rev: 7.3.0
2823
hooks:
@@ -45,36 +40,38 @@ repos:
4540
entry: mypy OTAnalytics tests --config-file=pyproject.toml
4641
additional_dependencies:
4742
- av==13.0.0
48-
- black==24.8.0
43+
- black==25.1.0
4944
- customtkinter==5.2.2
50-
- fastapi==0.116.2
51-
- hatch-requirements-txt==0.4.1
45+
- fastapi==0.128.0
5246
- ijson==3.3.0
5347
- interrogate==1.7.0
54-
- isort==5.13.2
48+
- isort==6.0.1
5549
- matplotlib==3.10.0
5650
- more-itertools==10.7.0
5751
- mypy==1.16.1
5852
- nicegui==2.24.1
5953
- numpy==2.1.1
6054
- opencv-python-headless==4.10.0.84
61-
- pandas-stubs==2.2.3.241126
55+
- pandas-stubs==2.3.2.250926
6256
- pandas==2.3.3
57+
- playwright==1.55.0
6358
- polars==1.32.3
6459
- pre-commit==4.1.0
6560
- pyarrow==21.0.0
6661
- pytest-asyncio==0.24.0
6762
- pytest-benchmark==5.1.0
68-
- pytest-cov==6.0.0
69-
- pytest-lazy-fixtures==1.1.2
63+
- pytest-cov==7.0.0
64+
- pytest-lazy-fixtures==1.4.0
65+
- pytest-playwright==0.7.1
66+
- pytest-timeout==2.4.0
7067
- pytest==8.3.4
71-
- starlette==0.48.0
72-
- twine==6.1.0
68+
- starlette==0.49.1
69+
- twine==6.2.0
7370
- types-PyYAML
7471
- types-flake8
7572
- types-openpyxl
7673
- types-pillow
77-
- types-pywin32
74+
- types-pywin32; sys_platform == "win32"
7875
- types-requests
7976
- types-seaborn
8077
- types-selenium
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
<component name="ProjectRunConfigurationManager">
2+
<configuration default="false" name="pytest-acceptance-tests" type="tests" factoryName="py.test">
3+
<module name="OTAnalytics"/>
4+
<option name="INTERPRETER_OPTIONS" value=""/>
5+
<option name="PARENT_ENVS" value="true"/>
6+
<option name="SDK_HOME" value=""/>
7+
<option name="WORKING_DIRECTORY" value="$PROJECT_DIR$"/>
8+
<option name="IS_MODULE_SDK" value="true"/>
9+
<option name="ADD_CONTENT_ROOTS" value="true"/>
10+
<option name="ADD_SOURCE_ROOTS" value="true"/>
11+
<EXTENSION ID="PythonCoverageRunConfigurationExtension" runner="coverage.py"/>
12+
<option name="_new_keywords" value="&quot;&quot;"/>
13+
<option name="_new_parameters" value="&quot;&quot;"/>
14+
<option name="_new_additionalArguments" value="&quot;&quot;"/>
15+
<option name="_new_target" value="&quot;$PROJECT_DIR$/tests/acceptance&quot;"/>
16+
<option name="_new_targetType" value="&quot;PATH&quot;"/>
17+
<method v="2"/>
18+
</configuration>
19+
</component>
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
<component name="ProjectRunConfigurationManager">
2+
<configuration default="false" name="pytest-benchmark-tests" type="tests" factoryName="py.test">
3+
<module name="OTAnalytics"/>
4+
<option name="INTERPRETER_OPTIONS" value=""/>
5+
<option name="PARENT_ENVS" value="true"/>
6+
<option name="SDK_HOME" value=""/>
7+
<option name="WORKING_DIRECTORY" value="$PROJECT_DIR$"/>
8+
<option name="IS_MODULE_SDK" value="true"/>
9+
<option name="ADD_CONTENT_ROOTS" value="true"/>
10+
<option name="ADD_SOURCE_ROOTS" value="true"/>
11+
<EXTENSION ID="PythonCoverageRunConfigurationExtension" runner="coverage.py"/>
12+
<option name="_new_keywords" value="&quot;&quot;"/>
13+
<option name="_new_parameters" value="&quot;&quot;"/>
14+
<option name="_new_additionalArguments" value="&quot;&quot;"/>
15+
<option name="_new_target" value="&quot;$PROJECT_DIR$/tests/benchmark&quot;"/>
16+
<option name="_new_targetType" value="&quot;PATH&quot;"/>
17+
<method v="2"/>
18+
</configuration>
19+
</component>
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
<component name="ProjectRunConfigurationManager">
2+
<configuration default="false" name="pytest-regression-tests" type="tests" factoryName="py.test">
3+
<module name="OTAnalytics"/>
4+
<option name="INTERPRETER_OPTIONS" value=""/>
5+
<option name="PARENT_ENVS" value="true"/>
6+
<option name="SDK_HOME" value=""/>
7+
<option name="WORKING_DIRECTORY" value="$PROJECT_DIR$"/>
8+
<option name="IS_MODULE_SDK" value="true"/>
9+
<option name="ADD_CONTENT_ROOTS" value="true"/>
10+
<option name="ADD_SOURCE_ROOTS" value="true"/>
11+
<EXTENSION ID="PythonCoverageRunConfigurationExtension" runner="coverage.py"/>
12+
<option name="_new_keywords" value="&quot;&quot;"/>
13+
<option name="_new_parameters" value="&quot;&quot;"/>
14+
<option name="_new_additionalArguments" value="&quot;&quot;"/>
15+
<option name="_new_target" value="&quot;$PROJECT_DIR$/tests/regression&quot;"/>
16+
<option name="_new_targetType" value="&quot;PATH&quot;"/>
17+
<method v="2"/>
18+
</configuration>
19+
</component>

.run/pytest-unit-tests.run.xml

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
<component name="ProjectRunConfigurationManager">
2+
<configuration default="false" name="pytest-unit-tests" type="tests" factoryName="py.test">
3+
<module name="OTAnalytics"/>
4+
<option name="INTERPRETER_OPTIONS" value=""/>
5+
<option name="PARENT_ENVS" value="true"/>
6+
<option name="SDK_HOME" value=""/>
7+
<option name="WORKING_DIRECTORY" value="$PROJECT_DIR$"/>
8+
<option name="IS_MODULE_SDK" value="true"/>
9+
<option name="ADD_CONTENT_ROOTS" value="true"/>
10+
<option name="ADD_SOURCE_ROOTS" value="true"/>
11+
<EXTENSION ID="PythonCoverageRunConfigurationExtension" runner="coverage.py"/>
12+
<option name="_new_keywords" value="&quot;&quot;"/>
13+
<option name="_new_parameters" value="&quot;&quot;"/>
14+
<option name="_new_additionalArguments" value="&quot;&quot;"/>
15+
<option name="_new_target" value="&quot;$PROJECT_DIR$/tests/unit&quot;"/>
16+
<option name="_new_targetType" value="&quot;PATH&quot;"/>
17+
<method v="2"/>
18+
</configuration>
19+
</component>

OTAnalytics/adapter_ui/abstract_frame_filter.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,10 @@
11
from abc import ABC, abstractmethod
22

3+
from OTAnalytics.adapter_ui.abstract_frame import AbstractFrame
34
from OTAnalytics.adapter_ui.dto import DateRangeDto
45

56

6-
class AbstractFrameFilter(ABC):
7+
class AbstractFrameFilter(AbstractFrame, ABC):
78
@abstractmethod
89
def _introduce_to_viewmodel(self) -> None:
910
pass

OTAnalytics/adapter_ui/abstract_frame_project.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
1-
from abc import abstractmethod
1+
from abc import ABC, abstractmethod
22
from datetime import datetime
33
from typing import Optional
44

55

6-
class AbstractFrameProject:
6+
class AbstractFrameProject(ABC):
77
@abstractmethod
88
def introduce_to_viewmodel(self) -> None:
99
pass
@@ -17,7 +17,7 @@ def set_enabled_general_buttons(self, enabled: bool) -> None:
1717
raise NotImplementedError
1818

1919

20-
class AbstractFrameSvzMetadata:
20+
class AbstractFrameSvzMetadata(ABC):
2121
@abstractmethod
2222
def introduce_to_viewmodel(self) -> None:
2323
pass

0 commit comments

Comments
 (0)