xtr-cli 5.2.1__tar.gz → 6.0.1__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 (69) hide show
  1. {xtr_cli-5.2.1 → xtr_cli-6.0.1}/PKG-INFO +4 -4
  2. {xtr_cli-5.2.1 → xtr_cli-6.0.1}/README.md +2 -2
  3. {xtr_cli-5.2.1 → xtr_cli-6.0.1}/pyproject.toml +2 -2
  4. {xtr_cli-5.2.1 → xtr_cli-6.0.1}/pyproject.toml.orig +2 -2
  5. {xtr_cli-5.2.1 → xtr_cli-6.0.1}/src/xtr_cli/templates/cli/files/app/kernel.py.tmpl +3 -1
  6. {xtr_cli-5.2.1 → xtr_cli-6.0.1}/src/xtr_cli/templates/webapp/files/app/kernel.py.tmpl +6 -3
  7. {xtr_cli-5.2.1 → xtr_cli-6.0.1}/LICENSE +0 -0
  8. {xtr_cli-5.2.1 → xtr_cli-6.0.1}/src/xtr_cli/__init__.py +0 -0
  9. {xtr_cli-5.2.1 → xtr_cli-6.0.1}/src/xtr_cli/__main__.py +0 -0
  10. {xtr_cli-5.2.1 → xtr_cli-6.0.1}/src/xtr_cli/command/__init__.py +0 -0
  11. {xtr_cli-5.2.1 → xtr_cli-6.0.1}/src/xtr_cli/command/init_command.py +0 -0
  12. {xtr_cli-5.2.1 → xtr_cli-6.0.1}/src/xtr_cli/command/new_command.py +0 -0
  13. {xtr_cli-5.2.1 → xtr_cli-6.0.1}/src/xtr_cli/command/serve_command.py +0 -0
  14. {xtr_cli-5.2.1 → xtr_cli-6.0.1}/src/xtr_cli/command_support.py +0 -0
  15. {xtr_cli-5.2.1 → xtr_cli-6.0.1}/src/xtr_cli/exception/__init__.py +0 -0
  16. {xtr_cli-5.2.1 → xtr_cli-6.0.1}/src/xtr_cli/exception/ambiguous_web_entry_point_error.py +0 -0
  17. {xtr_cli-5.2.1 → xtr_cli-6.0.1}/src/xtr_cli/exception/cli_error.py +0 -0
  18. {xtr_cli-5.2.1 → xtr_cli-6.0.1}/src/xtr_cli/exception/directory_not_empty_error.py +0 -0
  19. {xtr_cli-5.2.1 → xtr_cli-6.0.1}/src/xtr_cli/exception/invalid_project_name_error.py +0 -0
  20. {xtr_cli-5.2.1 → xtr_cli-6.0.1}/src/xtr_cli/exception/invalid_template_error.py +0 -0
  21. {xtr_cli-5.2.1 → xtr_cli-6.0.1}/src/xtr_cli/exception/project_not_found_error.py +0 -0
  22. {xtr_cli-5.2.1 → xtr_cli-6.0.1}/src/xtr_cli/exception/step_failed_error.py +0 -0
  23. {xtr_cli-5.2.1 → xtr_cli-6.0.1}/src/xtr_cli/exception/unknown_template_error.py +0 -0
  24. {xtr_cli-5.2.1 → xtr_cli-6.0.1}/src/xtr_cli/exception/unsupported_python_error.py +0 -0
  25. {xtr_cli-5.2.1 → xtr_cli-6.0.1}/src/xtr_cli/exception/web_entry_point_not_found_error.py +0 -0
  26. {xtr_cli-5.2.1 → xtr_cli-6.0.1}/src/xtr_cli/process_runner_interface.py +0 -0
  27. {xtr_cli-5.2.1 → xtr_cli-6.0.1}/src/xtr_cli/project_name.py +0 -0
  28. {xtr_cli-5.2.1 → xtr_cli-6.0.1}/src/xtr_cli/project_settings.py +0 -0
  29. {xtr_cli-5.2.1 → xtr_cli-6.0.1}/src/xtr_cli/py.typed +0 -0
  30. {xtr_cli-5.2.1 → xtr_cli-6.0.1}/src/xtr_cli/scaffold_plan.py +0 -0
  31. {xtr_cli-5.2.1 → xtr_cli-6.0.1}/src/xtr_cli/scaffolder.py +0 -0
  32. {xtr_cli-5.2.1 → xtr_cli-6.0.1}/src/xtr_cli/subprocess_runner.py +0 -0
  33. {xtr_cli-5.2.1 → xtr_cli-6.0.1}/src/xtr_cli/template.py +0 -0
  34. {xtr_cli-5.2.1 → xtr_cli-6.0.1}/src/xtr_cli/template_catalog.py +0 -0
  35. {xtr_cli-5.2.1 → xtr_cli-6.0.1}/src/xtr_cli/templates/__init__.py +0 -0
  36. {xtr_cli-5.2.1 → xtr_cli-6.0.1}/src/xtr_cli/templates/cli/files/README.md.tmpl +0 -0
  37. {xtr_cli-5.2.1 → xtr_cli-6.0.1}/src/xtr_cli/templates/cli/files/app/__init__.py.tmpl +0 -0
  38. {xtr_cli-5.2.1 → xtr_cli-6.0.1}/src/xtr_cli/templates/cli/files/app/__main__.py.tmpl +0 -0
  39. {xtr_cli-5.2.1 → xtr_cli-6.0.1}/src/xtr_cli/templates/cli/files/app/command/__init__.py.tmpl +0 -0
  40. {xtr_cli-5.2.1 → xtr_cli-6.0.1}/src/xtr_cli/templates/cli/files/app/command/hello_command.py.tmpl +0 -0
  41. {xtr_cli-5.2.1 → xtr_cli-6.0.1}/src/xtr_cli/templates/cli/files/app/py.typed.tmpl +0 -0
  42. {xtr_cli-5.2.1 → xtr_cli-6.0.1}/src/xtr_cli/templates/cli/files/gitignore.tmpl +0 -0
  43. {xtr_cli-5.2.1 → xtr_cli-6.0.1}/src/xtr_cli/templates/cli/files/pyproject.toml.tmpl +0 -0
  44. {xtr_cli-5.2.1 → xtr_cli-6.0.1}/src/xtr_cli/templates/cli/files/python-version.tmpl +0 -0
  45. {xtr_cli-5.2.1 → xtr_cli-6.0.1}/src/xtr_cli/templates/cli/files/tests/__init__.py.tmpl +0 -0
  46. {xtr_cli-5.2.1 → xtr_cli-6.0.1}/src/xtr_cli/templates/cli/files/tests/test_kernel.py.tmpl +0 -0
  47. {xtr_cli-5.2.1 → xtr_cli-6.0.1}/src/xtr_cli/templates/cli/template.toml +0 -0
  48. {xtr_cli-5.2.1 → xtr_cli-6.0.1}/src/xtr_cli/templates/webapp/files/README.md.tmpl +0 -0
  49. {xtr_cli-5.2.1 → xtr_cli-6.0.1}/src/xtr_cli/templates/webapp/files/app/__init__.py.tmpl +0 -0
  50. {xtr_cli-5.2.1 → xtr_cli-6.0.1}/src/xtr_cli/templates/webapp/files/app/__main__.py.tmpl +0 -0
  51. {xtr_cli-5.2.1 → xtr_cli-6.0.1}/src/xtr_cli/templates/webapp/files/app/command/__init__.py.tmpl +0 -0
  52. {xtr_cli-5.2.1 → xtr_cli-6.0.1}/src/xtr_cli/templates/webapp/files/app/command/hello_command.py.tmpl +0 -0
  53. {xtr_cli-5.2.1 → xtr_cli-6.0.1}/src/xtr_cli/templates/webapp/files/app/config/__init__.py.tmpl +0 -0
  54. {xtr_cli-5.2.1 → xtr_cli-6.0.1}/src/xtr_cli/templates/webapp/files/app/config/packages/__init__.py.tmpl +0 -0
  55. {xtr_cli-5.2.1 → xtr_cli-6.0.1}/src/xtr_cli/templates/webapp/files/app/config/packages/http_kernel.py.tmpl +0 -0
  56. {xtr_cli-5.2.1 → xtr_cli-6.0.1}/src/xtr_cli/templates/webapp/files/app/py.typed.tmpl +0 -0
  57. {xtr_cli-5.2.1 → xtr_cli-6.0.1}/src/xtr_cli/templates/webapp/files/app/web/__init__.py.tmpl +0 -0
  58. {xtr_cli-5.2.1 → xtr_cli-6.0.1}/src/xtr_cli/templates/webapp/files/app/web/__main__.py.tmpl +0 -0
  59. {xtr_cli-5.2.1 → xtr_cli-6.0.1}/src/xtr_cli/templates/webapp/files/app/web/app.py.tmpl +0 -0
  60. {xtr_cli-5.2.1 → xtr_cli-6.0.1}/src/xtr_cli/templates/webapp/files/app/web/routes.py.tmpl +0 -0
  61. {xtr_cli-5.2.1 → xtr_cli-6.0.1}/src/xtr_cli/templates/webapp/files/gitignore.tmpl +0 -0
  62. {xtr_cli-5.2.1 → xtr_cli-6.0.1}/src/xtr_cli/templates/webapp/files/pyproject.toml.tmpl +0 -0
  63. {xtr_cli-5.2.1 → xtr_cli-6.0.1}/src/xtr_cli/templates/webapp/files/python-version.tmpl +0 -0
  64. {xtr_cli-5.2.1 → xtr_cli-6.0.1}/src/xtr_cli/templates/webapp/files/tests/__init__.py.tmpl +0 -0
  65. {xtr_cli-5.2.1 → xtr_cli-6.0.1}/src/xtr_cli/templates/webapp/files/tests/test_kernel.py.tmpl +0 -0
  66. {xtr_cli-5.2.1 → xtr_cli-6.0.1}/src/xtr_cli/templates/webapp/files/tests/test_web.py.tmpl +0 -0
  67. {xtr_cli-5.2.1 → xtr_cli-6.0.1}/src/xtr_cli/templates/webapp/template.toml +0 -0
  68. {xtr_cli-5.2.1 → xtr_cli-6.0.1}/src/xtr_cli/web_entry_point.py +0 -0
  69. {xtr_cli-5.2.1 → xtr_cli-6.0.1}/src/xtr_cli/web_entry_point_finder.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: xtr-cli
