fastapi-cli 0.0.32__tar.gz → 0.0.34__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 (77) hide show
  1. {fastapi_cli-0.0.32 → fastapi_cli-0.0.34}/PKG-INFO +5 -6
  2. {fastapi_cli-0.0.32 → fastapi_cli-0.0.34}/pyproject.toml +7 -7
  3. {fastapi_cli-0.0.32 → fastapi_cli-0.0.34}/scripts/prepare_release.py +2 -2
  4. fastapi_cli-0.0.34/src/fastapi_cli/__init__.py +1 -0
  5. {fastapi_cli-0.0.32 → fastapi_cli-0.0.34}/src/fastapi_cli/cli.py +1 -1
  6. {fastapi_cli-0.0.32 → fastapi_cli-0.0.34}/src/fastapi_cli/config.py +1 -12
  7. {fastapi_cli-0.0.32 → fastapi_cli-0.0.34}/src/fastapi_cli/discover.py +1 -1
  8. {fastapi_cli-0.0.32 → fastapi_cli-0.0.34}/tests/test_requirements.py +2 -2
  9. fastapi_cli-0.0.32/src/fastapi_cli/__init__.py +0 -1
  10. {fastapi_cli-0.0.32 → fastapi_cli-0.0.34}/LICENSE +0 -0
  11. {fastapi_cli-0.0.32 → fastapi_cli-0.0.34}/README.md +0 -0
  12. {fastapi_cli-0.0.32 → fastapi_cli-0.0.34}/scripts/add_latest_release_date.py +0 -0
  13. {fastapi_cli-0.0.32 → fastapi_cli-0.0.34}/scripts/format.sh +0 -0
  14. {fastapi_cli-0.0.32 → fastapi_cli-0.0.34}/scripts/lint.sh +0 -0
  15. {fastapi_cli-0.0.32 → fastapi_cli-0.0.34}/scripts/test-cov-html.sh +0 -0
  16. {fastapi_cli-0.0.32 → fastapi_cli-0.0.34}/scripts/test.sh +0 -0
  17. {fastapi_cli-0.0.32 → fastapi_cli-0.0.34}/src/fastapi_cli/__main__.py +0 -0
  18. {fastapi_cli-0.0.32 → fastapi_cli-0.0.34}/src/fastapi_cli/exceptions.py +0 -0
  19. {fastapi_cli-0.0.32 → fastapi_cli-0.0.34}/src/fastapi_cli/logging.py +0 -0
  20. {fastapi_cli-0.0.32 → fastapi_cli-0.0.34}/src/fastapi_cli/py.typed +0 -0
  21. {fastapi_cli-0.0.32 → fastapi_cli-0.0.34}/src/fastapi_cli/utils/__init__.py +0 -0
  22. {fastapi_cli-0.0.32 → fastapi_cli-0.0.34}/src/fastapi_cli/utils/cli.py +0 -0
  23. {fastapi_cli-0.0.32 → fastapi_cli-0.0.34}/tests/__init__.py +0 -0
  24. {fastapi_cli-0.0.32 → fastapi_cli-0.0.34}/tests/assets/broken_package/mod/__init__.py +0 -0
  25. {fastapi_cli-0.0.32 → fastapi_cli-0.0.34}/tests/assets/broken_package/mod/app.py +0 -0
  26. {fastapi_cli-0.0.32 → fastapi_cli-0.0.34}/tests/assets/broken_package/utils.py +0 -0
  27. {fastapi_cli-0.0.32 → fastapi_cli-0.0.34}/tests/assets/default_files/default_api/api.py +0 -0
  28. {fastapi_cli-0.0.32 → fastapi_cli-0.0.34}/tests/assets/default_files/default_app/api.py +0 -0
  29. {fastapi_cli-0.0.32 → fastapi_cli-0.0.34}/tests/assets/default_files/default_app/app.py +0 -0
  30. {fastapi_cli-0.0.32 → fastapi_cli-0.0.34}/tests/assets/default_files/default_app_dir_api/app/__init__.py +0 -0
  31. {fastapi_cli-0.0.32 → fastapi_cli-0.0.34}/tests/assets/default_files/default_app_dir_api/app/api.py +0 -0
  32. {fastapi_cli-0.0.32 → fastapi_cli-0.0.34}/tests/assets/default_files/default_app_dir_app/app/__init__.py +0 -0
  33. {fastapi_cli-0.0.32 → fastapi_cli-0.0.34}/tests/assets/default_files/default_app_dir_app/app/api.py +0 -0
  34. {fastapi_cli-0.0.32 → fastapi_cli-0.0.34}/tests/assets/default_files/default_app_dir_app/app/app.py +0 -0
  35. {fastapi_cli-0.0.32 → fastapi_cli-0.0.34}/tests/assets/default_files/default_app_dir_main/app/__init__.py +0 -0
  36. {fastapi_cli-0.0.32 → fastapi_cli-0.0.34}/tests/assets/default_files/default_app_dir_main/app/api.py +0 -0
  37. {fastapi_cli-0.0.32 → fastapi_cli-0.0.34}/tests/assets/default_files/default_app_dir_main/app/app.py +0 -0
  38. {fastapi_cli-0.0.32 → fastapi_cli-0.0.34}/tests/assets/default_files/default_app_dir_main/app/main.py +0 -0
  39. {fastapi_cli-0.0.32 → fastapi_cli-0.0.34}/tests/assets/default_files/default_app_dir_non_default/app/__init__.py +0 -0
  40. {fastapi_cli-0.0.32 → fastapi_cli-0.0.34}/tests/assets/default_files/default_app_dir_non_default/app/nondefault.py +0 -0
  41. {fastapi_cli-0.0.32 → fastapi_cli-0.0.34}/tests/assets/default_files/default_main/api.py +0 -0
  42. {fastapi_cli-0.0.32 → fastapi_cli-0.0.34}/tests/assets/default_files/default_main/app.py +0 -0
  43. {fastapi_cli-0.0.32 → fastapi_cli-0.0.34}/tests/assets/default_files/default_main/main.py +0 -0
  44. {fastapi_cli-0.0.32 → fastapi_cli-0.0.34}/tests/assets/default_files/non_default/nonstandard.py +0 -0
  45. {fastapi_cli-0.0.32 → fastapi_cli-0.0.34}/tests/assets/environment_app.py +0 -0
  46. {fastapi_cli-0.0.32 → fastapi_cli-0.0.34}/tests/assets/nested_package/__init__.py +0 -0
  47. {fastapi_cli-0.0.32 → fastapi_cli-0.0.34}/tests/assets/nested_package/package/__init__.py +0 -0
  48. {fastapi_cli-0.0.32 → fastapi_cli-0.0.34}/tests/assets/nested_package/package/core/__init__.py +0 -0
  49. {fastapi_cli-0.0.32 → fastapi_cli-0.0.34}/tests/assets/nested_package/package/core/utils.py +0 -0
  50. {fastapi_cli-0.0.32 → fastapi_cli-0.0.34}/tests/assets/nested_package/package/mod/__init__.py +0 -0
  51. {fastapi_cli-0.0.32 → fastapi_cli-0.0.34}/tests/assets/nested_package/package/mod/api.py +0 -0
  52. {fastapi_cli-0.0.32 → fastapi_cli-0.0.34}/tests/assets/nested_package/package/mod/app.py +0 -0
  53. {fastapi_cli-0.0.32 → fastapi_cli-0.0.34}/tests/assets/nested_package/package/mod/other.py +0 -0
  54. {fastapi_cli-0.0.32 → fastapi_cli-0.0.34}/tests/assets/package/__init__.py +0 -0
  55. {fastapi_cli-0.0.32 → fastapi_cli-0.0.34}/tests/assets/package/core/__init__.py +0 -0
  56. {fastapi_cli-0.0.32 → fastapi_cli-0.0.34}/tests/assets/package/core/utils.py +0 -0
  57. {fastapi_cli-0.0.32 → fastapi_cli-0.0.34}/tests/assets/package/mod/__init__.py +0 -0
  58. {fastapi_cli-0.0.32 → fastapi_cli-0.0.34}/tests/assets/package/mod/api.py +0 -0
  59. {fastapi_cli-0.0.32 → fastapi_cli-0.0.34}/tests/assets/package/mod/app.py +0 -0
  60. {fastapi_cli-0.0.32 → fastapi_cli-0.0.34}/tests/assets/package/mod/other.py +0 -0
  61. {fastapi_cli-0.0.32 → fastapi_cli-0.0.34}/tests/assets/pyproject_config/another_module.py +0 -0
  62. {fastapi_cli-0.0.32 → fastapi_cli-0.0.34}/tests/assets/pyproject_config/my_module.py +0 -0
  63. {fastapi_cli-0.0.32 → fastapi_cli-0.0.34}/tests/assets/pyproject_config/pyproject.toml +0 -0
  64. {fastapi_cli-0.0.32 → fastapi_cli-0.0.34}/tests/assets/single_file_api.py +0 -0
  65. {fastapi_cli-0.0.32 → fastapi_cli-0.0.34}/tests/assets/single_file_app.py +0 -0
  66. {fastapi_cli-0.0.32 → fastapi_cli-0.0.34}/tests/assets/single_file_other.py +0 -0
  67. {fastapi_cli-0.0.32 → fastapi_cli-0.0.34}/tests/conftest.py +0 -0
  68. {fastapi_cli-0.0.32 → fastapi_cli-0.0.34}/tests/test_cli.py +0 -0
  69. {fastapi_cli-0.0.32 → fastapi_cli-0.0.34}/tests/test_cli_pyproject.py +0 -0
  70. {fastapi_cli-0.0.32 → fastapi_cli-0.0.34}/tests/test_discover.py +0 -0
  71. {fastapi_cli-0.0.32 → fastapi_cli-0.0.34}/tests/test_prepare_release.py +0 -0
  72. {fastapi_cli-0.0.32 → fastapi_cli-0.0.34}/tests/test_utils_cli.py +0 -0
  73. {fastapi_cli-0.0.32 → fastapi_cli-0.0.34}/tests/test_utils_default_dir.py +0 -0
  74. {fastapi_cli-0.0.32 → fastapi_cli-0.0.34}/tests/test_utils_default_file.py +0 -0
  75. {fastapi_cli-0.0.32 → fastapi_cli-0.0.34}/tests/test_utils_package.py +0 -0
  76. {fastapi_cli-0.0.32 → fastapi_cli-0.0.34}/tests/test_utils_single_file.py +0 -0
  77. {fastapi_cli-0.0.32 → fastapi_cli-0.0.34}/tests/utils.py +0 -0
