Configuration
scaldys-project reads project-specific build settings from a
scaldys-project.toml file in the project root. Every setting has a default, so
the file is entirely optional — pure-Python projects with packaging files in
the default location require no configuration at all.
File location
Place scaldys-project.toml alongside pyproject.toml in your project root:
my-project/
pyproject.toml
scaldys-project.toml ← optional
src/
packaging/windows/
Sections
[cython]
Controls Cython compilation.
[cython]
compiled_modules = [
"myapp.core.engine",
"myapp.core.crypto",
]
source_root = "src"
Key |
Default |
Description |
|---|---|---|
|
|
List of fully-qualified dotted module paths to compile with Cython. An empty list (the default) disables Cython; source files are staged as-is for PyInstaller. Note: Compiled modules must not use match/case (PEP 634) syntax. |
|
|
Directory relative to the project root that contains your Python
source packages. For a |
Example — no Cython compilation (pure-Python project)
# [cython] section omitted — defaults apply
Example — compile selected modules
[cython]
compiled_modules = [
"myapp.core.engine", # performance-critical inner loop
"myapp.core.crypto", # obfuscation: hide algorithm details
]
See Cython Compilation for a full explanation of how compilation works.
[docs]
Controls which documentation units are distributed to end users.
[docs]
public_doc_dirs = ["manual"]
Key |
Default |
Description |
|---|---|---|
|
|
List of subdirectory names under |
Example — distribute one unit to end users
[docs]
public_doc_dirs = ["manual"]
See Documentation Building for a full explanation of how the doc build works.
[windows]
Controls Windows-specific packaging paths, the deployment strategy, and distribution options.
[windows]
script_dir = "packaging/windows"
deployment_mode = "pyinstaller"
bundle_pyruntime = false
Key |
Default |
Description |
|---|---|---|
|
|
Directory relative to the project root containing the Windows
packaging files: Inno Setup script ( |
|
|
Controls how the application is packaged for Windows users. Three values are supported:
See Windows Distribution Modes for a full description of each mode. |
|
|
Only meaningful when |
See Windows Installer Creation for details on what each packaging file should contain.
[format]
Controls target files and directories for Markdown and code formatting.
[format]
markdown_targets = ["README.md", "docs/site"]
Key |
Default |
Description |
|---|---|---|
|
|
List of files and directories (relative to project root) to format with
When omitted or |
Example — customize formatting targets
[format]
markdown_targets = ["README.md", "docs/user_guide"]
See Markdown Formatting and Tools for details on Markdown formatting and CI checks.
Complete example
[cython]
compiled_modules = [
"myapp.core.engine",
"myapp.core.crypto",
]
source_root = "src"
[windows]
script_dir = "packaging/windows"
deployment_mode = "pyinstaller"
[docs]
public_doc_dirs = ["manual"]
[format]
markdown_targets = ["README.md", "docs/manual"]
Annotated reference file
For a single copy-paste-ready block that lists every option with inline comments, see scaldys-project.toml — Full Reference.
Defaults summary
If scaldys-project.toml is absent, or a section / key is missing, the following
defaults apply:
Setting |
Default value |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|