3
- Version: 5.2.1
3
+ Version: 6.0.1
4
4
  Summary: Scaffolds a new xtr application — a console application or a web application — in one command, and serves it.
5
5
  Keywords: scaffold,new project,template,console,web,xtr-dependency-injection
6
6
  Author: Xterr
@@ -15,7 +15,7 @@ Classifier: Programming Language :: Python :: 3.12
15
15
  Classifier: Programming Language :: Python :: 3.13
16
16
  Classifier: Programming Language :: Python :: 3.14
17
17
  Classifier: Typing :: Typed
18
- Requires-Dist: xtr-console>=5.0,<6
18
+ Requires-Dist: xtr-console>=6.0,<7
19
19
  Requires-Python: >=3.11
20
20
  Description-Content-Type: text/markdown
21
21
 
@@ -77,8 +77,8 @@ shop — the webapp template
77
77
 
78
78
  write pyproject.toml
79
79
  …
80
- run uv add -- 'xtr-dependency-injection>=5.0,<6' …
81
- run uv add --dev -- 'xtr-recipes>=5.0,<6' pytest httpx ruff basedpyright ty
80
+ run uv add -- 'xtr-dependency-injection>=6.0,<7' …
81
+ run uv add --dev -- 'xtr-recipes>=6.0,<7' pytest httpx ruff basedpyright ty
82
82
  run uv run xtr-recipes recipes:sync
