fastapi-cli 0.0.21__tar.gz → 0.0.23__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.
- {fastapi_cli-0.0.21 → fastapi_cli-0.0.23}/PKG-INFO +4 -5
- {fastapi_cli-0.0.21 → fastapi_cli-0.0.23}/pyproject.toml +7 -8
- fastapi_cli-0.0.23/src/fastapi_cli/__init__.py +1 -0
- {fastapi_cli-0.0.21 → fastapi_cli-0.0.23}/src/fastapi_cli/cli.py +18 -18
- {fastapi_cli-0.0.21 → fastapi_cli-0.0.23}/src/fastapi_cli/config.py +3 -3
- {fastapi_cli-0.0.21 → fastapi_cli-0.0.23}/src/fastapi_cli/discover.py +2 -3
- {fastapi_cli-0.0.21 → fastapi_cli-0.0.23}/src/fastapi_cli/logging.py +1 -4
- fastapi_cli-0.0.21/src/fastapi_cli/__init__.py +0 -1
- {fastapi_cli-0.0.21 → fastapi_cli-0.0.23}/LICENSE +0 -0
- {fastapi_cli-0.0.21 → fastapi_cli-0.0.23}/README.md +0 -0
- {fastapi_cli-0.0.21 → fastapi_cli-0.0.23}/pdm_build.py +0 -0
- {fastapi_cli-0.0.21 → fastapi_cli-0.0.23}/scripts/format.sh +0 -0
- {fastapi_cli-0.0.21 → fastapi_cli-0.0.23}/scripts/lint.sh +0 -0
- {fastapi_cli-0.0.21 → fastapi_cli-0.0.23}/scripts/test-cov-html.sh +0 -0
- {fastapi_cli-0.0.21 → fastapi_cli-0.0.23}/scripts/test.sh +0 -0
- {fastapi_cli-0.0.21 → fastapi_cli-0.0.23}/src/fastapi_cli/__main__.py +0 -0
- {fastapi_cli-0.0.21 → fastapi_cli-0.0.23}/src/fastapi_cli/exceptions.py +0 -0
- {fastapi_cli-0.0.21 → fastapi_cli-0.0.23}/src/fastapi_cli/py.typed +0 -0
- {fastapi_cli-0.0.21 → fastapi_cli-0.0.23}/src/fastapi_cli/utils/__init__.py +0 -0
- {fastapi_cli-0.0.21 → fastapi_cli-0.0.23}/src/fastapi_cli/utils/cli.py +0 -0
- {fastapi_cli-0.0.21 → fastapi_cli-0.0.23}/tests/__init__.py +0 -0
- {fastapi_cli-0.0.21 → fastapi_cli-0.0.23}/tests/assets/broken_package/mod/__init__.py +0 -0
- {fastapi_cli-0.0.21 → fastapi_cli-0.0.23}/tests/assets/broken_package/mod/app.py +0 -0
- {fastapi_cli-0.0.21 → fastapi_cli-0.0.23}/tests/assets/broken_package/utils.py +0 -0
- {fastapi_cli-0.0.21 → fastapi_cli-0.0.23}/tests/assets/default_files/default_api/api.py +0 -0
- {fastapi_cli-0.0.21 → fastapi_cli-0.0.23}/tests/assets/default_files/default_app/api.py +0 -0
- {fastapi_cli-0.0.21 → fastapi_cli-0.0.23}/tests/assets/default_files/default_app/app.py +0 -0
- {fastapi_cli-0.0.21 → fastapi_cli-0.0.23}/tests/assets/default_files/default_app_dir_api/app/__init__.py +0 -0
- {fastapi_cli-0.0.21 → fastapi_cli-0.0.23}/tests/assets/default_files/default_app_dir_api/app/api.py +0 -0
- {fastapi_cli-0.0.21 → fastapi_cli-0.0.23}/tests/assets/default_files/default_app_dir_app/app/__init__.py +0 -0
- {fastapi_cli-0.0.21 → fastapi_cli-0.0.23}/tests/assets/default_files/default_app_dir_app/app/api.py +0 -0
- {fastapi_cli-0.0.21 → fastapi_cli-0.0.23}/tests/assets/default_files/default_app_dir_app/app/app.py +0 -0
- {fastapi_cli-0.0.21 → fastapi_cli-0.0.23}/tests/assets/default_files/default_app_dir_main/app/__init__.py +0 -0
- {fastapi_cli-0.0.21 → fastapi_cli-0.0.23}/tests/assets/default_files/default_app_dir_main/app/api.py +0 -0
- {fastapi_cli-0.0.21 → fastapi_cli-0.0.23}/tests/assets/default_files/default_app_dir_main/app/app.py +0 -0
- {fastapi_cli-0.0.21 → fastapi_cli-0.0.23}/tests/assets/default_files/default_app_dir_main/app/main.py +0 -0
- {fastapi_cli-0.0.21 → fastapi_cli-0.0.23}/tests/assets/default_files/default_app_dir_non_default/app/__init__.py +0 -0
- {fastapi_cli-0.0.21 → fastapi_cli-0.0.23}/tests/assets/default_files/default_app_dir_non_default/app/nondefault.py +0 -0
- {fastapi_cli-0.0.21 → fastapi_cli-0.0.23}/tests/assets/default_files/default_main/api.py +0 -0
- {fastapi_cli-0.0.21 → fastapi_cli-0.0.23}/tests/assets/default_files/default_main/app.py +0 -0
- {fastapi_cli-0.0.21 → fastapi_cli-0.0.23}/tests/assets/default_files/default_main/main.py +0 -0
- {fastapi_cli-0.0.21 → fastapi_cli-0.0.23}/tests/assets/default_files/non_default/nonstandard.py +0 -0
- {fastapi_cli-0.0.21 → fastapi_cli-0.0.23}/tests/assets/nested_package/__init__.py +0 -0
- {fastapi_cli-0.0.21 → fastapi_cli-0.0.23}/tests/assets/nested_package/package/__init__.py +0 -0
- {fastapi_cli-0.0.21 → fastapi_cli-0.0.23}/tests/assets/nested_package/package/core/__init__.py +0 -0
- {fastapi_cli-0.0.21 → fastapi_cli-0.0.23}/tests/assets/nested_package/package/core/utils.py +0 -0
- {fastapi_cli-0.0.21 → fastapi_cli-0.0.23}/tests/assets/nested_package/package/mod/__init__.py +0 -0
- {fastapi_cli-0.0.21 → fastapi_cli-0.0.23}/tests/assets/nested_package/package/mod/api.py +0 -0
- {fastapi_cli-0.0.21 → fastapi_cli-0.0.23}/tests/assets/nested_package/package/mod/app.py +0 -0
- {fastapi_cli-0.0.21 → fastapi_cli-0.0.23}/tests/assets/nested_package/package/mod/other.py +0 -0
- {fastapi_cli-0.0.21 → fastapi_cli-0.0.23}/tests/assets/package/__init__.py +0 -0
- {fastapi_cli-0.0.21 → fastapi_cli-0.0.23}/tests/assets/package/core/__init__.py +0 -0
- {fastapi_cli-0.0.21 → fastapi_cli-0.0.23}/tests/assets/package/core/utils.py +0 -0
- {fastapi_cli-0.0.21 → fastapi_cli-0.0.23}/tests/assets/package/mod/__init__.py +0 -0
- {fastapi_cli-0.0.21 → fastapi_cli-0.0.23}/tests/assets/package/mod/api.py +0 -0
- {fastapi_cli-0.0.21 → fastapi_cli-0.0.23}/tests/assets/package/mod/app.py +0 -0
- {fastapi_cli-0.0.21 → fastapi_cli-0.0.23}/tests/assets/package/mod/other.py +0 -0
- {fastapi_cli-0.0.21 → fastapi_cli-0.0.23}/tests/assets/pyproject_config/another_module.py +0 -0
- {fastapi_cli-0.0.21 → fastapi_cli-0.0.23}/tests/assets/pyproject_config/my_module.py +0 -0
- {fastapi_cli-0.0.21 → fastapi_cli-0.0.23}/tests/assets/pyproject_config/pyproject.toml +0 -0
- {fastapi_cli-0.0.21 → fastapi_cli-0.0.23}/tests/assets/single_file_api.py +0 -0
- {fastapi_cli-0.0.21 → fastapi_cli-0.0.23}/tests/assets/single_file_app.py +0 -0
- {fastapi_cli-0.0.21 → fastapi_cli-0.0.23}/tests/assets/single_file_other.py +0 -0
- {fastapi_cli-0.0.21 → fastapi_cli-0.0.23}/tests/conftest.py +0 -0
- {fastapi_cli-0.0.21 → fastapi_cli-0.0.23}/tests/test_cli.py +0 -0
- {fastapi_cli-0.0.21 → fastapi_cli-0.0.23}/tests/test_cli_pyproject.py +0 -0
- {fastapi_cli-0.0.21 → fastapi_cli-0.0.23}/tests/test_discover.py +0 -0
- {fastapi_cli-0.0.21 → fastapi_cli-0.0.23}/tests/test_requirements.py +0 -0
- {fastapi_cli-0.0.21 → fastapi_cli-0.0.23}/tests/test_utils_cli.py +0 -0
- {fastapi_cli-0.0.21 → fastapi_cli-0.0.23}/tests/test_utils_default_dir.py +0 -0
- {fastapi_cli-0.0.21 → fastapi_cli-0.0.23}/tests/test_utils_default_file.py +0 -0
- {fastapi_cli-0.0.21 → fastapi_cli-0.0.23}/tests/test_utils_package.py +0 -0
- {fastapi_cli-0.0.21 → fastapi_cli-0.0.23}/tests/test_utils_single_file.py +0 -0
- {fastapi_cli-0.0.21 → fastapi_cli-0.0.23}/tests/utils.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: fastapi-cli
|
|
3
|
-
Version: 0.0.
|
|
3
|
+
Version: 0.0.23
|
|
4
4
|
Summary: Run and manage FastAPI apps from the command line with FastAPI CLI. 🚀
|
|
5
5
|
Author-Email: =?utf-8?q?Sebasti=C3=A1n_Ram=C3=ADrez?= <tiangolo@gmail.com>
|
|
6
6
|
License-Expression: MIT
|
|
@@ -19,7 +19,6 @@ Classifier: Development Status :: 4 - Beta
|
|
|
19
19
|
Classifier: Framework :: FastAPI
|
|
20
20
|
Classifier: Intended Audience :: Developers
|
|
21
21
|
Classifier: Programming Language :: Python :: 3 :: Only
|
|
22
|
-
Classifier: Programming Language :: Python :: 3.9
|
|
23
22
|
Classifier: Programming Language :: Python :: 3.10
|
|
24
23
|
Classifier: Programming Language :: Python :: 3.11
|
|
25
24
|
Classifier: Programming Language :: Python :: 3.12
|
|
@@ -30,8 +29,8 @@ Project-URL: Documentation, https://fastapi.tiangolo.com/fastapi-cli/
|
|
|
30
29
|
Project-URL: Repository, https://github.com/fastapi/fastapi-cli
|
|
31
30
|
Project-URL: Issues, https://github.com/fastapi/fastapi-cli/issues
|
|
32
31
|
Project-URL: Changelog, https://github.com/fastapi/fastapi-cli/blob/main/release-notes.md
|
|
33
|
-
Requires-Python: >=3.
|
|
34
|
-
Requires-Dist: typer>=0.
|
|
32
|
+
Requires-Python: >=3.10
|
|
33
|
+
Requires-Dist: typer>=0.16.0
|
|
35
34
|
Requires-Dist: uvicorn[standard]>=0.15.0
|
|
36
35
|
Requires-Dist: rich-toolkit>=0.14.8
|
|
37
36
|
Requires-Dist: tomli>=2.0.0; python_version < "3.11"
|
|
@@ -41,7 +40,7 @@ Requires-Dist: fastapi-cloud-cli>=0.1.1; extra == "standard"
|
|
|
41
40
|
Provides-Extra: standard-no-fastapi-cloud-cli
|
|
42
41
|
Requires-Dist: uvicorn[standard]>=0.15.0; extra == "standard-no-fastapi-cloud-cli"
|
|
43
42
|
Provides-Extra: new
|
|
44
|
-
Requires-Dist: fastapi-new>=0.0.2;
|
|
43
|
+
Requires-Dist: fastapi-new>=0.0.2; extra == "new"
|
|
45
44
|
Description-Content-Type: text/markdown
|
|
46
45
|
|
|
47
46
|
# FastAPI CLI
|
|
@@ -5,7 +5,7 @@ description = "Run and manage FastAPI apps from the command line with FastAPI CL
|
|
|
5
5
|
authors = [
|
|
6
6
|
{ name = "Sebastián Ramírez", email = "tiangolo@gmail.com" },
|
|
7
7
|
]
|
|
8
|
-
requires-python = ">=3.
|
|
8
|
+
requires-python = ">=3.10"
|
|
9
9
|
readme = "README.md"
|
|
10
10
|
license = "MIT"
|
|
11
11
|
license-files = [
|
|
@@ -26,7 +26,6 @@ classifiers = [
|
|
|
26
26
|
"Framework :: FastAPI",
|
|
27
27
|
"Intended Audience :: Developers",
|
|
28
28
|
"Programming Language :: Python :: 3 :: Only",
|
|
29
|
-
"Programming Language :: Python :: 3.9",
|
|
30
29
|
"Programming Language :: Python :: 3.10",
|
|
31
30
|
"Programming Language :: Python :: 3.11",
|
|
32
31
|
"Programming Language :: Python :: 3.12",
|
|
@@ -34,12 +33,12 @@ classifiers = [
|
|
|
34
33
|
"Programming Language :: Python :: 3.14",
|
|
35
34
|
]
|
|
36
35
|
dependencies = [
|
|
37
|
-
"typer >= 0.
|
|
36
|
+
"typer >= 0.16.0",
|
|
38
37
|
"uvicorn[standard] >= 0.15.0",
|
|
39
38
|
"rich-toolkit >= 0.14.8",
|
|
40
39
|
"tomli >= 2.0.0; python_version < '3.11'",
|
|
41
40
|
]
|
|
42
|
-
version = "0.0.
|
|
41
|
+
version = "0.0.23"
|
|
43
42
|
|
|
44
43
|
[project.optional-dependencies]
|
|
45
44
|
standard = [
|
|
@@ -50,7 +49,7 @@ standard-no-fastapi-cloud-cli = [
|
|
|
50
49
|
"uvicorn[standard] >= 0.15.0",
|
|
51
50
|
]
|
|
52
51
|
new = [
|
|
53
|
-
"fastapi-new >= 0.0.2
|
|
52
|
+
"fastapi-new >= 0.0.2",
|
|
54
53
|
]
|
|
55
54
|
|
|
56
55
|
[project.urls]
|
|
@@ -70,10 +69,10 @@ github-actions = [
|
|
|
70
69
|
]
|
|
71
70
|
tests = [
|
|
72
71
|
"coverage[toml]>=6.2,<8.0",
|
|
73
|
-
"fastapi
|
|
72
|
+
"fastapi>=0.128.0",
|
|
74
73
|
"mypy==1.19.1",
|
|
75
|
-
"pytest>=
|
|
76
|
-
"ruff==0.15.
|
|
74
|
+
"pytest>=7.4.0,<10.0.0",
|
|
75
|
+
"ruff==0.15.1",
|
|
77
76
|
"uvicorn>=0.39.0",
|
|
78
77
|
]
|
|
79
78
|
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
__version__ = "0.0.23"
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import logging
|
|
2
2
|
from pathlib import Path
|
|
3
|
-
from typing import Annotated, Any
|
|
3
|
+
from typing import Annotated, Any
|
|
4
4
|
|
|
5
5
|
import typer
|
|
6
6
|
from pydantic import ValidationError
|
|
@@ -57,7 +57,7 @@ def version_callback(value: bool) -> None:
|
|
|
57
57
|
@app.callback()
|
|
58
58
|
def callback(
|
|
59
59
|
version: Annotated[
|
|
60
|
-
|
|
60
|
+
bool | None,
|
|
61
61
|
typer.Option(
|
|
62
62
|
"--version", help="Show the version and exit.", callback=version_callback
|
|
63
63
|
),
|
|
@@ -99,19 +99,19 @@ def _get_module_tree(module_paths: list[Path]) -> Tree:
|
|
|
99
99
|
|
|
100
100
|
|
|
101
101
|
def _run(
|
|
102
|
-
path:
|
|
102
|
+
path: Path | None = None,
|
|
103
103
|
*,
|
|
104
104
|
host: str = "127.0.0.1",
|
|
105
105
|
port: int = 8000,
|
|
106
106
|
reload: bool = True,
|
|
107
|
-
reload_dirs:
|
|
108
|
-
workers:
|
|
107
|
+
reload_dirs: list[Path] | None = None,
|
|
108
|
+
workers: int | None = None,
|
|
109
109
|
root_path: str = "",
|
|
110
110
|
command: str,
|
|
111
|
-
app:
|
|
112
|
-
entrypoint:
|
|
111
|
+
app: str | None = None,
|
|
112
|
+
entrypoint: str | None = None,
|
|
113
113
|
proxy_headers: bool = False,
|
|
114
|
-
forwarded_allow_ips:
|
|
114
|
+
forwarded_allow_ips: str | None = None,
|
|
115
115
|
) -> None:
|
|
116
116
|
with get_rich_toolkit() as toolkit:
|
|
117
117
|
server_type = "development" if command == "dev" else "production"
|
|
@@ -236,7 +236,7 @@ def _run(
|
|
|
236
236
|
@app.command()
|
|
237
237
|
def dev(
|
|
238
238
|
path: Annotated[
|
|
239
|
-
|
|
239
|
+
Path | None,
|
|
240
240
|
typer.Argument(
|
|
241
241
|
help="A path to a Python file or package directory (with [blue]__init__.py[/blue] files) containing a [bold]FastAPI[/bold] app. If not provided, a default set of paths will be tried."
|
|
242
242
|
),
|
|
@@ -262,7 +262,7 @@ def dev(
|
|
|
262
262
|
),
|
|
263
263
|
] = True,
|
|
264
264
|
reload_dir: Annotated[
|
|
265
|
-
|
|
265
|
+
list[Path] | None,
|
|
266
266
|
typer.Option(
|
|
267
267
|
help="Set reload directories explicitly, instead of using the current working directory."
|
|
268
268
|
),
|
|
@@ -274,13 +274,13 @@ def dev(
|
|
|
274
274
|
),
|
|
275
275
|
] = "",
|
|
276
276
|
app: Annotated[
|
|
277
|
-
|
|
277
|
+
str | None,
|
|
278
278
|
typer.Option(
|
|
279
279
|
help="The name of the variable that contains the [bold]FastAPI[/bold] app in the imported module or package. If not provided, it is detected automatically."
|
|
280
280
|
),
|
|
281
281
|
] = None,
|
|
282
282
|
entrypoint: Annotated[
|
|
283
|
-
|
|
283
|
+
str | None,
|
|
284
284
|
typer.Option(
|
|
285
285
|
"--entrypoint",
|
|
286
286
|
"-e",
|
|
@@ -294,7 +294,7 @@ def dev(
|
|
|
294
294
|
),
|
|
295
295
|
] = True,
|
|
296
296
|
forwarded_allow_ips: Annotated[
|
|
297
|
-
|
|
297
|
+
str | None,
|
|
298
298
|
typer.Option(
|
|
299
299
|
help="Comma separated list of IP Addresses to trust with proxy headers. The literal '*' means trust everything."
|
|
300
300
|
),
|
|
@@ -343,7 +343,7 @@ def dev(
|
|
|
343
343
|
@app.command()
|
|
344
344
|
def run(
|
|
345
345
|
path: Annotated[
|
|
346
|
-
|
|
346
|
+
Path | None,
|
|
347
347
|
typer.Argument(
|
|
348
348
|
help="A path to a Python file or package directory (with [blue]__init__.py[/blue] files) containing a [bold]FastAPI[/bold] app. If not provided, a default set of paths will be tried."
|
|
349
349
|
),
|
|
@@ -369,7 +369,7 @@ def run(
|
|
|
369
369
|
),
|
|
370
370
|
] = False,
|
|
371
371
|
workers: Annotated[
|
|
372
|
-
|
|
372
|
+
int | None,
|
|
373
373
|
typer.Option(
|
|
374
374
|
help="Use multiple worker processes. Mutually exclusive with the --reload flag."
|
|
375
375
|
),
|
|
@@ -381,13 +381,13 @@ def run(
|
|
|
381
381
|
),
|
|
382
382
|
] = "",
|
|
383
383
|
app: Annotated[
|
|
384
|
-
|
|
384
|
+
str | None,
|
|
385
385
|
typer.Option(
|
|
386
386
|
help="The name of the variable that contains the [bold]FastAPI[/bold] app in the imported module or package. If not provided, it is detected automatically."
|
|
387
387
|
),
|
|
388
388
|
] = None,
|
|
389
389
|
entrypoint: Annotated[
|
|
390
|
-
|
|
390
|
+
str | None,
|
|
391
391
|
typer.Option(
|
|
392
392
|
"--entrypoint",
|
|
393
393
|
"-e",
|
|
@@ -401,7 +401,7 @@ def run(
|
|
|
401
401
|
),
|
|
402
402
|
] = True,
|
|
403
403
|
forwarded_allow_ips: Annotated[
|
|
404
|
-
|
|
404
|
+
str | None,
|
|
405
405
|
typer.Option(
|
|
406
406
|
help="Comma separated list of IP Addresses to trust with proxy headers. The literal '*' means trust everything."
|
|
407
407
|
),
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import logging
|
|
2
2
|
from pathlib import Path
|
|
3
|
-
from typing import Any
|
|
3
|
+
from typing import Any
|
|
4
4
|
|
|
5
5
|
from pydantic import BaseModel, StrictStr
|
|
6
6
|
|
|
@@ -8,7 +8,7 @@ logger = logging.getLogger(__name__)
|
|
|
8
8
|
|
|
9
9
|
|
|
10
10
|
class FastAPIConfig(BaseModel):
|
|
11
|
-
entrypoint:
|
|
11
|
+
entrypoint: StrictStr | None = None
|
|
12
12
|
|
|
13
13
|
@classmethod
|
|
14
14
|
def _read_pyproject_toml(cls) -> dict[str, Any]:
|
|
@@ -33,7 +33,7 @@ class FastAPIConfig(BaseModel):
|
|
|
33
33
|
return data.get("tool", {}).get("fastapi", {}) # type: ignore
|
|
34
34
|
|
|
35
35
|
@classmethod
|
|
36
|
-
def resolve(cls, entrypoint:
|
|
36
|
+
def resolve(cls, entrypoint: str | None = None) -> "FastAPIConfig":
|
|
37
37
|
config = cls._read_pyproject_toml()
|
|
38
38
|
|
|
39
39
|
if entrypoint is not None:
|
|
@@ -3,7 +3,6 @@ import sys
|
|
|
3
3
|
from dataclasses import dataclass
|
|
4
4
|
from logging import getLogger
|
|
5
5
|
from pathlib import Path
|
|
6
|
-
from typing import Union
|
|
7
6
|
|
|
8
7
|
from fastapi_cli.exceptions import FastAPICLIException
|
|
9
8
|
|
|
@@ -65,7 +64,7 @@ def get_module_data_from_path(path: Path) -> ModuleData:
|
|
|
65
64
|
)
|
|
66
65
|
|
|
67
66
|
|
|
68
|
-
def get_app_name(*, mod_data: ModuleData, app_name:
|
|
67
|
+
def get_app_name(*, mod_data: ModuleData, app_name: str | None = None) -> str:
|
|
69
68
|
try:
|
|
70
69
|
mod = importlib.import_module(mod_data.module_import_str)
|
|
71
70
|
except (ImportError, ValueError) as e:
|
|
@@ -111,7 +110,7 @@ class ImportData:
|
|
|
111
110
|
|
|
112
111
|
|
|
113
112
|
def get_import_data(
|
|
114
|
-
*, path:
|
|
113
|
+
*, path: Path | None = None, app_name: str | None = None
|
|
115
114
|
) -> ImportData:
|
|
116
115
|
if not path:
|
|
117
116
|
path = get_default_path()
|
|
@@ -1,13 +1,10 @@
|
|
|
1
1
|
import logging
|
|
2
|
-
from typing import Union
|
|
3
2
|
|
|
4
3
|
from rich.console import Console
|
|
5
4
|
from rich.logging import RichHandler
|
|
6
5
|
|
|
7
6
|
|
|
8
|
-
def setup_logging(
|
|
9
|
-
terminal_width: Union[int, None] = None, level: int = logging.INFO
|
|
10
|
-
) -> None:
|
|
7
|
+
def setup_logging(terminal_width: int | None = None, level: int = logging.INFO) -> None:
|
|
11
8
|
logger = logging.getLogger("fastapi_cli")
|
|
12
9
|
console = Console(width=terminal_width) if terminal_width else None
|
|
13
10
|
rich_handler = RichHandler(
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
__version__ = "0.0.21"
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{fastapi_cli-0.0.21 → fastapi_cli-0.0.23}/tests/assets/default_files/default_app_dir_api/app/api.py
RENAMED
|
File without changes
|
|
File without changes
|
{fastapi_cli-0.0.21 → fastapi_cli-0.0.23}/tests/assets/default_files/default_app_dir_app/app/api.py
RENAMED
|
File without changes
|
{fastapi_cli-0.0.21 → fastapi_cli-0.0.23}/tests/assets/default_files/default_app_dir_app/app/app.py
RENAMED
|
File without changes
|
|
File without changes
|
{fastapi_cli-0.0.21 → fastapi_cli-0.0.23}/tests/assets/default_files/default_app_dir_main/app/api.py
RENAMED
|
File without changes
|
{fastapi_cli-0.0.21 → fastapi_cli-0.0.23}/tests/assets/default_files/default_app_dir_main/app/app.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{fastapi_cli-0.0.21 → fastapi_cli-0.0.23}/tests/assets/default_files/non_default/nonstandard.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{fastapi_cli-0.0.21 → fastapi_cli-0.0.23}/tests/assets/nested_package/package/core/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{fastapi_cli-0.0.21 → fastapi_cli-0.0.23}/tests/assets/nested_package/package/mod/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|