Questionnaire reference¶
Answers are prompted in the order shown below. Derived defaults use earlier answers or the destination directory name.
Identity and package shape¶
| Answer | Default | Constraint | Used for |
|---|---|---|---|
project_name |
Destination name in title case | Non-empty; no double quotes | Headings and documentation |
project_description |
A modern Python package scaffold. |
Non-empty; no double quotes | Package and repository metadata |
initial_version |
0.1.0 |
Stable X.Y.Z form |
Initial package and citation version |
project_slug |
Slugified project name | Lowercase words separated by single hyphens | Distribution, repository, and image names |
package_name |
Slug with hyphens replaced by underscores | Valid Python identifier | Import package under src/ |
exception_class_name |
PascalCase slug plus Error |
Starts uppercase and ends in Error |
Public base exception |
license |
MIT |
One of the supported SPDX expressions or LicenseRef-Proprietary |
License file, metadata, and classifiers |
Supported choices:
| Choice | Expression | Model |
|---|---|---|
| MIT License | MIT |
Permissive |
| BSD 3-Clause License | BSD-3-Clause |
Permissive |
| Apache License 2.0 | Apache-2.0 |
Permissive; includes an explicit patent grant |
| Mozilla Public License 2.0 | MPL-2.0 |
File-level copyleft |
| GNU General Public License v3 | GPL-3.0-only |
Strong copyleft; version 3 only |
| Proprietary / All rights reserved | LicenseRef-Proprietary |
No reuse permission granted |
The proprietary choice generates a general-purpose all-rights-reserved notice, not an open source license. Have counsel review or replace it when your organization requires specific commercial terms.
Python and quality¶
| Answer | Default | Constraint | Used for |
|---|---|---|---|
python_min_version |
3.11 |
Python 3.11–3.14 | Oldest supported Python and minimum-dependency tests |
python_default_version |
3.14 |
At least the minimum | Local environment, container, and primary CI version |
python_max_version_exclusive |
3.15 |
Immediately after the default | requires-python upper bound |
coverage_fail_under |
95 |
Integer from 0 through 100 | Pytest coverage gate |
The generated Linux CI matrix includes every minor version from the minimum through the default. macOS and Windows test the default version.
Local setup¶
| Answer | Default | Effect |
|---|---|---|
initialize_git_repository |
Yes | Initialize main and create an initial scaffold commit |
run_setup_tasks |
Yes | Install locked development dependencies and, when Git is initialized, hooks |
Post-copy tasks run only on Linux and macOS.
Repository and documentation¶
| Answer | Default | Constraint | Used for |
|---|---|---|---|
repository_owner |
acme |
Valid GitHub user or organization name | Repository, Pages, image, and policy paths |
repository_name |
Project slug | Letters, numbers, ., _, or - |
GitHub repository name |
repository_url |
https://github.com/<owner>/<repository> |
Complete HTTPS URL | Package links, badges, image labels, and publishing |
documentation_url |
https://<owner>.github.io/<repository>/ |
Complete HTTPS URL | MkDocs site, package metadata, and GitHub homepage |
github_environment_reviewer_id |
Empty | Numeric ID or empty | Optional PyPI deployment reviewer in .github/settings.yml |
Note
Built-in publishing is stricter than the questionnaire's generic HTTPS URL
validation: project.urls.Source must point to github.com/OWNER/REPOSITORY.
The optional reviewer value is a numeric GitHub user or team ID, not a login name.
Maintainer metadata¶
| Answer | Default | Constraint | Used for |
|---|---|---|---|
author_name |
Acme Maintainers |
Non-empty; no double quotes | Package, citation, license, and initial commit |
author_email |
maintainers@example.com |
Email-shaped value; no double quotes | Package, citation, security policy, and initial commit |
copyright_year |
Current year | 1970–9999 | License and site footer |
Recorded output¶
All selected values are written to:
.python-project-foundry.answers.yaml
Treat the file as repository configuration and commit it. It contains public project metadata; do not enter secrets in questionnaire fields.