83
83
  run git init --quiet
84
84
 
@@ -56,8 +56,8 @@ shop — the webapp template
56
56
 
57
57
  write pyproject.toml
58
58
  …
59
- run uv add -- 'xtr-dependency-injection>=5.0,<6' …
60
- run uv add --dev -- 'xtr-recipes>=5.0,<6' pytest httpx ruff basedpyright ty
59
+ run uv add -- 'xtr-dependency-injection>=6.0,<7' …
60
+ run uv add --dev -- 'xtr-recipes>=6.0,<7' pytest httpx ruff basedpyright ty
61
61
  run uv run xtr-recipes recipes:sync
62
62
  run git init --quiet
63
63
 
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "xtr-cli"
3
- version = "5.2.1"
3
+ version = "6.0.1"
4
4
  description = "Scaffolds a new xtr application — a console application or a web application — in one command, and serves it."
5
5
  readme = "README.md"
6
6
  requires-python = ">=3.11"
@@ -24,7 +24,7 @@ classifiers = [
24
24
  "Programming Language :: Python :: 3.14",
25
25
  "Typing :: Typed",
26
26
  ]
27
- dependencies = ["xtr-console>=5.0,<6"]
27
+ dependencies = ["xtr-console>=6.0,<7"]
28
28
 
29
29
  [[project.authors]]
