fastapi-cli 0.0.2__tar.gz → 0.0.3__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (59) hide show
  1. {fastapi_cli-0.0.2 → fastapi_cli-0.0.3}/PKG-INFO +4 -2
  2. {fastapi_cli-0.0.2 → fastapi_cli-0.0.3}/README.md +2 -0
  3. {fastapi_cli-0.0.2 → fastapi_cli-0.0.3}/pyproject.toml +2 -2
  4. fastapi_cli-0.0.3/requirements-tests.txt +9 -0
  5. fastapi_cli-0.0.3/src/fastapi_cli/__init__.py +1 -0
  6. {fastapi_cli-0.0.2 → fastapi_cli-0.0.3}/src/fastapi_cli/cli.py +9 -0
  7. {fastapi_cli-0.0.2 → fastapi_cli-0.0.3}/tests/test_cli.py +8 -0
  8. fastapi_cli-0.0.2/requirements-tests.txt +0 -6
  9. fastapi_cli-0.0.2/src/fastapi_cli/__init__.py +0 -1
  10. {fastapi_cli-0.0.2 → fastapi_cli-0.0.3}/LICENSE +0 -0
  11. {fastapi_cli-0.0.2 → fastapi_cli-0.0.3}/pdm_build.py +0 -0
  12. {fastapi_cli-0.0.2 → fastapi_cli-0.0.3}/requirements.txt +0 -0
  13. {fastapi_cli-0.0.2 → fastapi_cli-0.0.3}/scripts/format.sh +0 -0
  14. {fastapi_cli-0.0.2 → fastapi_cli-0.0.3}/scripts/lint.sh +0 -0
  15. {fastapi_cli-0.0.2 → fastapi_cli-0.0.3}/scripts/test-cov-html.sh +0 -0
  16. {fastapi_cli-0.0.2 → fastapi_cli-0.0.3}/scripts/test.sh +0 -0
  17. {fastapi_cli-0.0.2 → fastapi_cli-0.0.3}/src/fastapi_cli/__main__.py +0 -0
  18. {fastapi_cli-0.0.2 → fastapi_cli-0.0.3}/src/fastapi_cli/discover.py +0 -0
  19. {fastapi_cli-0.0.2 → fastapi_cli-0.0.3}/src/fastapi_cli/exceptions.py +0 -0
  20. {fastapi_cli-0.0.2 → fastapi_cli-0.0.3}/src/fastapi_cli/logging.py +0 -0
  21. {fastapi_cli-0.0.2 → fastapi_cli-0.0.3}/src/fastapi_cli/py.typed +0 -0
  22. {fastapi_cli-0.0.2 → fastapi_cli-0.0.3}/tests/__init__.py +0 -0
  23. {fastapi_cli-0.0.2 → fastapi_cli-0.0.3}/tests/assets/broken_package/mod/__init__.py +0 -0
  24. {fastapi_cli-0.0.2 → fastapi_cli-0.0.3}/tests/assets/broken_package/mod/app.py +0 -0
  25. {fastapi_cli-0.0.2 → fastapi_cli-0.0.3}/tests/assets/broken_package/utils.py +0 -0
  26. {fastapi_cli-0.0.2 → fastapi_cli-0.0.3}/tests/assets/default_files/default_api/api.py +0 -0
  27. {fastapi_cli-0.0.2 → fastapi_cli-0.0.3}/tests/assets/default_files/default_app/api.py +0 -0
  28. {fastapi_cli-0.0.2 → fastapi_cli-0.0.3}/tests/assets/default_files/default_app/app.py +0 -0
  29. {fastapi_cli-0.0.2 → fastapi_cli-0.0.3}/tests/assets/default_files/default_app_dir_api/app/__init__.py +0 -0
  30. {fastapi_cli-0.0.2 → fastapi_cli-0.0.3}/tests/assets/default_files/default_app_dir_api/app/api.py +0 -0
  31. {fastapi_cli-0.0.2 → fastapi_cli-0.0.3}/tests/assets/default_files/default_app_dir_app/app/__init__.py +0 -0
  32. {fastapi_cli-0.0.2 → fastapi_cli-0.0.3}/tests/assets/default_files/default_app_dir_app/app/api.py +0 -0
  33. {fastapi_cli-0.0.2 → fastapi_cli-0.0.3}/tests/assets/default_files/default_app_dir_app/app/app.py +0 -0
  34. {fastapi_cli-0.0.2 → fastapi_cli-0.0.3}/tests/assets/default_files/default_app_dir_main/app/__init__.py +0 -0
  35. {fastapi_cli-0.0.2 → fastapi_cli-0.0.3}/tests/assets/default_files/default_app_dir_main/app/api.py +0 -0
  36. {fastapi_cli-0.0.2 → fastapi_cli-0.0.3}/tests/assets/default_files/default_app_dir_main/app/app.py +0 -0
  37. {fastapi_cli-0.0.2 → fastapi_cli-0.0.3}/tests/assets/default_files/default_app_dir_main/app/main.py +0 -0
  38. {fastapi_cli-0.0.2 → fastapi_cli-0.0.3}/tests/assets/default_files/default_app_dir_non_default/app/__init__.py +0 -0
  39. {fastapi_cli-0.0.2 → fastapi_cli-0.0.3}/tests/assets/default_files/default_app_dir_non_default/app/nondefault.py +0 -0
  40. {fastapi_cli-0.0.2 → fastapi_cli-0.0.3}/tests/assets/default_files/default_main/api.py +0 -0
  41. {fastapi_cli-0.0.2 → fastapi_cli-0.0.3}/tests/assets/default_files/default_main/app.py +0 -0
  42. {fastapi_cli-0.0.2 → fastapi_cli-0.0.3}/tests/assets/default_files/default_main/main.py +0 -0
  43. {fastapi_cli-0.0.2 → fastapi_cli-0.0.3}/tests/assets/default_files/non_default/nonstandard.py +0 -0
  44. {fastapi_cli-0.0.2 → fastapi_cli-0.0.3}/tests/assets/package/__init__.py +0 -0
  45. {fastapi_cli-0.0.2 → fastapi_cli-0.0.3}/tests/assets/package/core/__init__.py +0 -0
  46. {fastapi_cli-0.0.2 → fastapi_cli-0.0.3}/tests/assets/package/core/utils.py +0 -0
  47. {fastapi_cli-0.0.2 → fastapi_cli-0.0.3}/tests/assets/package/mod/__init__.py +0 -0
  48. {fastapi_cli-0.0.2 → fastapi_cli-0.0.3}/tests/assets/package/mod/api.py +0 -0
  49. {fastapi_cli-0.0.2 → fastapi_cli-0.0.3}/tests/assets/package/mod/app.py +0 -0
  50. {fastapi_cli-0.0.2 → fastapi_cli-0.0.3}/tests/assets/package/mod/other.py +0 -0
  51. {fastapi_cli-0.0.2 → fastapi_cli-0.0.3}/tests/assets/single_file_api.py +0 -0
  52. {fastapi_cli-0.0.2 → fastapi_cli-0.0.3}/tests/assets/single_file_app.py +0 -0
  53. {fastapi_cli-0.0.2 → fastapi_cli-0.0.3}/tests/assets/single_file_other.py +0 -0
  54. {fastapi_cli-0.0.2 → fastapi_cli-0.0.3}/tests/conftest.py +0 -0
  55. {fastapi_cli-0.0.2 → fastapi_cli-0.0.3}/tests/test_utils_default_dir.py +0 -0
  56. {fastapi_cli-0.0.2 → fastapi_cli-0.0.3}/tests/test_utils_default_file.py +0 -0
  57. {fastapi_cli-0.0.2 → fastapi_cli-0.0.3}/tests/test_utils_package.py +0 -0
  58. {fastapi_cli-0.0.2 → fastapi_cli-0.0.3}/tests/test_utils_single_file.py +0 -0
  59. {fastapi_cli-0.0.2 → fastapi_cli-0.0.3}/tests/utils.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: fastapi-cli
