simple-module-cli 0.0.17__tar.gz → 0.0.18__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.
- {simple_module_cli-0.0.17 → simple_module_cli-0.0.18}/PKG-INFO +1 -1
- {simple_module_cli-0.0.17 → simple_module_cli-0.0.18}/pyproject.toml +1 -1
- {simple_module_cli-0.0.17 → simple_module_cli-0.0.18}/simple_module_cli/skills/simple-module-creating/SKILL.md +1 -1
- {simple_module_cli-0.0.17 → simple_module_cli-0.0.18}/simple_module_cli/skills/simple-module-database/SKILL.md +3 -15
- {simple_module_cli-0.0.17 → simple_module_cli-0.0.18}/.gitignore +0 -0
- {simple_module_cli-0.0.17 → simple_module_cli-0.0.18}/LICENSE +0 -0
- {simple_module_cli-0.0.17 → simple_module_cli-0.0.18}/README.md +0 -0
- {simple_module_cli-0.0.17 → simple_module_cli-0.0.18}/simple_module_cli/__init__.py +0 -0
- {simple_module_cli-0.0.17 → simple_module_cli-0.0.18}/simple_module_cli/_env.py +0 -0
- {simple_module_cli-0.0.17 → simple_module_cli-0.0.18}/simple_module_cli/app_project.py +0 -0
- {simple_module_cli-0.0.17 → simple_module_cli-0.0.18}/simple_module_cli/case.py +0 -0
- {simple_module_cli-0.0.17 → simple_module_cli-0.0.18}/simple_module_cli/catalog.py +0 -0
- {simple_module_cli-0.0.17 → simple_module_cli-0.0.18}/simple_module_cli/cli.py +0 -0
- {simple_module_cli-0.0.17 → simple_module_cli-0.0.18}/simple_module_cli/new.py +0 -0
- {simple_module_cli-0.0.17 → simple_module_cli-0.0.18}/simple_module_cli/package_update.py +0 -0
- {simple_module_cli-0.0.17 → simple_module_cli-0.0.18}/simple_module_cli/plugins.py +0 -0
- {simple_module_cli-0.0.17 → simple_module_cli-0.0.18}/simple_module_cli/recipes.py +0 -0
- {simple_module_cli-0.0.17 → simple_module_cli-0.0.18}/simple_module_cli/scaffolding.py +0 -0
- {simple_module_cli-0.0.17 → simple_module_cli-0.0.18}/simple_module_cli/skills/README.md +0 -0
- {simple_module_cli-0.0.17 → simple_module_cli-0.0.18}/simple_module_cli/skills/simple-module-cli/SKILL.md +0 -0
- {simple_module_cli-0.0.17 → simple_module_cli-0.0.18}/simple_module_cli/skills/simple-module-conventions/SKILL.md +0 -0
- {simple_module_cli-0.0.17 → simple_module_cli-0.0.18}/simple_module_cli/skills/simple-module-doctor/SKILL.md +0 -0
- {simple_module_cli-0.0.17 → simple_module_cli-0.0.18}/simple_module_cli/skills/simple-module-inertia-pages/SKILL.md +0 -0
- {simple_module_cli-0.0.17 → simple_module_cli-0.0.18}/simple_module_cli/skills/simple-module-locales/SKILL.md +0 -0
- {simple_module_cli-0.0.17 → simple_module_cli-0.0.18}/simple_module_cli/skills/simple-module-migrations/SKILL.md +0 -0
- {simple_module_cli-0.0.17 → simple_module_cli-0.0.18}/simple_module_cli/skills/simple-module-registries/SKILL.md +0 -0
- {simple_module_cli-0.0.17 → simple_module_cli-0.0.18}/simple_module_cli/skills/simple-module-testing/SKILL.md +0 -0
- {simple_module_cli-0.0.17 → simple_module_cli-0.0.18}/simple_module_cli/skills_cmd.py +0 -0
- {simple_module_cli-0.0.17 → simple_module_cli-0.0.18}/simple_module_cli/templates/host/.env.example +0 -0
- {simple_module_cli-0.0.17 → simple_module_cli-0.0.18}/simple_module_cli/templates/host/.gitignore +0 -0
- {simple_module_cli-0.0.17 → simple_module_cli-0.0.18}/simple_module_cli/templates/host/Makefile +0 -0
- {simple_module_cli-0.0.17 → simple_module_cli-0.0.18}/simple_module_cli/templates/host/README.md.tpl +0 -0
- {simple_module_cli-0.0.17 → simple_module_cli-0.0.18}/simple_module_cli/templates/host/_optional/background_tasks/Makefile.snippet +0 -0
- {simple_module_cli-0.0.17 → simple_module_cli-0.0.18}/simple_module_cli/templates/host/_optional/background_tasks/docker-compose.yml +0 -0
- {simple_module_cli-0.0.17 → simple_module_cli-0.0.18}/simple_module_cli/templates/host/_optional/background_tasks/host.Dockerfile +0 -0
- {simple_module_cli-0.0.17 → simple_module_cli-0.0.18}/simple_module_cli/templates/host/_optional/background_tasks/run_worker.py +0 -0
- {simple_module_cli-0.0.17 → simple_module_cli-0.0.18}/simple_module_cli/templates/host/_optional/background_tasks/worker.Dockerfile +0 -0
- {simple_module_cli-0.0.17 → simple_module_cli-0.0.18}/simple_module_cli/templates/host/alembic.ini +0 -0
- {simple_module_cli-0.0.17 → simple_module_cli-0.0.18}/simple_module_cli/templates/host/client_app/app.tsx +0 -0
- {simple_module_cli-0.0.17 → simple_module_cli-0.0.18}/simple_module_cli/templates/host/client_app/main.tsx +0 -0
- {simple_module_cli-0.0.17 → simple_module_cli-0.0.18}/simple_module_cli/templates/host/client_app/package.json.tpl +0 -0
- {simple_module_cli-0.0.17 → simple_module_cli-0.0.18}/simple_module_cli/templates/host/client_app/pages/Error.tsx +0 -0
- {simple_module_cli-0.0.17 → simple_module_cli-0.0.18}/simple_module_cli/templates/host/client_app/pages/Landing.tsx +0 -0
- {simple_module_cli-0.0.17 → simple_module_cli-0.0.18}/simple_module_cli/templates/host/client_app/pages.ts +0 -0
- {simple_module_cli-0.0.17 → simple_module_cli-0.0.18}/simple_module_cli/templates/host/client_app/styles.css +0 -0
- {simple_module_cli-0.0.17 → simple_module_cli-0.0.18}/simple_module_cli/templates/host/client_app/tsconfig.json +0 -0
- {simple_module_cli-0.0.17 → simple_module_cli-0.0.18}/simple_module_cli/templates/host/client_app/vite.config.ts +0 -0
- {simple_module_cli-0.0.17 → simple_module_cli-0.0.18}/simple_module_cli/templates/host/main.py +0 -0
- {simple_module_cli-0.0.17 → simple_module_cli-0.0.18}/simple_module_cli/templates/host/migrations/env.py +0 -0
- {simple_module_cli-0.0.17 → simple_module_cli-0.0.18}/simple_module_cli/templates/host/migrations/script.py.mako +0 -0
- {simple_module_cli-0.0.17 → simple_module_cli-0.0.18}/simple_module_cli/templates/host/migrations/versions/.gitkeep +0 -0
- {simple_module_cli-0.0.17 → simple_module_cli-0.0.18}/simple_module_cli/templates/host/pyproject.toml.tpl +0 -0
- {simple_module_cli-0.0.17 → simple_module_cli-0.0.18}/simple_module_cli/templates/host/routes.py +0 -0
- {simple_module_cli-0.0.17 → simple_module_cli-0.0.18}/simple_module_cli/templates/host/templates/index.html +0 -0
- {simple_module_cli-0.0.17 → simple_module_cli-0.0.18}/simple_module_cli/templates/module/.github/workflows/ci.yml +0 -0
- {simple_module_cli-0.0.17 → simple_module_cli-0.0.18}/simple_module_cli/templates/module/.github/workflows/publish.yml.tpl +0 -0
- {simple_module_cli-0.0.17 → simple_module_cli-0.0.18}/simple_module_cli/templates/module/.gitignore +0 -0
- {simple_module_cli-0.0.17 → simple_module_cli-0.0.18}/simple_module_cli/templates/module/README.md.tpl +0 -0
- {simple_module_cli-0.0.17 → simple_module_cli-0.0.18}/simple_module_cli/templates/module/__PACKAGE__/__init__.py +0 -0
- {simple_module_cli-0.0.17 → simple_module_cli-0.0.18}/simple_module_cli/templates/module/__PACKAGE__/endpoints/__init__.py +0 -0
- {simple_module_cli-0.0.17 → simple_module_cli-0.0.18}/simple_module_cli/templates/module/__PACKAGE__/endpoints/api.py.tpl +0 -0
- {simple_module_cli-0.0.17 → simple_module_cli-0.0.18}/simple_module_cli/templates/module/__PACKAGE__/module.py.tpl +0 -0
- {simple_module_cli-0.0.17 → simple_module_cli-0.0.18}/simple_module_cli/templates/module/__PACKAGE__/pages/.gitkeep +0 -0
- {simple_module_cli-0.0.17 → simple_module_cli-0.0.18}/simple_module_cli/templates/module/__PACKAGE__/services.py.tpl +0 -0
- {simple_module_cli-0.0.17 → simple_module_cli-0.0.18}/simple_module_cli/templates/module/__PACKAGE__/settings.py.tpl +0 -0
- {simple_module_cli-0.0.17 → simple_module_cli-0.0.18}/simple_module_cli/templates/module/package.json.tpl +0 -0
- {simple_module_cli-0.0.17 → simple_module_cli-0.0.18}/simple_module_cli/templates/module/pyproject.toml.tpl +0 -0
- {simple_module_cli-0.0.17 → simple_module_cli-0.0.18}/simple_module_cli/templates/module/tests/test_module.py.tpl +0 -0
- {simple_module_cli-0.0.17 → simple_module_cli-0.0.18}/simple_module_cli/templates/module/tsconfig.json.tpl +0 -0
- {simple_module_cli-0.0.17 → simple_module_cli-0.0.18}/simple_module_cli/templates/workspace/.env.example +0 -0
- {simple_module_cli-0.0.17 → simple_module_cli-0.0.18}/simple_module_cli/templates/workspace/.gitignore +0 -0
- {simple_module_cli-0.0.17 → simple_module_cli-0.0.18}/simple_module_cli/templates/workspace/Makefile +0 -0
- {simple_module_cli-0.0.17 → simple_module_cli-0.0.18}/simple_module_cli/templates/workspace/README.md.tpl +0 -0
- {simple_module_cli-0.0.17 → simple_module_cli-0.0.18}/simple_module_cli/templates/workspace/package.json.tpl +0 -0
- {simple_module_cli-0.0.17 → simple_module_cli-0.0.18}/simple_module_cli/templates/workspace/pyproject.toml.tpl +0 -0
- {simple_module_cli-0.0.17 → simple_module_cli-0.0.18}/simple_module_cli/wizard.py +0 -0
- {simple_module_cli-0.0.17 → simple_module_cli-0.0.18}/tests/test_build_packaging.py +0 -0
- {simple_module_cli-0.0.17 → simple_module_cli-0.0.18}/tests/test_case.py +0 -0
- {simple_module_cli-0.0.17 → simple_module_cli-0.0.18}/tests/test_cli_catalog.py +0 -0
- {simple_module_cli-0.0.17 → simple_module_cli-0.0.18}/tests/test_cli_new.py +0 -0
- {simple_module_cli-0.0.17 → simple_module_cli-0.0.18}/tests/test_cli_new_dest_tolerance.py +0 -0
- {simple_module_cli-0.0.17 → simple_module_cli-0.0.18}/tests/test_cli_new_regressions.py +0 -0
- {simple_module_cli-0.0.17 → simple_module_cli-0.0.18}/tests/test_cli_package_update.py +0 -0
- {simple_module_cli-0.0.17 → simple_module_cli-0.0.18}/tests/test_cli_recipes.py +0 -0
- {simple_module_cli-0.0.17 → simple_module_cli-0.0.18}/tests/test_cli_wizard.py +0 -0
- {simple_module_cli-0.0.17 → simple_module_cli-0.0.18}/tests/test_env_helper.py +0 -0
- {simple_module_cli-0.0.17 → simple_module_cli-0.0.18}/tests/test_no_framework_deps.py +0 -0
- {simple_module_cli-0.0.17 → simple_module_cli-0.0.18}/tests/test_plugin_discovery.py +0 -0
- {simple_module_cli-0.0.17 → simple_module_cli-0.0.18}/tests/test_scaffold_rollback.py +0 -0
- {simple_module_cli-0.0.17 → simple_module_cli-0.0.18}/tests/test_scaffolding_host.py +0 -0
- {simple_module_cli-0.0.17 → simple_module_cli-0.0.18}/tests/test_scaffolding_module.py +0 -0
- {simple_module_cli-0.0.17 → simple_module_cli-0.0.18}/tests/test_skills_cmd.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: simple_module_cli
|
|
3
|
-
Version: 0.0.
|
|
3
|
+
Version: 0.0.18
|
|
4
4
|
Summary: Standalone scaffolder for the SimpleModule framework — `smpy new`, `smpy create-module`, plugin host.
|
|
5
5
|
Project-URL: Homepage, https://github.com/antosubash/simple_module_python
|
|
6
6
|
Project-URL: Repository, https://github.com/antosubash/simple_module_python
|
|
@@ -68,7 +68,7 @@ class OrdersModule(ModuleBase):
|
|
|
68
68
|
)
|
|
69
69
|
```
|
|
70
70
|
|
|
71
|
-
`ModuleMeta.name` is load-bearing in
|
|
71
|
+
`ModuleMeta.name` is load-bearing in two places: the `__tablename__` prefix you author and the PascalCase Inertia component namespace. So directory `blog_posts` → `name="BlogPosts"` → `inertia.render("BlogPosts/Index", ...)` → `pages/Index.tsx`. Mismatches fire diagnostic codes `SM003` (orphan page) / `SM004` (phantom render).
|
|
72
72
|
|
|
73
73
|
For modules you intend to publish, also add `version=` (your module's semver) and `requires_framework=` (a PEP 440 spec for the framework API range, e.g. `">=1.0,<2.0"`) so the host can reject incompatible installs at boot.
|
|
74
74
|
|
|
@@ -18,26 +18,14 @@ from simple_module_db.mixins import AuditMixin
|
|
|
18
18
|
Base = create_module_base("orders")
|
|
19
19
|
|
|
20
20
|
class Order(Base, AuditMixin, table=True):
|
|
21
|
-
__tablename__ = "orders_order" #
|
|
21
|
+
__tablename__ = "orders_order" # module-name prefix; required
|
|
22
22
|
id: int | None = Field(default=None, primary_key=True)
|
|
23
23
|
name: str = Field(max_length=200)
|
|
24
24
|
```
|
|
25
25
|
|
|
26
|
-
|
|
26
|
+
## Table naming
|
|
27
27
|
|
|
28
|
-
|
|
29
|
-
from simple_module_db.base import create_module_base, DatabaseProvider
|
|
30
|
-
Base = create_module_base("orders", provider=DatabaseProvider.SQLITE)
|
|
31
|
-
```
|
|
32
|
-
|
|
33
|
-
## Postgres vs SQLite — the same code, different physical layout
|
|
34
|
-
|
|
35
|
-
| Provider | Physical placement | Required convention |
|
|
36
|
-
|---|---|---|
|
|
37
|
-
| **PostgreSQL** | One **schema** per module (`orders.order`, `users.user`). Created automatically. | Set `__tablename__` to a name unique within the module. |
|
|
38
|
-
| **SQLite** | Single schema. Cross-module name collisions break things. | Prefix `__tablename__` with the module name (`orders_order`). |
|
|
39
|
-
|
|
40
|
-
Always include the module-name prefix in `__tablename__`. It's redundant on Postgres (the schema already namespaces it) and **required** on SQLite. Code that runs in CI on SQLite and prod on Postgres needs both — pick the prefix.
|
|
28
|
+
All modules — on Postgres and SQLite alike — share the host's single schema. Cross-module name collisions break things, so `__tablename__` must be prefixed with the module name (e.g. `orders_order`, `users_user`). The framework does not enforce the prefix; it's a convention the migrations and diagnostics rely on.
|
|
41
29
|
|
|
42
30
|
## Mixins
|
|
43
31
|
|
|
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
|
{simple_module_cli-0.0.17 → simple_module_cli-0.0.18}/simple_module_cli/templates/host/.env.example
RENAMED
|
File without changes
|
{simple_module_cli-0.0.17 → simple_module_cli-0.0.18}/simple_module_cli/templates/host/.gitignore
RENAMED
|
File without changes
|
{simple_module_cli-0.0.17 → simple_module_cli-0.0.18}/simple_module_cli/templates/host/Makefile
RENAMED
|
File without changes
|
{simple_module_cli-0.0.17 → simple_module_cli-0.0.18}/simple_module_cli/templates/host/README.md.tpl
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{simple_module_cli-0.0.17 → simple_module_cli-0.0.18}/simple_module_cli/templates/host/alembic.ini
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
|
{simple_module_cli-0.0.17 → simple_module_cli-0.0.18}/simple_module_cli/templates/host/main.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{simple_module_cli-0.0.17 → simple_module_cli-0.0.18}/simple_module_cli/templates/host/routes.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{simple_module_cli-0.0.17 → simple_module_cli-0.0.18}/simple_module_cli/templates/module/.gitignore
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
|
{simple_module_cli-0.0.17 → simple_module_cli-0.0.18}/simple_module_cli/templates/workspace/Makefile
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
|