From 30a097e829132e31da40ee8618be58d729e7a5cd Mon Sep 17 00:00:00 2001 From: Jeremy Kubica <104161096+jeremykubica@users.noreply.github.com> Date: Mon, 12 Oct 2026 12:24:22 -0400 Subject: [PATCH 1/3] Add command line scripts to the template --- python-project-template/pyproject.toml.jinja | 6 ++++++ .../{{package_name}}_cli/__init__.py | 0 .../{{package_name}}_version.py.jinja | 12 ++++++++++++ 3 files changed, 18 insertions(+) create mode 100644 python-project-template/{% if contains_code %}src{% endif %}/{{package_name}}_cli/__init__.py create mode 100644 python-project-template/{% if contains_code %}src{% endif %}/{{package_name}}_cli/{{package_name}}_version.py.jinja diff --git a/python-project-template/pyproject.toml.jinja b/python-project-template/pyproject.toml.jinja index 43324fa2..642f9e27 100644 --- a/python-project-template/pyproject.toml.jinja +++ b/python-project-template/pyproject.toml.jinja @@ -57,6 +57,12 @@ dev = [ {%- endif %} ] +{%- if contains_code %} +# Command-line scripts that can be run after installing the package +[project.scripts] +{{package_name}}_version = "{{package_name}}_cli.{{package_name}}_version:main" +{%- endif %} + [build-system] requires = [ "setuptools>=62", # Used to build and package the Python project diff --git a/python-project-template/{% if contains_code %}src{% endif %}/{{package_name}}_cli/__init__.py b/python-project-template/{% if contains_code %}src{% endif %}/{{package_name}}_cli/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/python-project-template/{% if contains_code %}src{% endif %}/{{package_name}}_cli/{{package_name}}_version.py.jinja b/python-project-template/{% if contains_code %}src{% endif %}/{{package_name}}_cli/{{package_name}}_version.py.jinja new file mode 100644 index 00000000..7e902954 --- /dev/null +++ b/python-project-template/{% if contains_code %}src{% endif %}/{{package_name}}_cli/{{package_name}}_version.py.jinja @@ -0,0 +1,12 @@ +"""Display basic version information to standard out.""" + +from {{package_name}}._version import __version__ + + +def main(): + print(f"{{package_name}}\n-----") + print(f"Version: {__version__}") + + +if __name__ == "__main__": + main() From 1e19a4f920748f25c8760707e81a15e64e5a927e Mon Sep 17 00:00:00 2001 From: Jeremy Kubica <104161096+jeremykubica@users.noreply.github.com> Date: Mon, 12 Oct 2026 12:54:37 -0400 Subject: [PATCH 2/3] Update {{package_name}}_version.py.jinja --- .../{{package_name}}_cli/{{package_name}}_version.py.jinja | 1 + 1 file changed, 1 insertion(+) diff --git a/python-project-template/{% if contains_code %}src{% endif %}/{{package_name}}_cli/{{package_name}}_version.py.jinja b/python-project-template/{% if contains_code %}src{% endif %}/{{package_name}}_cli/{{package_name}}_version.py.jinja index 7e902954..5a46c08f 100644 --- a/python-project-template/{% if contains_code %}src{% endif %}/{{package_name}}_cli/{{package_name}}_version.py.jinja +++ b/python-project-template/{% if contains_code %}src{% endif %}/{{package_name}}_cli/{{package_name}}_version.py.jinja @@ -4,6 +4,7 @@ from {{package_name}}._version import __version__ def main(): + """The main function for the example file.""" print(f"{{package_name}}\n-----") print(f"Version: {__version__}") From e26d6c6d6433bf3f44152b1e24c8c9cadb4f9bfc Mon Sep 17 00:00:00 2001 From: Jeremy Kubica <104161096+jeremykubica@users.noreply.github.com> Date: Mon, 12 Oct 2026 13:21:19 -0400 Subject: [PATCH 3/3] Update {{package_name}}_version.py.jinja --- .../{{package_name}}_cli/{{package_name}}_version.py.jinja | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/python-project-template/{% if contains_code %}src{% endif %}/{{package_name}}_cli/{{package_name}}_version.py.jinja b/python-project-template/{% if contains_code %}src{% endif %}/{{package_name}}_cli/{{package_name}}_version.py.jinja index 5a46c08f..4927c2c5 100644 --- a/python-project-template/{% if contains_code %}src{% endif %}/{{package_name}}_cli/{{package_name}}_version.py.jinja +++ b/python-project-template/{% if contains_code %}src{% endif %}/{{package_name}}_cli/{{package_name}}_version.py.jinja @@ -5,8 +5,7 @@ from {{package_name}}._version import __version__ def main(): """The main function for the example file.""" - print(f"{{package_name}}\n-----") - print(f"Version: {__version__}") + print(f"{{package_name}}: {__version__}") if __name__ == "__main__":