3
- Version: 0.0.2
3
+ Version: 0.0.3
4
4
  Summary: Run and manage FastAPI apps from the command line with FastAPI CLI. 🚀
5
5
  Home-page: https://github.com/tiangolo/fastapi-cli
6
6
  Author-Email: =?utf-8?q?Sebasti=C3=A1n_Ram=C3=ADrez?= <tiangolo@gmail.com>
@@ -33,7 +33,7 @@ Project-URL: Repository, https://github.com/tiangolo/fastapi-cli
33
33
  Requires-Python: >=3.8
34
34
  Requires-Dist: typer>=0.12.3
35
35
  Requires-Dist: fastapi
36
- Requires-Dist: uvicorn[standard]>=0.29.0
36
+ Requires-Dist: uvicorn[standard]>=0.15.0
37
37
  Description-Content-Type: text/markdown
38
38
 
39
39
  # FastAPI CLI
@@ -120,6 +120,8 @@ FastAPI CLI takes the path to your Python program and automatically detects the
120
120
 
121
121
  For production you would use `fastapi run` instead. 🚀
122
122
 
123
+ Internally, **FastAPI CLI** uses <a href="https://www.uvicorn.org" class="external-link" target="_blank">Uvicorn</a>, a high-performance, production-ready, ASGI server. 😎
124
+
123
125
  ## `fastapi dev`
124
126
 
125
127
  When you run `fastapi dev`, it will run on development mode.
@@ -82,6 +82,8 @@ FastAPI CLI takes the path to your Python program and automatically detects the
82
82
 
83
83
  For production you would use `fastapi run` instead. 🚀
84
84
 
85
+ Internally, **FastAPI CLI** uses <a href="https://www.uvicorn.org" class="external-link" target="_blank">Uvicorn</a>, a high-performance, production-ready, ASGI server. 😎
86
+
85
87
  ## `fastapi dev`
86
88
 
