File tree Expand file tree Collapse file tree 2 files changed +13
-0
lines changed Expand file tree Collapse file tree 2 files changed +13
-0
lines changed Original file line number Diff line number Diff line change @@ -86,6 +86,7 @@ def _run(
86
86
command : str ,
87
87
app : Union [str , None ] = None ,
88
88
proxy_headers : bool = False ,
89
+ reload_dir : Union [str , None ] = None ,
89
90
) -> None :
90
91
with get_rich_toolkit () as toolkit :
91
92
server_type = "development" if command == "dev" else "production"
@@ -167,6 +168,7 @@ def _run(
167
168
workers = workers ,
168
169
root_path = root_path ,
169
170
proxy_headers = proxy_headers ,
171
+ reload_dir = reload_dir .split ("," ) if reload_dir else None ,
170
172
log_config = get_uvicorn_log_config (),
171
173
)
172
174
@@ -216,6 +218,12 @@ def dev(
216
218
help = "Enable/Disable X-Forwarded-Proto, X-Forwarded-For, X-Forwarded-Port to populate remote address info."
217
219
),
218
220
] = True ,
221
+ reload_dir : Annotated [
222
+ Union [str , None ],
223
+ typer .Option (
224
+ help = "Comma separated list of directories to watch for changes in. If not provided, by default the whole current directory will be watched."
225
+ ),
226
+ ] = None ,
219
227
) -> Any :
220
228
"""
221
229
Run a [bold]FastAPI[/bold] app in [yellow]development[/yellow] mode. 🧪
@@ -251,6 +259,7 @@ def dev(
251
259
app = app ,
252
260
command = "dev" ,
253
261
proxy_headers = proxy_headers ,
262
+ reload_dir = reload_dir ,
254
263
)
255
264
256
265
Original file line number Diff line number Diff line change @@ -30,6 +30,7 @@ def test_dev() -> None:
30
30
"workers" : None ,
31
31
"root_path" : "" ,
32
32
"proxy_headers" : True ,
33
+ "reload_dir" : None ,
33
34
"log_config" : get_uvicorn_log_config (),
34
35
}
35
36
assert "Using import string: single_file_app:app" in result .output
@@ -94,6 +95,8 @@ def test_dev_args() -> None:
94
95
"--app" ,
95
96
"api" ,
96
97
"--no-proxy-headers" ,
98
+ "--reload-dir" ,
99
+ "api,config" ,
97
100
],
98
101
)
99
102
assert result .exit_code == 0 , result .output
@@ -107,6 +110,7 @@ def test_dev_args() -> None:
107
110
"workers" : None ,
108
111
"root_path" : "/api" ,
109
112
"proxy_headers" : False ,
113
+ "reload_dir" : "api,config" ,
110
114
"log_config" : get_uvicorn_log_config (),
111
115
}
112
116
assert "Using import string: single_file_app:api" in result .output
You can’t perform that action at this time.
0 commit comments