fastapi-cli 0.0.20__tar.gz → 0.0.22__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 (78) hide show
  1. {fastapi_cli-0.0.20 → fastapi_cli-0.0.22}/PKG-INFO +2 -2
  2. fastapi_cli-0.0.22/pdm_build.py +40 -0
  3. {fastapi_cli-0.0.20 → fastapi_cli-0.0.22}/pyproject.toml +37 -3
  4. fastapi_cli-0.0.22/src/fastapi_cli/__init__.py +1 -0
  5. {fastapi_cli-0.0.20 → fastapi_cli-0.0.22}/tests/test_utils_cli.py +2 -1
  6. fastapi_cli-0.0.20/pdm_build.py +0 -20
  7. fastapi_cli-0.0.20/requirements-github-actions.txt +0 -1
  8. fastapi_cli-0.0.20/requirements-tests.txt +0 -9
  9. fastapi_cli-0.0.20/requirements.txt +0 -5
  10. fastapi_cli-0.0.20/src/fastapi_cli/__init__.py +0 -1
  11. {fastapi_cli-0.0.20 → fastapi_cli-0.0.22}/LICENSE +0 -0
  12. {fastapi_cli-0.0.20 → fastapi_cli-0.0.22}/README.md +0 -0
  13. {fastapi_cli-0.0.20 → fastapi_cli-0.0.22}/scripts/format.sh +0 -0
  14. {fastapi_cli-0.0.20 → fastapi_cli-0.0.22}/scripts/lint.sh +0 -0
  15. {fastapi_cli-0.0.20 → fastapi_cli-0.0.22}/scripts/test-cov-html.sh +0 -0
  16. {fastapi_cli-0.0.20 → fastapi_cli-0.0.22}/scripts/test.sh +0 -0
  17. {fastapi_cli-0.0.20 → fastapi_cli-0.0.22}/src/fastapi_cli/__main__.py +0 -0
  18. {fastapi_cli-0.0.20 → fastapi_cli-0.0.22}/src/fastapi_cli/cli.py +0 -0
  19. {fastapi_cli-0.0.20 → fastapi_cli-0.0.22}/src/fastapi_cli/config.py +0 -0
  20. {fastapi_cli-0.0.20 → fastapi_cli-0.0.22}/src/fastapi_cli/discover.py +0 -0
  21. {fastapi_cli-0.0.20 → fastapi_cli-0.0.22}/src/fastapi_cli/exceptions.py +0 -0
  22. {fastapi_cli-0.0.20 → fastapi_cli-0.0.22}/src/fastapi_cli/logging.py +0 -0
  23. {fastapi_cli-0.0.20 → fastapi_cli-0.0.22}/src/fastapi_cli/py.typed +0 -0
  24. {fastapi_cli-0.0.20 → fastapi_cli-0.0.22}/src/fastapi_cli/utils/__init__.py +0 -0
  25. {fastapi_cli-0.0.20 → fastapi_cli-0.0.22}/src/fastapi_cli/utils/cli.py +0 -0
  26. {fastapi_cli-0.0.20 → fastapi_cli-0.0.22}/tests/__init__.py +0 -0
  27. {fastapi_cli-0.0.20 → fastapi_cli-0.0.22}/tests/assets/broken_package/mod/__init__.py +0 -0
  28. {fastapi_cli-0.0.20 → fastapi_cli-0.0.22}/tests/assets/broken_package/mod/app.py +0 -0
  29. {fastapi_cli-0.0.20 → fastapi_cli-0.0.22}/tests/assets/broken_package/utils.py +0 -0
  30. {fastapi_cli-0.0.20 → fastapi_cli-0.0.22}/tests/assets/default_files/default_api/api.py +0 -0
  31. {fastapi_cli-0.0.20 → fastapi_cli-0.0.22}/tests/assets/default_files/default_app/api.py +0 -0
  32. {fastapi_cli-0.0.20 → fastapi_cli-0.0.22}/tests/assets/default_files/default_app/app.py +0 -0
  33. {fastapi_cli-0.0.20 → fastapi_cli-0.0.22}/tests/assets/default_files/default_app_dir_api/app/__init__.py +0 -0
  34. {fastapi_cli-0.0.20 → fastapi_cli-0.0.22}/tests/assets/default_files/default_app_dir_api/app/api.py +0 -0
  35. {fastapi_cli-0.0.20 → fastapi_cli-0.0.22}/tests/assets/default_files/default_app_dir_app/app/__init__.py +0 -0
  36. {fastapi_cli-0.0.20 → fastapi_cli-0.0.22}/tests/assets/default_files/default_app_dir_app/app/api.py +0 -0
  37. {fastapi_cli-0.0.20 → fastapi_cli-0.0.22}/tests/assets/default_files/default_app_dir_app/app/app.py +0 -0
  38. {fastapi_cli-0.0.20 → fastapi_cli-0.0.22}/tests/assets/default_files/default_app_dir_main/app/__init__.py +0 -0
  39. {fastapi_cli-0.0.20 → fastapi_cli-0.0.22}/tests/assets/default_files/default_app_dir_main/app/api.py +0 -0
  40. {fastapi_cli-0.0.20 → fastapi_cli-0.0.22}/tests/assets/default_files/default_app_dir_main/app/app.py +0 -0
  41. {fastapi_cli-0.0.20 → fastapi_cli-0.0.22}/tests/assets/default_files/default_app_dir_main/app/main.py +0 -0
  42. {fastapi_cli-0.0.20 → fastapi_cli-0.0.22}/tests/assets/default_files/default_app_dir_non_default/app/__init__.py +0 -0
  43. {fastapi_cli-0.0.20 → fastapi_cli-0.0.22}/tests/assets/default_files/default_app_dir_non_default/app/nondefault.py +0 -0
  44. {fastapi_cli-0.0.20 → fastapi_cli-0.0.22}/tests/assets/default_files/default_main/api.py +0 -0
  45. {fastapi_cli-0.0.20 → fastapi_cli-0.0.22}/tests/assets/default_files/default_main/app.py +0 -0
  46. {fastapi_cli-0.0.20 → fastapi_cli-0.0.22}/tests/assets/default_files/default_main/main.py +0 -0
  47. {fastapi_cli-0.0.20 → fastapi_cli-0.0.22}/tests/assets/default_files/non_default/nonstandard.py +0 -0
  48. {fastapi_cli-0.0.20 → fastapi_cli-0.0.22}/tests/assets/nested_package/__init__.py +0 -0
  49. {fastapi_cli-0.0.20 → fastapi_cli-0.0.22}/tests/assets/nested_package/package/__init__.py +0 -0
  50. {fastapi_cli-0.0.20 → fastapi_cli-0.0.22}/tests/assets/nested_package/package/core/__init__.py +0 -0
  51. {fastapi_cli-0.0.20 → fastapi_cli-0.0.22}/tests/assets/nested_package/package/core/utils.py +0 -0
  52. {fastapi_cli-0.0.20 → fastapi_cli-0.0.22}/tests/assets/nested_package/package/mod/__init__.py +0 -0
  53. {fastapi_cli-0.0.20 → fastapi_cli-0.0.22}/tests/assets/nested_package/package/mod/api.py +0 -0
  54. {fastapi_cli-0.0.20 → fastapi_cli-0.0.22}/tests/assets/nested_package/package/mod/app.py +0 -0
  55. {fastapi_cli-0.0.20 → fastapi_cli-0.0.22}/tests/assets/nested_package/package/mod/other.py +0 -0
  56. {fastapi_cli-0.0.20 → fastapi_cli-0.0.22}/tests/assets/package/__init__.py +0 -0
  57. {fastapi_cli-0.0.20 → fastapi_cli-0.0.22}/tests/assets/package/core/__init__.py +0 -0
  58. {fastapi_cli-0.0.20 → fastapi_cli-0.0.22}/tests/assets/package/core/utils.py +0 -0
  59. {fastapi_cli-0.0.20 → fastapi_cli-0.0.22}/tests/assets/package/mod/__init__.py +0 -0
  60. {fastapi_cli-0.0.20 → fastapi_cli-0.0.22}/tests/assets/package/mod/api.py +0 -0
  61. {fastapi_cli-0.0.20 → fastapi_cli-0.0.22}/tests/assets/package/mod/app.py +0 -0
  62. {fastapi_cli-0.0.20 → fastapi_cli-0.0.22}/tests/assets/package/mod/other.py +0 -0
  63. {fastapi_cli-0.0.20 → fastapi_cli-0.0.22}/tests/assets/pyproject_config/another_module.py +0 -0
  64. {fastapi_cli-0.0.20 → fastapi_cli-0.0.22}/tests/assets/pyproject_config/my_module.py +0 -0
  65. {fastapi_cli-0.0.20 → fastapi_cli-0.0.22}/tests/assets/pyproject_config/pyproject.toml +0 -0
  66. {fastapi_cli-0.0.20 → fastapi_cli-0.0.22}/tests/assets/single_file_api.py +0 -0
  67. {fastapi_cli-0.0.20 → fastapi_cli-0.0.22}/tests/assets/single_file_app.py +0 -0
  68. {fastapi_cli-0.0.20 → fastapi_cli-0.0.22}/tests/assets/single_file_other.py +0 -0
  69. {fastapi_cli-0.0.20 → fastapi_cli-0.0.22}/tests/conftest.py +0 -0
  70. {fastapi_cli-0.0.20 → fastapi_cli-0.0.22}/tests/test_cli.py +0 -0
  71. {fastapi_cli-0.0.20 → fastapi_cli-0.0.22}/tests/test_cli_pyproject.py +0 -0
  72. {fastapi_cli-0.0.20 → fastapi_cli-0.0.22}/tests/test_discover.py +0 -0
  73. {fastapi_cli-0.0.20 → fastapi_cli-0.0.22}/tests/test_requirements.py +0 -0
  74. {fastapi_cli-0.0.20 → fastapi_cli-0.0.22}/tests/test_utils_default_dir.py +0 -0
  75. {fastapi_cli-0.0.20 → fastapi_cli-0.0.22}/tests/test_utils_default_file.py +0 -0
  76. {fastapi_cli-0.0.20 → fastapi_cli-0.0.22}/tests/test_utils_package.py +0 -0
  77. {fastapi_cli-0.0.20 → fastapi_cli-0.0.22}/tests/test_utils_single_file.py +0 -0
  78. {fastapi_cli-0.0.20 → fastapi_cli-0.0.22}/tests/utils.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: fastapi-cli