@@ -1,8 +1,8 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: fastapi-cli
3
- Version: 0.0.32
3
+ Version: 0.0.34
4
4
  Summary: Run and manage FastAPI apps from the command line with FastAPI CLI. 🚀
5
- Author-Email: =?utf-8?q?Sebasti=C3=A1n_Ram=C3=ADrez?= <tiangolo@gmail.com>
5
+ Author-Email: Sebastián Ramírez <tiangolo@gmail.com>
6
6
  License-Expression: MIT
7
7
  License-File: LICENSE
8
8
  Classifier: Intended Audience :: Information Technology
@@ -19,21 +19,20 @@ 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.10
23
22
  Classifier: Programming Language :: Python :: 3.11
24
23
  Classifier: Programming Language :: Python :: 3.12
25
24
  Classifier: Programming Language :: Python :: 3.13
26
25
  Classifier: Programming Language :: Python :: 3.14
26
+ Classifier: Programming Language :: Python :: 3.15
27
27
  Project-URL: Homepage, https://github.com/fastapi/fastapi-cli
28
28
  Project-URL: Documentation, https://fastapi.tiangolo.com/fastapi-cli/
29
29
  Project-URL: Repository, https://github.com/fastapi/fastapi-cli
30
30
  Project-URL: Issues, https://github.com/fastapi/fastapi-cli/issues
