Project Compliance
Before running any build step, scaldys-project automatically validates
that your project has the required files and structure. All issues are
collected and reported together — so you can fix everything in one pass —
then the tool exits without starting the build.
You can also run the check manually at any time without triggering a build:
scaldys-project check
This lets you verify a freshly cloned project or confirm your setup before investing time in a full build.
Sample output
When the project is fully set up:
INFO Checking project compliance...
INFO ✓ Project is compliant.
When issues are found:
INFO Checking project compliance...
ERROR Project compliance check failed — 2 issue(s) must be resolved before building:
ERROR ✗ Entry point not found: 'src/myapp/__main__.py'
ERROR ✗ Required packaging file not found: 'packaging/windows/myapp.iss'
ERROR For details on each requirement, see "Project Compliance" in the
documentation (In-Depth Guides → Project Compliance).
Compliance rules
The table below lists every rule that is evaluated. Which rules are checked
depends on the deployment_mode in scaldys-project.toml and the build command
being run.
# |
Rule |
Applies to |
See also |
|---|---|---|---|
1 |
|
All commands |
Project Layout — Project name and version |
2 |
The source root directory ( |
All build commands |
Project Layout — Source layout (src/ layout), Configuration |
3 |
The package directory |
All build commands |
Project Layout — Source layout (src/ layout) |
4 |
|
All build commands |
|
5 |
The Windows packaging directory ( |
|
Project Layout — Windows packaging layout, Configuration |
6 |
|
|
|
7 |
|
|
|
8 |
|
|
|
9 |
|
|
Windows Installer Creation — Online and offline installer modes |
10 |
The project package must be installed in the active virtual
environment (a dist-info entry discoverable by
|
|
Windows Distribution Modes — Mode 1: pyinstaller |
11 |
A |
|
Project Layout — Tests directory |
12 |
Cython modules must not use |
All build commands (if |
Cython Compilation — Limitations and caveats |
Note
Rules 5–10 are only evaluated when the deployment_mode in
scaldys-project.toml requires them. In wheel_only mode rules 5–9 are
skipped entirely because no installer is created. Rule 9 is only
evaluated in pyruntime mode. Rule 10 is only evaluated in
pyinstaller mode. Rule 11 and 12 are unconditional and always evaluated.
Note
Compliance checking validates project structure only. It does not check whether external tools such as PyInstaller, Sphinx, or Inno Setup are installed. Tool availability is verified immediately afterwards by the pre-flight checks. See Installation for how to install the required tools.
Relationship to pre-flight checks
scaldys-project performs two validation phases before any build work
begins:
Compliance check (this page): confirms that the project’s own files are in place.
Pre-flight check (Installation): confirms that the required external tools (Sphinx, PyInstaller, Inno Setup) are installed and locatable.
Both phases collect all failures before reporting, so you always see the complete list of problems in a single run rather than discovering them one at a time.