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.
- {xtr_cli-5.2.1 → xtr_cli-6.0.1}/PKG-INFO +4 -4
- {xtr_cli-5.2.1 → xtr_cli-6.0.1}/README.md +2 -2
- {xtr_cli-5.2.1 → xtr_cli-6.0.1}/pyproject.toml +2 -2
- {xtr_cli-5.2.1 → xtr_cli-6.0.1}/pyproject.toml.orig +2 -2
- {xtr_cli-5.2.1 → xtr_cli-6.0.1}/src/xtr_cli/templates/cli/files/app/kernel.py.tmpl +3 -1
- {xtr_cli-5.2.1 → xtr_cli-6.0.1}/src/xtr_cli/templates/webapp/files/app/kernel.py.tmpl +6 -3
- {xtr_cli-5.2.1 → xtr_cli-6.0.1}/LICENSE +0 -0
- {xtr_cli-5.2.1 → xtr_cli-6.0.1}/src/xtr_cli/__init__.py +0 -0
- {xtr_cli-5.2.1 → xtr_cli-6.0.1}/src/xtr_cli/__main__.py +0 -0
- {xtr_cli-5.2.1 → xtr_cli-6.0.1}/src/xtr_cli/command/__init__.py +0 -0
- {xtr_cli-5.2.1 → xtr_cli-6.0.1}/src/xtr_cli/command/init_command.py +0 -0
- {xtr_cli-5.2.1 → xtr_cli-6.0.1}/src/xtr_cli/command/new_command.py +0 -0
- {xtr_cli-5.2.1 → xtr_cli-6.0.1}/src/xtr_cli/command/serve_command.py +0 -0
- {xtr_cli-5.2.1 → xtr_cli-6.0.1}/src/xtr_cli/command_support.py +0 -0
- {xtr_cli-5.2.1 → xtr_cli-6.0.1}/src/xtr_cli/exception/__init__.py +0 -0
- {xtr_cli-5.2.1 → xtr_cli-6.0.1}/src/xtr_cli/exception/ambiguous_web_entry_point_error.py +0 -0
- {xtr_cli-5.2.1 → xtr_cli-6.0.1}/src/xtr_cli/exception/cli_error.py +0 -0
- {xtr_cli-5.2.1 → xtr_cli-6.0.1}/src/xtr_cli/exception/directory_not_empty_error.py +0 -0
- {xtr_cli-5.2.1 → xtr_cli-6.0.1}/src/xtr_cli/exception/invalid_project_name_error.py +0 -0
- {xtr_cli-5.2.1 → xtr_cli-6.0.1}/src/xtr_cli/exception/invalid_template_error.py +0 -0
- {xtr_cli-5.2.1 → xtr_cli-6.0.1}/src/xtr_cli/exception/project_not_found_error.py +0 -0
- {xtr_cli-5.2.1 → xtr_cli-6.0.1}/src/xtr_cli/exception/step_failed_error.py +0 -0
- {xtr_cli-5.2.1 → xtr_cli-6.0.1}/src/xtr_cli/exception/unknown_template_error.py +0 -0
- {xtr_cli-5.2.1 → xtr_cli-6.0.1}/src/xtr_cli/exception/unsupported_python_error.py +0 -0
- {xtr_cli-5.2.1 → xtr_cli-6.0.1}/src/xtr_cli/exception/web_entry_point_not_found_error.py +0 -0
- {xtr_cli-5.2.1 → xtr_cli-6.0.1}/src/xtr_cli/process_runner_interface.py +0 -0
- {xtr_cli-5.2.1 → xtr_cli-6.0.1}/src/xtr_cli/project_name.py +0 -0
- {xtr_cli-5.2.1 → xtr_cli-6.0.1}/src/xtr_cli/project_settings.py +0 -0
- {xtr_cli-5.2.1 → xtr_cli-6.0.1}/src/xtr_cli/py.typed +0 -0
- {xtr_cli-5.2.1 → xtr_cli-6.0.1}/src/xtr_cli/scaffold_plan.py +0 -0
- {xtr_cli-5.2.1 → xtr_cli-6.0.1}/src/xtr_cli/scaffolder.py +0 -0
- {xtr_cli-5.2.1 → xtr_cli-6.0.1}/src/xtr_cli/subprocess_runner.py +0 -0
- {xtr_cli-5.2.1 → xtr_cli-6.0.1}/src/xtr_cli/template.py +0 -0
- {xtr_cli-5.2.1 → xtr_cli-6.0.1}/src/xtr_cli/template_catalog.py +0 -0
- {xtr_cli-5.2.1 → xtr_cli-6.0.1}/src/xtr_cli/templates/__init__.py +0 -0
- {xtr_cli-5.2.1 → xtr_cli-6.0.1}/src/xtr_cli/templates/cli/files/README.md.tmpl +0 -0
- {xtr_cli-5.2.1 → xtr_cli-6.0.1}/src/xtr_cli/templates/cli/files/app/__init__.py.tmpl +0 -0
- {xtr_cli-5.2.1 → xtr_cli-6.0.1}/src/xtr_cli/templates/cli/files/app/__main__.py.tmpl +0 -0
- {xtr_cli-5.2.1 → xtr_cli-6.0.1}/src/xtr_cli/templates/cli/files/app/command/__init__.py.tmpl +0 -0
- {xtr_cli-5.2.1 → xtr_cli-6.0.1}/src/xtr_cli/templates/cli/files/app/command/hello_command.py.tmpl +0 -0
- {xtr_cli-5.2.1 → xtr_cli-6.0.1}/src/xtr_cli/templates/cli/files/app/py.typed.tmpl +0 -0
- {xtr_cli-5.2.1 → xtr_cli-6.0.1}/src/xtr_cli/templates/cli/files/gitignore.tmpl +0 -0
- {xtr_cli-5.2.1 → xtr_cli-6.0.1}/src/xtr_cli/templates/cli/files/pyproject.toml.tmpl +0 -0
- {xtr_cli-5.2.1 → xtr_cli-6.0.1}/src/xtr_cli/templates/cli/files/python-version.tmpl +0 -0
- {xtr_cli-5.2.1 → xtr_cli-6.0.1}/src/xtr_cli/templates/cli/files/tests/__init__.py.tmpl +0 -0
- {xtr_cli-5.2.1 → xtr_cli-6.0.1}/src/xtr_cli/templates/cli/files/tests/test_kernel.py.tmpl +0 -0
- {xtr_cli-5.2.1 → xtr_cli-6.0.1}/src/xtr_cli/templates/cli/template.toml +0 -0
- {xtr_cli-5.2.1 → xtr_cli-6.0.1}/src/xtr_cli/templates/webapp/files/README.md.tmpl +0 -0
- {xtr_cli-5.2.1 → xtr_cli-6.0.1}/src/xtr_cli/templates/webapp/files/app/__init__.py.tmpl +0 -0
- {xtr_cli-5.2.1 → xtr_cli-6.0.1}/src/xtr_cli/templates/webapp/files/app/__main__.py.tmpl +0 -0
- {xtr_cli-5.2.1 → xtr_cli-6.0.1}/src/xtr_cli/templates/webapp/files/app/command/__init__.py.tmpl +0 -0
- {xtr_cli-5.2.1 → xtr_cli-6.0.1}/src/xtr_cli/templates/webapp/files/app/command/hello_command.py.tmpl +0 -0
- {xtr_cli-5.2.1 → xtr_cli-6.0.1}/src/xtr_cli/templates/webapp/files/app/config/__init__.py.tmpl +0 -0
- {xtr_cli-5.2.1 → xtr_cli-6.0.1}/src/xtr_cli/templates/webapp/files/app/config/packages/__init__.py.tmpl +0 -0
- {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
- {xtr_cli-5.2.1 → xtr_cli-6.0.1}/src/xtr_cli/templates/webapp/files/app/py.typed.tmpl +0 -0
- {xtr_cli-5.2.1 → xtr_cli-6.0.1}/src/xtr_cli/templates/webapp/files/app/web/__init__.py.tmpl +0 -0
- {xtr_cli-5.2.1 → xtr_cli-6.0.1}/src/xtr_cli/templates/webapp/files/app/web/__main__.py.tmpl +0 -0
- {xtr_cli-5.2.1 → xtr_cli-6.0.1}/src/xtr_cli/templates/webapp/files/app/web/app.py.tmpl +0 -0
- {xtr_cli-5.2.1 → xtr_cli-6.0.1}/src/xtr_cli/templates/webapp/files/app/web/routes.py.tmpl +0 -0
- {xtr_cli-5.2.1 → xtr_cli-6.0.1}/src/xtr_cli/templates/webapp/files/gitignore.tmpl +0 -0
- {xtr_cli-5.2.1 → xtr_cli-6.0.1}/src/xtr_cli/templates/webapp/files/pyproject.toml.tmpl +0 -0
- {xtr_cli-5.2.1 → xtr_cli-6.0.1}/src/xtr_cli/templates/webapp/files/python-version.tmpl +0 -0
- {xtr_cli-5.2.1 → xtr_cli-6.0.1}/src/xtr_cli/templates/webapp/files/tests/__init__.py.tmpl +0 -0
- {xtr_cli-5.2.1 → xtr_cli-6.0.1}/src/xtr_cli/templates/webapp/files/tests/test_kernel.py.tmpl +0 -0
- {xtr_cli-5.2.1 → xtr_cli-6.0.1}/src/xtr_cli/templates/webapp/files/tests/test_web.py.tmpl +0 -0
- {xtr_cli-5.2.1 → xtr_cli-6.0.1}/src/xtr_cli/templates/webapp/template.toml +0 -0
- {xtr_cli-5.2.1 → xtr_cli-6.0.1}/src/xtr_cli/web_entry_point.py +0 -0
- {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:
|
|
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>=
|
|
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>=
|
|
81
|
-
run uv add --dev -- 'xtr-recipes>=
|
|
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>=
|
|
60
|
-
run uv add --dev -- 'xtr-recipes>=
|
|
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 = "
|
|
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>=
|
|
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 = "
|
|
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>=
|
|
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
|
-
|
|
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
|
|
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
|
-
|
|
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
|
-
|
|
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
|
|
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
|
{xtr_cli-5.2.1 → xtr_cli-6.0.1}/src/xtr_cli/templates/cli/files/app/command/__init__.py.tmpl
RENAMED
|
File without changes
|
{xtr_cli-5.2.1 → xtr_cli-6.0.1}/src/xtr_cli/templates/cli/files/app/command/hello_command.py.tmpl
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
|
{xtr_cli-5.2.1 → xtr_cli-6.0.1}/src/xtr_cli/templates/webapp/files/app/command/__init__.py.tmpl
RENAMED
|
File without changes
|
{xtr_cli-5.2.1 → xtr_cli-6.0.1}/src/xtr_cli/templates/webapp/files/app/command/hello_command.py.tmpl
RENAMED
|
File without changes
|
{xtr_cli-5.2.1 → xtr_cli-6.0.1}/src/xtr_cli/templates/webapp/files/app/config/__init__.py.tmpl
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
|
{xtr_cli-5.2.1 → xtr_cli-6.0.1}/src/xtr_cli/templates/webapp/files/tests/test_kernel.py.tmpl
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|