31
31
  Project-URL: Changelog, https://github.com/fastapi/fastapi-cli/blob/main/release-notes.md
32
- Requires-Python: >=3.10
33
- Requires-Dist: typer>=0.16.0
32
+ Requires-Python: >=3.11
33
+ Requires-Dist: typer>=0.26.1
34
34
  Requires-Dist: uvicorn[standard]>=0.15.0
35
35
  Requires-Dist: rich-toolkit>=0.14.8
36
- Requires-Dist: tomli>=2.0.0; python_version < "3.11"
37
36
  Provides-Extra: standard
38
37
  Requires-Dist: uvicorn[standard]>=0.15.0; extra == "standard"
39
38
  Requires-Dist: fastapi-cloud-cli>=0.1.1; extra == "standard"
@@ -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.10"
8
+ requires-python = ">=3.11"
9
9
  readme = "README.md"
10
10
  license = "MIT"
11
11
  license-files = [
@@ -26,19 +26,18 @@ classifiers = [
26
26
  "Framework :: FastAPI",
27
27
  "Intended Audience :: Developers",
28
28
  "Programming Language :: Python :: 3 :: Only",
29
- "Programming Language :: Python :: 3.10",
30
29
  "Programming Language :: Python :: 3.11",
31
30
  "Programming Language :: Python :: 3.12",
32
31
  "Programming Language :: Python :: 3.13",
33
32
  "Programming Language :: Python :: 3.14",
33
+ "Programming Language :: Python :: 3.15",
34
34
  ]
35
35
  dependencies = [
36
- "typer >= 0.16.0",
36
+ "typer >= 0.26.1",
37
37
  "uvicorn[standard] >= 0.15.0",
38
38
  "rich-toolkit >= 0.14.8",
39
- "tomli >= 2.0.0; python_version < '3.11'",
40
39
  ]
41
- version = "0.0.32"
40
+ version = "0.0.34"
42
41
 
43
42
  [project.optional-dependencies]
44
43
  standard = [
@@ -69,9 +68,9 @@ github-actions = [
69
68
  "smokeshow>=0.5.0",
70
69
  ]
71
70
  tests = [
72
- "coverage[toml]>=6.2,<8.0",
71
+ "coverage[toml]>=7.9,<8.0",
73
72
  "fastapi>=0.128.0",
74
- "mypy==2.1.0",
73
+ "mypy==2.4.0",
75
74
  "pytest>=7.4.0,<10.0.0",
76
75
  "ruff>=0.15.15",
77
76
  "uvicorn>=0.39.0",
@@ -106,6 +105,7 @@ xfail_strict = true
106
105
  junit_family = "xunit2"
107
106
 
108
107
  [tool.coverage.run]
108
+ core = "ctrace"
109
109
  parallel = true
110
110
  data_file = "coverage/.coverage"
111
111
  source = [
@@ -2,7 +2,7 @@
2
2
 
3
3
  import re
4
4
  from datetime import date
5
- from enum import Enum
5
+ from enum import StrEnum
6
6
  from pathlib import Path
7
7
  from typing import Annotated
8
8
 
@@ -14,7 +14,7 @@ RELEASE_NOTES_HEADER = "# Release Notes\n\n"
14
14
  LATEST_CHANGES_HEADER = "## Latest Changes"
15
15
 
16
16
 
17
- class BumpType(str, Enum):
17
+ class BumpType(StrEnum):
18
18
  major = "major"
19
19
  minor = "minor"
20
20
  patch = "patch"
@@ -0,0 +1 @@
1
+ __version__ = "0.0.34"
@@ -45,7 +45,7 @@ SOURCE_DESCRIPTIONS: dict[ModuleConfigSource | AppConfigSource, str] = {
45
45
  try:
46
46
  import uvicorn
47
47
  except ImportError: # pragma: no cover
48
- uvicorn = None # type: ignore[assignment] # ty: ignore[invalid-assignment]
48
+ uvicorn = None # type: ignore[assignment]
49
49
 
50
50
 
51
51
  try:
@@ -1,11 +1,9 @@
1
- import logging
1
+ import tomllib
2
2
  from pathlib import Path
3
3
  from typing import Any
4
4
 
5
5
  from pydantic import BaseModel, StrictStr
6
6
 
7
- logger = logging.getLogger(__name__)
8
-
9
7
 
10
8
  class FastAPIConfig(BaseModel):
11
9
  entrypoint: StrictStr | None = None
@@ -19,15 +17,6 @@ class FastAPIConfig(BaseModel):
19
17
  if not pyproject_path.exists():
20
18
  return {}
21
19
 
22
- try:
23
- import tomllib # type: ignore[import-not-found, unused-ignore] # ty: ignore[unresolved-import]
24
- except ImportError:
25
- try:
26
- import tomli as tomllib # type: ignore[no-redef, import-not-found, unused-ignore]
27
- except ImportError: # pragma: no cover
28
- logger.debug("tomli not available, skipping pyproject.toml")
29
- return {}
30
-
31
20
  with open(pyproject_path, "rb") as f:
32
21
  data = tomllib.load(f)
33
22
 
@@ -12,7 +12,7 @@ logger = getLogger(__name__)
12
12
  try:
13
13
  from fastapi import FastAPI
14
14
  except ImportError: # pragma: no cover
15
- FastAPI = None # type: ignore[misc, assignment] # ty: ignore[invalid-assignment]
15
+ FastAPI = None # type: ignore[misc, assignment]
16
16
 
17
17
 
18
18
  def get_default_path() -> Path:
@@ -18,7 +18,7 @@ def test_no_uvicorn() -> None:
18
18
 
19
19
  import fastapi_cli.cli
20
20
 
21
- fastapi_cli.cli.uvicorn = None # type: ignore[attr-defined, assignment] # ty: ignore[invalid-assignment]
21
+ fastapi_cli.cli.uvicorn = None # type: ignore[attr-defined, assignment]
22
22
 
23
23
  with changing_dir(assets_path):
24
24
  result = runner.invoke(fastapi_cli.cli.app, ["dev", "single_file_app.py"])
@@ -37,7 +37,7 @@ def test_no_fastapi() -> None:
37
37
 
38
38
  import fastapi_cli.discover
39
39
 
40
- fastapi_cli.discover.FastAPI = None # type: ignore[attr-defined, assignment] # ty: ignore[invalid-assignment]
40
+ fastapi_cli.discover.FastAPI = None # type: ignore[attr-defined, assignment]
41
41
  with changing_dir(assets_path):
42
42
  with pytest.raises(FastAPICLIException) as exc_info:
43
43
  get_import_data(path=Path("single_file_app.py"))
@@ -1 +0,0 @@
1
- __version__ = "0.0.32"
File without changes
File without changes