87
89
  When you run `fastapi dev`, it will run on development mode.
@@ -34,9 +34,9 @@ classifiers = [
34
34
  dependencies = [
35
35
  "typer >= 0.12.3",
36
36
  "fastapi",
37
- "uvicorn[standard] >= 0.29.0",
37
+ "uvicorn[standard] >= 0.15.0",
38
38
  ]
39
- version = "0.0.2"
39
+ version = "0.0.3"
40
40
 
41
41
  [project.license]
42
42
  text = "MIT"
@@ -0,0 +1,9 @@
1
+ -e .
2
+
3
+ pytest >=4.4.0,<9.0.0
4
+ coverage[toml] >=6.2,<8.0
5
+ mypy ==1.10.0
6
+ ruff ==0.4.3
7
+ # Needed explicitly by fastapi-cli-slim
8
+ fastapi-slim
9
+ uvicorn
@@ -0,0 +1 @@
1
+ __version__ = "0.0.3"
@@ -51,6 +51,7 @@ def _run(
51
51
  host: str = "127.0.0.1",
52
52
  port: int = 8000,
53
53
  reload: bool = True,
54
+ workers: Union[int, None] = None,
54
55
  root_path: str = "",
55
56
  command: str,
56
57
  app: Union[str, None] = None,
@@ -85,6 +86,7 @@ def _run(
85
86
  host=host,
86
87
  port=port,
87
88
  reload=reload,
89
+ workers=workers,
88
90
  root_path=root_path,
89
91
  proxy_headers=proxy_headers,
90
92
  )
@@ -200,6 +202,12 @@ def run(
200
202
  help="Enable auto-reload of the server when (code) files change. This is [bold]resource intensive[/bold], use it only during development."
201
203
  ),
202
204
  ] = False,
205
+ workers: Annotated[
206
+ Union[int, None],
207
+ typer.Option(
208
+ help="Use multiple worker processes. Mutually exclusive with the --reload flag."
209
+ ),
210
+ ] = None,
203
211
  root_path: Annotated[
204
212
  str,
205
213
  typer.Option(
@@ -249,6 +257,7 @@ def run(
249
257
  host=host,
250
258
  port=port,
251
259
  reload=reload,
260
+ workers=workers,
252
261
  root_path=root_path,
253
262
  app=app,
254
263
  command="run",
@@ -26,6 +26,7 @@ def test_dev() -> None:
26
26
  "host": "127.0.0.1",
27
27
  "port": 8000,
28
28
  "reload": True,
29
+ "workers": None,
29
30
  "root_path": "",
30
31
  "proxy_headers": True,
31
32
  }
@@ -67,6 +68,7 @@ def test_dev_args() -> None:
67
68
  "host": "192.168.0.2",
68
69
  "port": 8080,
69
70
  "reload": False,
71
+ "workers": None,
70
72
  "root_path": "/api",
71
73
  "proxy_headers": False,
72
74
  }
@@ -92,6 +94,7 @@ def test_run() -> None:
92
94
  "host": "0.0.0.0",
93
95
  "port": 8000,
94
96
  "reload": False,
97
+ "workers": None,
95
98
  "root_path": "",
96
99
  "proxy_headers": True,
97
100
  }
@@ -118,6 +121,8 @@ def test_run_args() -> None:
118
121
  "--port",
119
122
  "8080",
120
123
  "--no-reload",
124
+ "--workers",
125
+ "2",
121
126
  "--root-path",
122
127
  "/api",
123
128
  "--app",
@@ -133,6 +138,7 @@ def test_run_args() -> None:
133
138
  "host": "192.168.0.2",
134
139
  "port": 8080,
135
140
  "reload": False,
141
+ "workers": 2,
136
142
  "root_path": "/api",
137
143
  "proxy_headers": False,
138
144
  }
@@ -171,6 +177,7 @@ def test_dev_help() -> None:
171
177
  assert "Enable auto-reload of the server when (code) files change." in result.output
172
178
  assert "The root path is used to tell your app" in result.output
173
179
  assert "The name of the variable that contains the FastAPI app" in result.output
180
+ assert "Use multiple worker processes." not in result.output
174
181
 
175
182
 
176
183
  def test_run_help() -> None:
@@ -191,6 +198,7 @@ def test_run_help() -> None:
191
198
  assert "Enable auto-reload of the server when (code) files change." in result.output
192
199
  assert "The root path is used to tell your app" in result.output
193
200
  assert "The name of the variable that contains the FastAPI app" in result.output
201
+ assert "Use multiple worker processes." in result.output
194
202
 
195
203
 
196
204
  def test_callback_help() -> None:
@@ -1,6 +0,0 @@
1
- -e .
2
-
3
- pytest >=4.4.0,<8.0.0
4
- coverage[toml] >=6.2,<8.0
5
- mypy ==1.4.1
6
- ruff ==0.2.0
@@ -1 +0,0 @@
1
- __version__ = "0.0.2"
File without changes
File without changes
File without changes
File without changes
File without changes