Summary
sm new generates a pyproject.toml with a [build-system] block declaring hatchling.build as the backend, and a name = \"<app>\" project. Hatchling then tries to build a wheel for the host app and fails because there is no <app>/ directory matching the project name (a host app is not a library — there's nothing to ship).
Reproduction
uvx --from simple_module_cli sm new my-app --db sqlite --preset standard -y --no-install
cd my-app
# (after working around #1 — i.e. removing simple_module_test from dev deps)
make install
Tail of the failure:
ValueError: Unable to determine which files to ship
inside the wheel using the following heuristics:
https://hatch.pypa.io/latest/plugins/builder/wheel/#default-file-selection
The most likely cause of this is that there is no directory that matches
the name of your project (simple_module_chat).
...
hint: This usually indicates a problem with the package or the build
environment.
Generated pyproject.toml (relevant excerpt)
[project]
name = "simple_module_chat"...dependencies = ["simple_module_hosting==0.0.6", ...]
[build-system]requires = ["hatchling"]
build-backend = "hatchling.build"[dependency-groups]dev = ["..."]
Suggested fix
Host apps aren't installable libraries. The scaffold should declare them as non-package projects so uv skips the build step entirely:
[tool.uv]
package = false
…and drop the [build-system] table, since nothing builds it.
Workaround
Replace the [build-system] block with [tool.uv]\npackage = false in the generated pyproject.toml.
Environment
simple_module_cli 0.0.6uv 0.7.5- macOS 25.4.0 (arm64), Python 3.12.10
Summary
sm newgenerates apyproject.tomlwith a[build-system]block declaringhatchling.buildas the backend, and aname = \"<app>\"project. Hatchling then tries to build a wheel for the host app and fails because there is no<app>/directory matching the project name (a host app is not a library — there's nothing to ship).Reproduction
Tail of the failure:
Generated
pyproject.toml(relevant excerpt)Suggested fix
Host apps aren't installable libraries. The scaffold should declare them as non-package projects so uv skips the build step entirely:
…and drop the
[build-system]table, since nothing builds it.Workaround
Replace the
[build-system]block with[tool.uv]\npackage = falsein the generatedpyproject.toml.Environment
simple_module_cli0.0.6uv0.7.5