30
30
  name = "Xterr"
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "xtr-cli"
3
- version = "5.2.1"
3
+ version = "6.0.1"
4
4
  description = "Scaffolds a new xtr application — a console application or a web application — in one command, and serves it."
5
5
  readme = "README.md"
6
6
  requires-python = ">=3.11"
@@ -21,7 +21,7 @@ classifiers = [
21
21
  "Typing :: Typed",
22
22
  ]
23
23
  dependencies = [
24
- "xtr-console>=5.0,<6",
24
+ "xtr-console>=6.0,<7",
25
25
  ]
26
26
 
27
27
  # `uvx xtr-cli <command>` runs the script named after the distribution; `xtr` is the
@@ -18,8 +18,10 @@ PROJECT_DIR: Final = Path(__file__).resolve().parents[2]
18
18
  """The directory holding ``pyproject.toml`` and the ``.env`` files."""
19
19
 
20
20
  kernel: Final = Kernel(
21
- "${app}",
21
+ __package__,
22
22
  # The bundles are read from ${app}.config.bundles.BUNDLES; the environment from APP_ENV.
23
+ # A folder under config/packages/ named after one of these environments is imported in
24
+ # that environment only.
23
25
  allowed_envs=("dev", "test", "prod"),
24
26
  )
25
27
 
@@ -9,7 +9,7 @@ from __future__ import annotations
9
9
  from pathlib import Path
10
10
  from typing import Final
11
11
 
12
- from xtr_dependency_injection import DEFAULT_EXCLUDES, Kernel, exclude
12
+ from xtr_dependency_injection import Kernel, exclude
13
13
  from xtr_dotenv import Dotenv
14
14
 
15
15
  __all__ = ["PROJECT_DIR", "kernel", "load_environment"]
@@ -18,12 +18,15 @@ PROJECT_DIR: Final = Path(__file__).resolve().parents[2]
18
18
  """The directory holding ``pyproject.toml`` and the ``.env`` files."""
19
19
 
20
20
  kernel: Final = Kernel(
21
- "${app}",
21
+ __package__,
22
22
  # The bundles are read from ${app}.config.bundles.BUNDLES; the environment from APP_ENV.
23
+ # A folder under config/packages/ or config/routes/ named after one of these environments
24
+ # is imported in that environment only.
23
25
  allowed_envs=("dev", "test", "prod"),
24
26
  # ${app}.web.app builds the web application as it is imported, and that application is
25
27
  # served from this very kernel: scanning it would import it while the kernel builds.
26
- exclude=(*DEFAULT_EXCLUDES, "${app}.web.app"),
28
+ # The pattern is relative to this package, and adds to the default excludes.
29
+ exclude=(".web.app",),
27
30
  # Concurrent requests each keep their own scoped services — the security token storage
28
31
  # among them.
29
32
  concurrent_scoped_access=True,
File without changes
File without changes
File without changes
File without changes
File without changes