Template questions

During project creation or when an update introduces a new variable, you will be prompted with some of the following questions:

project_name

The name of the project, particularly for PyPI.

The final name depends on no_saltext_namespace.

Example: vault

Important

Do not include the saltext. namespace here.

author

The main author’s name for PyPI package metadata and licensing.

Example: Foo Bar

author_email

A contact email address for PyPI package metadata.

Example: foo@b.ar

integration_name

The name of the integrated service, used in autogenerated documentation and README.

Example: HashiCorp Vault

summary

A short description of the project for PyPI metadata, documentation, and README.

Example: Salt extension for interacting with HashiCorp Vault

url

The project’s main URL for PyPI metadata, typically the hosted git repository.

Example: https://github.com/salt-extensions/saltext-vault

source_url

The URL of the hosted git repository for PyPI metadata.

Example: https://github.com/salt-extensions/saltext-vault

tracker_url

The URL of the issue tracker for PyPI metadata.

Example: https://github.com/salt-extensions/saltext-vault/issues

package_name

The Python package name used for importing. The final name depends on no_saltext_namespace.

Example: vault

Important

Do not include the saltext. namespace here.

license

Select a license. Any license other than Apache 2.0 requires manual management.

license_classifier

The license classifier for PyPI metadata.

Example: License :: OSI Approved :: GNU General Public License v2 or later (GPLv2+)

Note

Only asked if a non-Apache license is selected.

loaders

Choose the Salt module types this extension should provide.

salt_version

The minimum Salt version to support. Influences package dependencies and versions that are tested against.

python_requires

The minimum Python version to support. Also affects pre-commit autoformatting hooks.

max_salt_version

The maximum Salt version to support.

Hint

This is only relevant when non-centralized workflows are used, as it affects the Salt versions tests are run against.

no_saltext_namespace

Whether to use the saltext. namespace for the Python package.

ssh_fixtures

Include test fixtures for Salt-SSH tests (salt_ssh_cli etc.). Defaults to true if wrapper modules are included.

test_containers

Add support for running containers in the test suite (for functional and integration tests).

workflows

Select a GitHub Actions workflow style:

org

Rely on reusable workflows from the salt-extensions GitHub organization.

enhanced

Equivalent workflows to org, but stored in the extension repository. You need to setup required secrets yourself.

basic

Provided for compatibility with the deprecated create-salt-extension tool (not recommended for new projects).

Note

Not asked if source_url is not on GitHub.

deploy_docs

Decide when to publish documentation to GitHub pages:

never

Don’t publish documentation.

release

Publish when a release is tagged. This ensures documentation is in sync with the released functionality.

rolling

Publish on push and tag events to the default branch. This ensures upcoming unreleased changes are displayed in the changelog.

Important

Ensure your GitHub Actions workflow is allowed to publish to your GitHub Pages site.

Note

The current workflows do not support versioned documentation.

Note

Not asked if source_url is not on GitHub or the basic workflows have been selected.

docs_url

The URL for hosted documentation, typically your GitHub Pages URL if using deploy_docs.

Example: https://salt-extensions.github.io/saltext-vault/

coc_contact

A contact email for Code of Conduct complaints.

Example: foo@b.ar

relax_pylint

Suppress some Pylint messages that can cause noise (consider-using-f-string) or be time-intense (too-many-*) or difficult (redefined-builtin, redefined-outer-name) to solve with legacy code.

Additionally suppresses unused-argument in the test suite, often caused by requesting fixtures in the function signature instead of using @pytest.mark.usefixtures. Note that the decorator does not work on fixtures requesting other fixtures.