File tree Expand file tree Collapse file tree 4 files changed +58
-2
lines changed Expand file tree Collapse file tree 4 files changed +58
-2
lines changed Original file line number Diff line number Diff line change @@ -19,3 +19,12 @@ pip install -r requirements_dev.txt
19
19
```
20
20
fastapi dev oc4ids_datastore_api/main.py
21
21
```
22
+
23
+ ### Run linting and type checking
24
+
25
+ ```
26
+ black oc4ids_datastore_api/
27
+ isort oc4ids_datastore_api/
28
+ flake8 oc4ids_datastore_api/
29
+ mypy oc4ids_datastore_api/
30
+ ```
Original file line number Diff line number Diff line change 1
1
from fastapi import FastAPI
2
2
3
-
4
3
app = FastAPI ()
5
4
6
5
7
6
@app .get ("/" )
8
- def index ():
7
+ def index () -> str :
9
8
return "Hello, World!"
Original file line number Diff line number Diff line change @@ -10,3 +10,21 @@ readme = "README.md"
10
10
dependencies = [
11
11
" fastapi[standard]"
12
12
]
13
+
14
+ [project .optional-dependencies ]
15
+ dev = [
16
+ " black" ,
17
+ " isort" ,
18
+ " flake8" ,
19
+ " Flake8-pyproject" ,
20
+ " mypy" ,
21
+ ]
22
+
23
+ [tool .isort ]
24
+ profile = " black"
25
+
26
+ [tool .flake8 ]
27
+ max-line-length = 88
28
+
29
+ [tool .mypy ]
30
+ strict = true
Original file line number Diff line number Diff line change @@ -11,12 +11,15 @@ anyio==4.8.0
11
11
# httpx
12
12
# starlette
13
13
# watchfiles
14
+ black==25.1.0
15
+ # via oc4ids-datastore-api (pyproject.toml)
14
16
certifi==2025.1.31
15
17
# via
16
18
# httpcore
17
19
# httpx
18
20
click==8.1.8
19
21
# via
22
+ # black
20
23
# rich-toolkit
21
24
# typer
22
25
# uvicorn
@@ -28,6 +31,12 @@ fastapi[standard]==0.115.8
28
31
# via oc4ids-datastore-api (pyproject.toml)
29
32
fastapi-cli[standard]==0.0.7
30
33
# via fastapi
34
+ flake8==7.1.1
35
+ # via
36
+ # flake8-pyproject
37
+ # oc4ids-datastore-api (pyproject.toml)
38
+ flake8-pyproject==1.2.3
39
+ # via oc4ids-datastore-api (pyproject.toml)
31
40
h11==0.14.0
32
41
# via
33
42
# httpcore
@@ -43,18 +52,38 @@ idna==3.10
43
52
# anyio
44
53
# email-validator
45
54
# httpx
55
+ isort==6.0.0
56
+ # via oc4ids-datastore-api (pyproject.toml)
46
57
jinja2==3.1.5
47
58
# via fastapi
48
59
markdown-it-py==3.0.0
49
60
# via rich
50
61
markupsafe==3.0.2
51
62
# via jinja2
63
+ mccabe==0.7.0
64
+ # via flake8
52
65
mdurl==0.1.2
53
66
# via markdown-it-py
67
+ mypy==1.15.0
68
+ # via oc4ids-datastore-api (pyproject.toml)
69
+ mypy-extensions==1.0.0
70
+ # via
71
+ # black
72
+ # mypy
73
+ packaging==24.2
74
+ # via black
75
+ pathspec==0.12.1
76
+ # via black
77
+ platformdirs==4.3.6
78
+ # via black
79
+ pycodestyle==2.12.1
80
+ # via flake8
54
81
pydantic==2.10.6
55
82
# via fastapi
56
83
pydantic-core==2.27.2
57
84
# via pydantic
85
+ pyflakes==3.2.0
86
+ # via flake8
58
87
pygments==2.19.1
59
88
# via rich
60
89
python-dotenv==1.0.1
@@ -81,6 +110,7 @@ typing-extensions==4.12.2
81
110
# via
82
111
# anyio
83
112
# fastapi
113
+ # mypy
84
114
# pydantic
85
115
# pydantic-core
86
116
# rich-toolkit
You can’t perform that action at this time.
0 commit comments