3
- Version: 0.0.20
3
+ Version: 0.0.22
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
@@ -31,7 +31,7 @@ Project-URL: Repository, https://github.com/fastapi/fastapi-cli
31
31
  Project-URL: Issues, https://github.com/fastapi/fastapi-cli/issues
32
32
  Project-URL: Changelog, https://github.com/fastapi/fastapi-cli/blob/main/release-notes.md
33
33
  Requires-Python: >=3.9
34
- Requires-Dist: typer>=0.15.1
34
+ Requires-Dist: typer>=0.16.0
35
35
  Requires-Dist: uvicorn[standard]>=0.15.0
36
36
  Requires-Dist: rich-toolkit>=0.14.8
37
37
  Requires-Dist: tomli>=2.0.0; python_version < "3.11"
@@ -0,0 +1,40 @@
1
+ import os
2
+ from typing import Any
3
+
4
+ from pdm.backend.hooks import Context
5
+
6
+ TIANGOLO_BUILD_PACKAGE = os.getenv("TIANGOLO_BUILD_PACKAGE")
7
+
8
+
9
+ def pdm_build_initialize(context: Context) -> None:
10
+ metadata = context.config.metadata
11
+ # Get main version
12
+ version = metadata["version"]
13
+ # Get custom config for the current package, from the env var
14
+ all_configs_config: dict[str, Any] = context.config.data["tool"]["tiangolo"][
15
+ "_internal-slim-build"
16
+ ]["packages"]
17
+
18
+ if TIANGOLO_BUILD_PACKAGE not in all_configs_config:
19
+ return
20
+
21
+ config = all_configs_config[TIANGOLO_BUILD_PACKAGE]
22
+ project_config: dict[str, Any] = config["project"]
23
+ # Override main [project] configs with custom configs for this package
24
+ for key, value in project_config.items():
25
+ metadata[key] = value
26
+ # Get custom build config for the current package
27
+ build_config: dict[str, Any] = (
28
+ config.get("tool", {}).get("pdm", {}).get("build", {})
29
+ )
30
+ # Override PDM build config with custom build config for this package
31
+ for key, value in build_config.items():
32
+ context.config.build_config[key] = value
33
+ # Get main dependencies
34
+ dependencies: list[str] = metadata.get("dependencies", [])
35
+ # Sync versions in dependencies
36
+ new_dependencies = []
37
+ for dep in dependencies:
38
+ new_dep = f"{dep}>={version}"
39
+ new_dependencies.append(new_dep)
40
+ metadata["dependencies"] = new_dependencies
@@ -34,12 +34,12 @@ classifiers = [
34
34
  "Programming Language :: Python :: 3.14",
35
35
  ]
