You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: conformance/README.md
+19-4Lines changed: 19 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -70,9 +70,9 @@ by the scoring system.
70
70
71
71
To run the conformance test suite:
72
72
* Clone the https://github.com/python/typing repo.
73
-
*Create and activate a Python 3.12 virtual environment.
74
-
* Switch to the `conformance` subdirectory and install all dependencies (`pip install -r requirements.txt`).
75
-
*Switch to the `src` subdirectory and run `python main.py`.
73
+
*Install [uv](https://docs.astral.sh/uv/)and ensure Python 3.12 is available.
74
+
* Switch to the `conformance` subdirectory and install locked dependencies (`uv sync --python 3.12 --frozen`).
75
+
*Run the conformance tool (`uv run --python 3.12 --frozen python src/main.py`).
76
76
77
77
Note that some type checkers may not run on some platforms. If a type checker fails to install, tests will be skipped for that type checker.
78
78
@@ -92,7 +92,22 @@ If a test is updated (augmented or fixed), the process is similar to when adding
92
92
93
93
## Updating a Type Checker
94
94
95
-
If a new version of a type checker is released, re-run the test tool with the new version. If the type checker output has changed for any test cases, the tool will supply the old and new outputs. Examine these to determine whether the conformance status has changed. Once the conformance status has been updated, re-run the test tool again to regenerate the summary report.
95
+
Type checker versions are locked in `uv.lock`.
96
+
97
+
To bump all supported checkers to their latest released versions:
98
+
99
+
```bash
100
+
python scripts/bump_type_checkers.py
101
+
```
102
+
103
+
After bumping, install the new lockfile and rerun conformance:
104
+
105
+
```bash
106
+
uv sync --python 3.12 --frozen
107
+
uv run --python 3.12 --frozen python src/main.py
108
+
```
109
+
110
+
If checker output changes for any test cases, examine those deltas to determine whether the conformance status has changed. Once the conformance status has been updated, rerun the tool to regenerate the summary report.
0 commit comments