diff --git a/.copier-answers.yml b/.copier-answers.yml index bde40a8c..3f4c44e4 100644 --- a/.copier-answers.yml +++ b/.copier-answers.yml @@ -1,5 +1,5 @@ # Changes here will be overwritten by Copier -_commit: v0.0.5-36-gb56f9e4 +_commit: v0.0.5-57-g045b3f3 _src_path: gh:LabAutomationAndScreening/copier-base-template.git description: Copier template for creating Python libraries and executables python_ci_versions: diff --git a/.devcontainer/create-aws-profile.sh b/.devcontainer/create-aws-profile.sh index 447019f1..8f93c4ba 100644 --- a/.devcontainer/create-aws-profile.sh +++ b/.devcontainer/create-aws-profile.sh @@ -1,12 +1,19 @@ -#!/bin/bash +#!/bin/sh set -ex mkdir -p ~/.aws + +if [ "$GITHUB_ACTIONS" = "true" ]; then + LOCALSTACK_ENDPOINT_URL="http://localhost:4566" +else + LOCALSTACK_ENDPOINT_URL="http://localstack:4566" +fi + cat >> ~/.aws/config <> ~/.aws/credentials < dict[Any, Any]: - context["uv_version"] = "0.5.26" + context["uv_version"] = "0.5.28" context["pre_commit_version"] = "4.0.1" - context["pyright_version"] = "1.1.393" + context["pyright_version"] = "1.1.394" context["pytest_version"] = "8.3.4" context["pytest_randomly_version"] = "3.16.0" context["pytest_cov_version"] = "6.0.0" context["copier_version"] = "9.4.1" context["copier_templates_extension_version"] = "0.3.0" context["sphinx_version"] = "8.1.3" - context["pulumi_version"] = "3.147.0" - context["pulumi_aws_version"] = "6.66.3" - context["pulumi_aws_native_version"] = "1.24.0" + context["pulumi_version"] = "3.149.0" + context["pulumi_aws_version"] = "6.67.0" + context["pulumi_aws_native_version"] = "1.25.0" context["pulumi_command_version"] = "1.0.1" context["boto3_version"] = "1.36.3" + context["ephemeral_pulumi_deploy_version"] = "0.0.2" + context["pydantic_version"] = "2.10.6" + context["pyinstaller_version"] = "6.12.0" context["gha_checkout"] = "v4.2.2" context["gha_setup_python"] = "v5.3.0" diff --git a/pyproject.toml b/pyproject.toml index f0c80017..0cbc2726 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -9,7 +9,7 @@ dependencies = [ "pytest>=8.3.4", "pytest-cov>=6.0.0", "pytest-randomly>=3.16.0", - "pyright[nodejs]>=1.1.393", + "pyright[nodejs]>=1.1.394", "copier>=9.4.1", "copier-templates-extensions>=0.3.0" diff --git a/pyrightconfig.json b/pyrightconfig.json index ef6d2f5e..d369f774 100644 --- a/pyrightconfig.json +++ b/pyrightconfig.json @@ -1,110 +1,109 @@ { - "exclude": [ - // excludes managed by this repository + "exclude": [ + // excludes managed by this repository - - // excludes managed by template - "**/node_modules", - "**/.precommit_cache", - "**/.ruff_cache", - "**/.npm_cache", - "**/.pipx_cache", - "**/__pycache__", - "**/vendor_files", - "**/.venv", - "**/venv" - ], - "strictListInference": true, - "strictDictionaryInference": true, - "strictSetInference": true, - "analyzeUnannotatedFunctions": true, - "strictParameterNoneValue": true, - "enableTypeIgnoreComments": true, - "deprecateTypingAliases": true, - "reportGeneralTypeIssues": true, - "reportPropertyTypeMismatch": true, - "reportFunctionMemberAccess": true, - "reportMissingImports": true, - "reportMissingModuleSource": true, - "reportInvalidTypeForm": true, - "reportMissingTypeStubs": false, - "reportImportCycles": true, - "reportUnusedClass": true, - "reportUnusedFunction": true, - "reportUnusedVariable": true, - "reportWildcardImportFromLibrary": true, - "reportAbstractUsage": true, - "reportArgumentType": true, - "reportAssertTypeFailure": true, - "reportAssignmentType": true, - "reportAttributeAccessIssue": true, - "reportCallIssue": true, - "reportInconsistentOverload": true, - "reportIndexIssue": true, - "reportInvalidTypeArguments": true, - "reportNoOverloadImplementation": true, - "reportOperatorIssue": true, - "reportOptionalSubscript": true, - "reportOptionalMemberAccess": true, - "reportOptionalCall": true, - "reportOptionalIterable": true, - "reportOptionalContextManager": true, - "reportOptionalOperand": true, - "reportRedeclaration": true, - "reportReturnType": true, - "reportTypedDictNotRequiredAccess": true, - "reportUntypedFunctionDecorator": true, - "reportUntypedClassDecorator": true, - "reportUntypedBaseClass": true, - "reportUntypedNamedTuple": true, - "reportPrivateUsage": false, // already covered by ruff rule SLF001 - "reportTypeCommentUsage": true, - "reportPrivateImportUsage": true, - "reportConstantRedefinition": true, - "reportDeprecated": true, - "reportIncompatibleMethodOverride": true, - "reportIncompatibleVariableOverride": true, - "reportInconsistentConstructor": true, - "reportOverlappingOverload": true, - "reportPossiblyUnboundVariable": true, - "reportMissingSuperCall": true, - "reportUninitializedInstanceVariable": true, - "reportInvalidStringEscapeSequence": true, - "reportUnknownParameterType": true, - "reportUnknownArgumentType": true, - "reportUnknownLambdaType": true, - "reportUnknownVariableType": true, - "reportUnknownMemberType": true, - "reportMissingParameterType": true, - "reportMissingTypeArgument": true, - "reportInvalidTypeVarUse": true, - "reportCallInDefaultInitializer": true, - "reportUnnecessaryIsInstance": true, - "reportUnnecessaryCast": true, - "reportUnnecessaryComparison": true, - "reportUnnecessaryContains": true, - "reportAssertAlwaysTrue": true, - "reportSelfClsParameterName": true, - "reportImplicitStringConcatenation": true, - "reportUndefinedVariable": true, - "reportUnboundVariable": true, - "reportInvalidStubStatement": true, - "reportIncompleteStub": true, - "reportUnsupportedDunderAll": true, - "reportUnusedCallResult": true, - "reportUnusedCoroutine": true, - "reportUnusedExcept": true, - "reportUnusedExpression": true, - "reportUnnecessaryTypeIgnoreComment": true, - "reportMatchNotExhaustive": true, - "reportImplicitOverride": true, - "reportShadowedImports": true, - "pythonPlatform": "Linux", - "executionEnvironments": [ - { - "root": "tests", - // reportUninitializedInstanceVariable doesn't make any sense for test cases. See https://github.com/microsoft/pyright/discussions/4834#discussioncomment-8496931 - "reportUninitializedInstanceVariable": false, - } - ] - } + // excludes managed by template + "**/node_modules", + "**/.precommit_cache", + "**/.ruff_cache", + "**/.npm_cache", + "**/.pipx_cache", + "**/__pycache__", + "**/vendor_files", + "**/.venv", + "**/venv" + ], + "strictListInference": true, + "strictDictionaryInference": true, + "strictSetInference": true, + "analyzeUnannotatedFunctions": true, + "strictParameterNoneValue": true, + "enableTypeIgnoreComments": true, + "deprecateTypingAliases": true, + "reportGeneralTypeIssues": true, + "reportPropertyTypeMismatch": true, + "reportFunctionMemberAccess": true, + "reportMissingImports": true, + "reportMissingModuleSource": true, + "reportInvalidTypeForm": true, + "reportMissingTypeStubs": false, + "reportImportCycles": true, + "reportUnusedClass": true, + "reportUnusedFunction": true, + "reportUnusedVariable": false, // already covered by ruff rule F841 + "reportWildcardImportFromLibrary": true, + "reportAbstractUsage": true, + "reportArgumentType": true, + "reportAssertTypeFailure": true, + "reportAssignmentType": true, + "reportAttributeAccessIssue": true, + "reportCallIssue": true, + "reportInconsistentOverload": true, + "reportIndexIssue": true, + "reportInvalidTypeArguments": true, + "reportNoOverloadImplementation": true, + "reportOperatorIssue": true, + "reportOptionalSubscript": true, + "reportOptionalMemberAccess": true, + "reportOptionalCall": true, + "reportOptionalIterable": true, + "reportOptionalContextManager": true, + "reportOptionalOperand": true, + "reportRedeclaration": true, + "reportReturnType": true, + "reportTypedDictNotRequiredAccess": true, + "reportUntypedFunctionDecorator": true, + "reportUntypedClassDecorator": true, + "reportUntypedBaseClass": true, + "reportUntypedNamedTuple": true, + "reportPrivateUsage": false, // already covered by ruff rule SLF001 + "reportTypeCommentUsage": true, + "reportPrivateImportUsage": true, + "reportConstantRedefinition": true, + "reportDeprecated": true, + "reportIncompatibleMethodOverride": true, + "reportIncompatibleVariableOverride": true, + "reportInconsistentConstructor": true, + "reportOverlappingOverload": true, + "reportPossiblyUnboundVariable": true, + "reportMissingSuperCall": true, + "reportUninitializedInstanceVariable": true, + "reportInvalidStringEscapeSequence": true, + "reportUnknownParameterType": true, + "reportUnknownArgumentType": true, + "reportUnknownLambdaType": true, + "reportUnknownVariableType": true, + "reportUnknownMemberType": true, + "reportMissingParameterType": true, + "reportMissingTypeArgument": true, + "reportInvalidTypeVarUse": true, + "reportCallInDefaultInitializer": true, + "reportUnnecessaryIsInstance": true, + "reportUnnecessaryCast": true, + "reportUnnecessaryComparison": true, + "reportUnnecessaryContains": true, + "reportAssertAlwaysTrue": true, + "reportSelfClsParameterName": true, + "reportImplicitStringConcatenation": true, + "reportUndefinedVariable": true, + "reportUnboundVariable": true, + "reportInvalidStubStatement": true, + "reportIncompleteStub": true, + "reportUnsupportedDunderAll": true, + "reportUnusedCallResult": true, + "reportUnusedCoroutine": true, + "reportUnusedExcept": true, + "reportUnusedExpression": true, + "reportUnnecessaryTypeIgnoreComment": true, + "reportMatchNotExhaustive": true, + "reportImplicitOverride": true, + "reportShadowedImports": true, + "pythonPlatform": "Linux", + "executionEnvironments": [ + { + "root": "tests", + // reportUninitializedInstanceVariable doesn't make any sense for test cases. See https://github.com/microsoft/pyright/discussions/4834#discussioncomment-8496931 + "reportUninitializedInstanceVariable": false + } + ] +} diff --git a/pytest.ini b/pytest.ini index 689062a4..7ee31078 100644 --- a/pytest.ini +++ b/pytest.ini @@ -20,6 +20,7 @@ filterwarnings = error::pytest.PytestUnraisableExceptionWarning # stackoverflow.com/questions/71642742/make-pytest-fail-on-resourcewarning-unclosed-files + error::pytest.PytestUnhandledThreadExceptionWarning xfail_strict=true diff --git a/template/.devcontainer/create-aws-profile.sh b/template/.devcontainer/create-aws-profile.sh index 447019f1..8f93c4ba 100644 --- a/template/.devcontainer/create-aws-profile.sh +++ b/template/.devcontainer/create-aws-profile.sh @@ -1,12 +1,19 @@ -#!/bin/bash +#!/bin/sh set -ex mkdir -p ~/.aws + +if [ "$GITHUB_ACTIONS" = "true" ]; then + LOCALSTACK_ENDPOINT_URL="http://localhost:4566" +else + LOCALSTACK_ENDPOINT_URL="http://localstack:4566" +fi + cat >> ~/.aws/config <> ~/.aws/credentials <={% endraw %}{{ pytest_version }}{% raw %}", "pytest-cov>={% endraw %}{{ pytest_cov_version }}{% raw %}", "pytest-randomly>={% endraw %}{{ pytest_randomly_version }}{% raw %}", - "sphinx=={% endraw %}{{ sphinx_version }}{% raw %}", +{% endraw %}{% if create_docs %}{% raw %} "sphinx=={% endraw %}{{ sphinx_version }}{% raw %}",{% endraw %}{% endif %}{% raw %} +{% endraw %}{% if is_frozen_executable %}{% raw %} "pyinstaller>={% endraw %}{{ pyinstaller_version }}{% raw %}",{% endraw %}{% endif %}{% raw %} ] +[tool.setuptools] +license-files = [] # kludge until this bug is fixed https://github.com/pypa/setuptools/issues/4759 + [tool.uv] package = true diff --git a/template/pyrightconfig.json b/template/pyrightconfig.json index ef6d2f5e..d369f774 100644 --- a/template/pyrightconfig.json +++ b/template/pyrightconfig.json @@ -1,110 +1,109 @@ { - "exclude": [ - // excludes managed by this repository + "exclude": [ + // excludes managed by this repository - - // excludes managed by template - "**/node_modules", - "**/.precommit_cache", - "**/.ruff_cache", - "**/.npm_cache", - "**/.pipx_cache", - "**/__pycache__", - "**/vendor_files", - "**/.venv", - "**/venv" - ], - "strictListInference": true, - "strictDictionaryInference": true, - "strictSetInference": true, - "analyzeUnannotatedFunctions": true, - "strictParameterNoneValue": true, - "enableTypeIgnoreComments": true, - "deprecateTypingAliases": true, - "reportGeneralTypeIssues": true, - "reportPropertyTypeMismatch": true, - "reportFunctionMemberAccess": true, - "reportMissingImports": true, - "reportMissingModuleSource": true, - "reportInvalidTypeForm": true, - "reportMissingTypeStubs": false, - "reportImportCycles": true, - "reportUnusedClass": true, - "reportUnusedFunction": true, - "reportUnusedVariable": true, - "reportWildcardImportFromLibrary": true, - "reportAbstractUsage": true, - "reportArgumentType": true, - "reportAssertTypeFailure": true, - "reportAssignmentType": true, - "reportAttributeAccessIssue": true, - "reportCallIssue": true, - "reportInconsistentOverload": true, - "reportIndexIssue": true, - "reportInvalidTypeArguments": true, - "reportNoOverloadImplementation": true, - "reportOperatorIssue": true, - "reportOptionalSubscript": true, - "reportOptionalMemberAccess": true, - "reportOptionalCall": true, - "reportOptionalIterable": true, - "reportOptionalContextManager": true, - "reportOptionalOperand": true, - "reportRedeclaration": true, - "reportReturnType": true, - "reportTypedDictNotRequiredAccess": true, - "reportUntypedFunctionDecorator": true, - "reportUntypedClassDecorator": true, - "reportUntypedBaseClass": true, - "reportUntypedNamedTuple": true, - "reportPrivateUsage": false, // already covered by ruff rule SLF001 - "reportTypeCommentUsage": true, - "reportPrivateImportUsage": true, - "reportConstantRedefinition": true, - "reportDeprecated": true, - "reportIncompatibleMethodOverride": true, - "reportIncompatibleVariableOverride": true, - "reportInconsistentConstructor": true, - "reportOverlappingOverload": true, - "reportPossiblyUnboundVariable": true, - "reportMissingSuperCall": true, - "reportUninitializedInstanceVariable": true, - "reportInvalidStringEscapeSequence": true, - "reportUnknownParameterType": true, - "reportUnknownArgumentType": true, - "reportUnknownLambdaType": true, - "reportUnknownVariableType": true, - "reportUnknownMemberType": true, - "reportMissingParameterType": true, - "reportMissingTypeArgument": true, - "reportInvalidTypeVarUse": true, - "reportCallInDefaultInitializer": true, - "reportUnnecessaryIsInstance": true, - "reportUnnecessaryCast": true, - "reportUnnecessaryComparison": true, - "reportUnnecessaryContains": true, - "reportAssertAlwaysTrue": true, - "reportSelfClsParameterName": true, - "reportImplicitStringConcatenation": true, - "reportUndefinedVariable": true, - "reportUnboundVariable": true, - "reportInvalidStubStatement": true, - "reportIncompleteStub": true, - "reportUnsupportedDunderAll": true, - "reportUnusedCallResult": true, - "reportUnusedCoroutine": true, - "reportUnusedExcept": true, - "reportUnusedExpression": true, - "reportUnnecessaryTypeIgnoreComment": true, - "reportMatchNotExhaustive": true, - "reportImplicitOverride": true, - "reportShadowedImports": true, - "pythonPlatform": "Linux", - "executionEnvironments": [ - { - "root": "tests", - // reportUninitializedInstanceVariable doesn't make any sense for test cases. See https://github.com/microsoft/pyright/discussions/4834#discussioncomment-8496931 - "reportUninitializedInstanceVariable": false, - } - ] - } + // excludes managed by template + "**/node_modules", + "**/.precommit_cache", + "**/.ruff_cache", + "**/.npm_cache", + "**/.pipx_cache", + "**/__pycache__", + "**/vendor_files", + "**/.venv", + "**/venv" + ], + "strictListInference": true, + "strictDictionaryInference": true, + "strictSetInference": true, + "analyzeUnannotatedFunctions": true, + "strictParameterNoneValue": true, + "enableTypeIgnoreComments": true, + "deprecateTypingAliases": true, + "reportGeneralTypeIssues": true, + "reportPropertyTypeMismatch": true, + "reportFunctionMemberAccess": true, + "reportMissingImports": true, + "reportMissingModuleSource": true, + "reportInvalidTypeForm": true, + "reportMissingTypeStubs": false, + "reportImportCycles": true, + "reportUnusedClass": true, + "reportUnusedFunction": true, + "reportUnusedVariable": false, // already covered by ruff rule F841 + "reportWildcardImportFromLibrary": true, + "reportAbstractUsage": true, + "reportArgumentType": true, + "reportAssertTypeFailure": true, + "reportAssignmentType": true, + "reportAttributeAccessIssue": true, + "reportCallIssue": true, + "reportInconsistentOverload": true, + "reportIndexIssue": true, + "reportInvalidTypeArguments": true, + "reportNoOverloadImplementation": true, + "reportOperatorIssue": true, + "reportOptionalSubscript": true, + "reportOptionalMemberAccess": true, + "reportOptionalCall": true, + "reportOptionalIterable": true, + "reportOptionalContextManager": true, + "reportOptionalOperand": true, + "reportRedeclaration": true, + "reportReturnType": true, + "reportTypedDictNotRequiredAccess": true, + "reportUntypedFunctionDecorator": true, + "reportUntypedClassDecorator": true, + "reportUntypedBaseClass": true, + "reportUntypedNamedTuple": true, + "reportPrivateUsage": false, // already covered by ruff rule SLF001 + "reportTypeCommentUsage": true, + "reportPrivateImportUsage": true, + "reportConstantRedefinition": true, + "reportDeprecated": true, + "reportIncompatibleMethodOverride": true, + "reportIncompatibleVariableOverride": true, + "reportInconsistentConstructor": true, + "reportOverlappingOverload": true, + "reportPossiblyUnboundVariable": true, + "reportMissingSuperCall": true, + "reportUninitializedInstanceVariable": true, + "reportInvalidStringEscapeSequence": true, + "reportUnknownParameterType": true, + "reportUnknownArgumentType": true, + "reportUnknownLambdaType": true, + "reportUnknownVariableType": true, + "reportUnknownMemberType": true, + "reportMissingParameterType": true, + "reportMissingTypeArgument": true, + "reportInvalidTypeVarUse": true, + "reportCallInDefaultInitializer": true, + "reportUnnecessaryIsInstance": true, + "reportUnnecessaryCast": true, + "reportUnnecessaryComparison": true, + "reportUnnecessaryContains": true, + "reportAssertAlwaysTrue": true, + "reportSelfClsParameterName": true, + "reportImplicitStringConcatenation": true, + "reportUndefinedVariable": true, + "reportUnboundVariable": true, + "reportInvalidStubStatement": true, + "reportIncompleteStub": true, + "reportUnsupportedDunderAll": true, + "reportUnusedCallResult": true, + "reportUnusedCoroutine": true, + "reportUnusedExcept": true, + "reportUnusedExpression": true, + "reportUnnecessaryTypeIgnoreComment": true, + "reportMatchNotExhaustive": true, + "reportImplicitOverride": true, + "reportShadowedImports": true, + "pythonPlatform": "Linux", + "executionEnvironments": [ + { + "root": "tests", + // reportUninitializedInstanceVariable doesn't make any sense for test cases. See https://github.com/microsoft/pyright/discussions/4834#discussioncomment-8496931 + "reportUninitializedInstanceVariable": false + } + ] +} diff --git a/template/pytest.ini b/template/pytest.ini index 689062a4..7ee31078 100644 --- a/template/pytest.ini +++ b/template/pytest.ini @@ -20,6 +20,7 @@ filterwarnings = error::pytest.PytestUnraisableExceptionWarning # stackoverflow.com/questions/71642742/make-pytest-fail-on-resourcewarning-unclosed-files + error::pytest.PytestUnhandledThreadExceptionWarning xfail_strict=true diff --git a/template/src/{% if is_frozen_executable %}entrypoint.py{% endif %}.jinja b/template/src/{% if is_frozen_executable %}entrypoint.py{% endif %}.jinja new file mode 100644 index 00000000..8544d614 --- /dev/null +++ b/template/src/{% if is_frozen_executable %}entrypoint.py{% endif %}.jinja @@ -0,0 +1,8 @@ +{% raw %}import sys # pragma: no cover # we can't unit test the entrypoint itself. It is tested in the E2E test of the executable + +from {% endraw %}{{ package_name.replace('-', '_') }}{% raw %}.main import ( + entrypoint, +) # pragma: no cover # we can't unit test the entrypoint itself. It is tested in the E2E test of the executable + +if __name__ == "__main__": + sys.exit(entrypoint(sys.argv[1:])){% endraw %} diff --git a/template/src/{{ package_name.replace('-', '_') }}/{% if is_frozen_executable %}main.py{% endif %}.jinja b/template/src/{{ package_name.replace('-', '_') }}/{% if is_frozen_executable %}main.py{% endif %}.jinja new file mode 100644 index 00000000..c46cf98e --- /dev/null +++ b/template/src/{{ package_name.replace('-', '_') }}/{% if is_frozen_executable %}main.py{% endif %}.jinja @@ -0,0 +1,2 @@ +{% raw %}def entrypoint(argv: list[str]) -> int: # noqa: ARG001 # args will be used after instantiation + return 0{% endraw %} diff --git a/tests/copier_data/data1.yaml b/tests/copier_data/data1.yaml index 63b5c2b0..20b2ff42 100644 --- a/tests/copier_data/data1.yaml +++ b/tests/copier_data/data1.yaml @@ -1,12 +1,15 @@ # Data managed by upstream template repo_name: the_best_repo +repo_org_name: great-company description: Doing amazing things ssh_port_number: 12345 use_windows_in_ci: false aws_identity_center_id: d-9145c20053 +aws_org_home_region: us-west-2 aws_production_account_id: 123456789012 use_staging_environment: false +aws_region_for_stack: us-east-2 # Data added based on the specifics of this template @@ -17,3 +20,5 @@ package_name: foo-bar primary_author: George Washington full_repo_url: https://www.github.com/foobar create_docs: no +is_frozen_executable: yes +use_windows_in_exe_ci: yes diff --git a/tests/copier_data/data2.yaml b/tests/copier_data/data2.yaml index 04b6b418..770ea185 100644 --- a/tests/copier_data/data2.yaml +++ b/tests/copier_data/data2.yaml @@ -1,15 +1,18 @@ # Data managed by upstream template repo_name: another_repo +repo_org_name: initech description: Doing crazy things! So many things! ssh_port_number: 54321 use_windows_in_ci: true aws_identity_center_id: d-9145c20053 +aws_org_home_region: us-east-1 aws_production_account_id: 123456789012 use_staging_environment: true aws_staging_account_id: 210987654321 aws_test_account_id: 211735654321 aws_development_account_id: 000321456870 +aws_region_for_stack: us-west-1 @@ -22,3 +25,5 @@ package_name: the-amazing-library primary_author: John Williams full_repo_url: https://www.github.com/baz create_docs: yes +is_frozen_executable: no +use_windows_in_exe_ci: no diff --git a/tests/copier_data/data3.yaml b/tests/copier_data/data3.yaml new file mode 100644 index 00000000..178e0665 --- /dev/null +++ b/tests/copier_data/data3.yaml @@ -0,0 +1,24 @@ +# Data managed by upstream template +repo_name: the_best_repo +repo_org_name: great-company +description: Doing amazing things +ssh_port_number: 12345 +use_windows_in_ci: false + +aws_identity_center_id: d-9145c20053 +aws_org_home_region: us-west-2 +aws_production_account_id: 123456789012 +use_staging_environment: false +aws_region_for_stack: us-east-2 + + +# Data added based on the specifics of this template + +python_ci_versions: + - 3.12.7 +package_name: foo-bar +primary_author: George Washington +full_repo_url: https://www.github.com/foobar +create_docs: no +is_frozen_executable: yes +use_windows_in_exe_ci: no diff --git a/uv.lock b/uv.lock index 49802628..4c7fe94c 100644 --- a/uv.lock +++ b/uv.lock @@ -59,7 +59,7 @@ dependencies = [ requires-dist = [ { name = "copier", specifier = ">=9.4.1" }, { name = "copier-templates-extensions", specifier = ">=0.3.0" }, - { name = "pyright", extras = ["nodejs"], specifier = ">=1.1.393" }, + { name = "pyright", extras = ["nodejs"], specifier = ">=1.1.394" }, { name = "pytest", specifier = ">=8.3.4" }, { name = "pytest-cov", specifier = ">=6.0.0" }, { name = "pytest-randomly", specifier = ">=3.16.0" }, @@ -347,15 +347,15 @@ wheels = [ [[package]] name = "pyright" -version = "1.1.393" +version = "1.1.394" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "nodeenv" }, { name = "typing-extensions" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/f4/c1/aede6c74e664ab103673e4f1b7fd3d058fef32276be5c43572f4067d4a8e/pyright-1.1.393.tar.gz", hash = "sha256:aeeb7ff4e0364775ef416a80111613f91a05c8e01e58ecfefc370ca0db7aed9c", size = 3790430 } +sdist = { url = "https://files.pythonhosted.org/packages/b1/e4/79f4d8a342eed6790fdebdb500e95062f319ee3d7d75ae27304ff995ae8c/pyright-1.1.394.tar.gz", hash = "sha256:56f2a3ab88c5214a451eb71d8f2792b7700434f841ea219119ade7f42ca93608", size = 3809348 } wheels = [ - { url = "https://files.pythonhosted.org/packages/92/47/f0dd0f8afce13d92e406421ecac6df0990daee84335fc36717678577d3e0/pyright-1.1.393-py3-none-any.whl", hash = "sha256:8320629bb7a44ca90944ba599390162bf59307f3d9fb6e27da3b7011b8c17ae5", size = 5646057 }, + { url = "https://files.pythonhosted.org/packages/d6/4c/50c74e3d589517a9712a61a26143b587dba6285434a17aebf2ce6b82d2c3/pyright-1.1.394-py3-none-any.whl", hash = "sha256:5f74cce0a795a295fb768759bbeeec62561215dea657edcaab48a932b031ddbb", size = 5679540 }, ] [package.optional-dependencies]