Skip to content

Commit c9edefe

Browse files
Merge pull request #2813 from VWS-Python/add-pyrefly
Add pyrefly and pyrefly-docs configuration
2 parents d68c832 + b7fcaf6 commit c9edefe

File tree

6 files changed

+47
-5
lines changed

6 files changed

+47
-5
lines changed

.pre-commit-config.yaml

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,8 @@ ci:
3838
- vulture
3939
- vulture-docs
4040
- yamlfix
41+
- pyrefly
42+
- pyrefly-docs
4143

4244
# See https://pre-commit.com for more information
4345
# See https://pre-commit.com/hooks.html for more hooks
@@ -389,3 +391,21 @@ repos:
389391
types_or: [rst]
390392
additional_dependencies: [uv==0.9.5]
391393
stages: [pre-commit]
394+
395+
- id: pyrefly
396+
name: pyrefly
397+
stages: [pre-push]
398+
entry: uv run --extra=dev pyrefly check
399+
language: python
400+
types_or: [python, toml]
401+
pass_filenames: false
402+
additional_dependencies: [uv==0.9.5]
403+
404+
- id: pyrefly-docs
405+
name: pyrefly-docs
406+
stages: [pre-push]
407+
entry: uv run --extra=dev doccmd --no-write-to-file --example-workers 0 --language=python
408+
--command="pyrefly check"
409+
language: python
410+
types_or: [markdown, rst]
411+
additional_dependencies: [uv==0.9.5]

admin/create_secrets_files.py

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,12 +8,16 @@
88
import sys
99
import textwrap
1010
from pathlib import Path
11+
from typing import TYPE_CHECKING
1112

1213
import vws_web_tools
1314
from dotenv import load_dotenv
1415
from selenium import webdriver
1516
from selenium.common.exceptions import TimeoutException
1617

18+
if TYPE_CHECKING:
19+
from selenium.webdriver.remote.webdriver import WebDriver
20+
1721

1822
def main() -> None:
1923
"""
@@ -37,7 +41,7 @@ def main() -> None:
3741
for i in range(num_databases)
3842
]
3943
files_to_create = [file for file in required_files if not file.exists()]
40-
driver = None
44+
driver: WebDriver | None = None
4145

4246
while files_to_create:
4347
if driver is None:

pyproject.toml

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -70,6 +70,7 @@ optional-dependencies.dev = [
7070
"pylint[spelling]==4.0.4",
7171
"pylint-per-file-ignores==3.2.0",
7272
"pyproject-fmt==2.11.1",
73+
"pyrefly==0.46.1",
7374
"pyright==1.1.407",
7475
"pyroma==5.0.1",
7576
"pytest==9.0.2",
@@ -389,6 +390,12 @@ plugins = [
389390
]
390391
follow_untyped_imports = true
391392

393+
[tool.pyrefly]
394+
search_path = [
395+
".",
396+
"src",
397+
]
398+
392399
[tool.pyright]
393400

394401
enableTypeIgnoreComments = false

spelling_private_dict.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -74,6 +74,7 @@ plugins
7474
png
7575
pragma
7676
processable
77+
pyrefly
7778
pyright
7879
pytest
7980
readme

src/mock_vws/_flask_server/target_manager.py

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -248,7 +248,11 @@ def delete_target(database_name: str, target_id: str) -> Response:
248248
)
249249
target = database.get_target(target_id=target_id)
250250
now = datetime.datetime.now(tz=target.upload_date.tzinfo)
251-
new_target = copy.replace(target, delete_date=now)
251+
# See https://github.com/facebook/pyrefly/issues/1897
252+
new_target = copy.replace(
253+
target, # pyrefly: ignore[bad-argument-type]
254+
delete_date=now,
255+
)
252256
database.targets.remove(target)
253257
database.targets.add(new_target)
254258
return Response(
@@ -289,8 +293,9 @@ def update_target(database_name: str, target_id: str) -> Response:
289293
gmt = ZoneInfo(key="GMT")
290294
last_modified_date = datetime.datetime.now(tz=gmt)
291295

296+
# See https://github.com/facebook/pyrefly/issues/1897
292297
new_target = copy.replace(
293-
target,
298+
target, # pyrefly: ignore[bad-argument-type]
294299
name=name,
295300
width=width,
296301
active_flag=active_flag,

src/mock_vws/_requests_mock_server/mock_web_services_api.py

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -259,7 +259,11 @@ def delete_target(self, request: PreparedRequest) -> _ResponseType:
259259
)
260260

261261
now = datetime.datetime.now(tz=target.upload_date.tzinfo)
262-
new_target = copy.replace(target, delete_date=now)
262+
# See https://github.com/facebook/pyrefly/issues/1897
263+
new_target = copy.replace(
264+
target, # pyrefly: ignore[bad-argument-type]
265+
delete_date=now,
266+
)
263267
database.targets.remove(target)
264268
database.targets.add(new_target)
265269
date = email.utils.formatdate(
@@ -618,8 +622,9 @@ def update_target(self, request: PreparedRequest) -> _ResponseType:
618622
gmt = ZoneInfo(key="GMT")
619623
last_modified_date = datetime.datetime.now(tz=gmt)
620624

625+
# See https://github.com/facebook/pyrefly/issues/1897
621626
new_target = copy.replace(
622-
target,
627+
target, # pyrefly: ignore[bad-argument-type]
623628
name=name,
624629
width=width,
625630
active_flag=active_flag,

0 commit comments

Comments
 (0)