36
36
  dependencies = [
37
- "typer >= 0.15.1",
37
+ "typer >= 0.16.0",
38
38
  "uvicorn[standard] >= 0.15.0",
39
39
  "rich-toolkit >= 0.14.8",
40
40
  "tomli >= 2.0.0; python_version < '3.11'",
41
41
  ]
42
- version = "0.0.20"
42
+ version = "0.0.22"
43
43
 
44
44
  [project.optional-dependencies]
45
45
  standard = [
@@ -60,6 +60,23 @@ Repository = "https://github.com/fastapi/fastapi-cli"
60
60
  Issues = "https://github.com/fastapi/fastapi-cli/issues"
61
61
  Changelog = "https://github.com/fastapi/fastapi-cli/blob/main/release-notes.md"
62
62
 
63
+ [dependency-groups]
64
+ dev = [
65
+ { include-group = "tests" },
66
+ "prek>=0.2.24,<1.0.0",
67
+ ]
68
+ github-actions = [
69
+ "smokeshow>=0.5.0",
70
+ ]
71
+ tests = [
72
+ "coverage[toml]>=6.2,<8.0",
73
+ "fastapi>=0.128.0",
74
+ "mypy==1.19.1",
75
+ "pytest>=7.4.0,<10.0.0",
76
+ "ruff==0.15.1",
77
+ "uvicorn>=0.39.0",
78
+ ]
79
+
63
80
  [build-system]
64
81
  requires = [
65
82
  "pdm-backend",
@@ -76,12 +93,29 @@ path = "src/fastapi_cli/__init__.py"
76
93
  [tool.pdm.build]
77
94
  source-includes = [
78
95
  "tests/",
79
- "requirements*.txt",
80
96
  "scripts/",
81
97
  ]
82
98
 
83
99
  [tool.tiangolo._internal-slim-build.packages.fastapi-cli-slim.project]
84
100
  name = "fastapi-cli-slim"
101
+ readme = "fastapi-cli-slim/README.md"
102
+ dependencies = [
103
+ "fastapi-cli",
104
+ ]
105
+
106
+ [tool.tiangolo._internal-slim-build.packages.fastapi-cli-slim.project.optional-dependencies]
107
+
108
+ [tool.tiangolo._internal-slim-build.packages.fastapi-cli-slim.project.scripts]
109
+
110
+ [tool.tiangolo._internal-slim-build.packages.fastapi-cli-slim.tool.pdm.build]
111
+ excludes = [
112
+ "src",
113
+ "tests",
114
+ "pdm_build.py",
115
+ ]
116
+ source-includes = [
117
+ "",
118
+ ]
85
119
 
86
120
  [tool.pytest.ini_options]
87
121
  addopts = [
@@ -0,0 +1 @@
1
+ __version__ = "0.0.22"
@@ -1,4 +1,5 @@
1
1
  import logging
2
+ from logging.config import dictConfig
2
3
 
3
4
  from pytest import LogCaptureFixture
4
5
 
@@ -63,7 +64,7 @@ def test_log_config_does_not_disable_existing_loggers(
63
64
  logger1.setLevel(logging.INFO)
64
65
  logger1.info("Message before configuration")
65
66
 
66
- logging.config.dictConfig(get_uvicorn_log_config())
67
+ dictConfig(get_uvicorn_log_config())
67
68
 
68
69
  logger2 = logging.getLogger(__name__)
69
70
 
@@ -1,20 +0,0 @@
1
- import os
2
- from typing import Any
3
-
4
- from pdm.backend.hooks import Context
5
-
6
- TIANGOLO_BUILD_PACKAGE = os.getenv("TIANGOLO_BUILD_PACKAGE", "fastapi-cli")
7
-
8
-
9
- def pdm_build_initialize(context: Context):
10
- metadata = context.config.metadata
11
- # Get custom config for the current package, from the env var
12
- config: dict[str, Any] = context.config.data["tool"]["tiangolo"][
13
- "_internal-slim-build"
14
- ]["packages"].get(TIANGOLO_BUILD_PACKAGE)
15
- if not config:
16
- return
17
- project_config: dict[str, Any] = config["project"]
18
- # Override main [project] configs with custom configs for this package
19
- for key, value in project_config.items():
20
- metadata[key] = value
@@ -1 +0,0 @@
1
- smokeshow
@@ -1,9 +0,0 @@
1
- -e .[standard]
2
-
3
- pytest >=4.4.0,<9.0.0
4
- coverage[toml] >=6.2,<8.0
5
- mypy ==1.14.1
6
- ruff ==0.14.6
7
- # Needed explicitly by fastapi-cli-slim
8
- fastapi-slim
9
- uvicorn
@@ -1,5 +0,0 @@
1
- -e .
2
-
3
- -r requirements-tests.txt
4
-
5
- pre-commit >=2.17.0,<5.0.0
@@ -1 +0,0 @@
1
- __version__ = "0.0.20"
File without changes
File without changes