From a4a071fd2b74a4aa02a7485b5ebe13511c7f8708 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edgar=20Ram=C3=ADrez=20Mondrag=C3=B3n?= <16805946+edgarrmondragon@users.noreply.github.com> Date: Wed, 2 Oct 2024 12:48:58 -0600 Subject: [PATCH 1/2] packaging(templates): Remove unused backport `importlib_resources` dependency in tap template (#2694) --- cookiecutter/tap-template/{{cookiecutter.tap_id}}/pyproject.toml | 1 - 1 file changed, 1 deletion(-) diff --git a/cookiecutter/tap-template/{{cookiecutter.tap_id}}/pyproject.toml b/cookiecutter/tap-template/{{cookiecutter.tap_id}}/pyproject.toml index 4163251a1..49abd849d 100644 --- a/cookiecutter/tap-template/{{cookiecutter.tap_id}}/pyproject.toml +++ b/cookiecutter/tap-template/{{cookiecutter.tap_id}}/pyproject.toml @@ -29,7 +29,6 @@ packages = [ [tool.poetry.dependencies] python = ">=3.9" -importlib-resources = { version = "==6.4.*", python = "<3.9" } singer-sdk = { version="~=0.40.0", extras = [ {%- if cookiecutter.auth_method == "JWT" -%}"jwt", {% endif -%} {%- if cookiecutter.faker_extra -%}"faker",{%- endif -%} From 5c68b09fb7ddc41296f14d499fe408de7d30a1d7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edgar=20Ram=C3=ADrez=20Mondrag=C3=B3n?= <16805946+edgarrmondragon@users.noreply.github.com> Date: Wed, 2 Oct 2024 13:56:09 -0600 Subject: [PATCH 2/2] refactor(templates): Update dependencies in templates (#2695) * refactor(templates): Update dependencies in templates * Simpler Ruff config --- .../.github/workflows/build.yml | 2 +- .../.github/workflows/test.yml | 5 +++-- .../.pre-commit-config.yaml | 4 ++-- .../{{cookiecutter.mapper_id}}/pyproject.toml | 6 +----- .../{{cookiecutter.mapper_id}}/tox.ini | 19 ++++++------------- .../.github/workflows/build.yml | 2 +- .../.github/workflows/test.yml | 5 +++-- .../.pre-commit-config.yaml | 4 ++-- .../{{cookiecutter.tap_id}}/README.md | 2 +- .../{{cookiecutter.tap_id}}/pyproject.toml | 6 +----- .../{{cookiecutter.tap_id}}/tox.ini | 19 ++++++------------- .../.github/workflows/build.yml | 2 +- .../.github/workflows/test.yml | 5 +++-- .../.pre-commit-config.yaml | 4 ++-- .../{{cookiecutter.target_id}}/pyproject.toml | 6 +----- .../{{cookiecutter.target_id}}/tox.ini | 19 ++++++------------- 16 files changed, 40 insertions(+), 70 deletions(-) diff --git a/cookiecutter/mapper-template/{{cookiecutter.mapper_id}}/.github/workflows/build.yml b/cookiecutter/mapper-template/{{cookiecutter.mapper_id}}/.github/workflows/build.yml index f9503baf6..425f733a6 100644 --- a/cookiecutter/mapper-template/{{cookiecutter.mapper_id}}/.github/workflows/build.yml +++ b/cookiecutter/mapper-template/{{cookiecutter.mapper_id}}/.github/workflows/build.yml @@ -42,4 +42,4 @@ jobs: - name: Publish ## TODO: create a trusted publisher on PyPI ## https://docs.pypi.org/trusted-publishers/ - uses: pypa/gh-action-pypi-publish@v1.9.0 + uses: pypa/gh-action-pypi-publish@v1.10.2 diff --git a/cookiecutter/mapper-template/{{cookiecutter.mapper_id}}/.github/workflows/test.yml b/cookiecutter/mapper-template/{{cookiecutter.mapper_id}}/.github/workflows/test.yml index 731c51a14..929567e8c 100644 --- a/cookiecutter/mapper-template/{{cookiecutter.mapper_id}}/.github/workflows/test.yml +++ b/cookiecutter/mapper-template/{{cookiecutter.mapper_id}}/.github/workflows/test.yml @@ -24,11 +24,12 @@ on: - tox.ini workflow_dispatch: +env: + FORCE_COLOR: 1 + jobs: pytest: runs-on: ubuntu-latest - env: - GITHUB_TOKEN: {{ '${{secrets.GITHUB_TOKEN}}' }} strategy: fail-fast: false matrix: diff --git a/cookiecutter/mapper-template/{{cookiecutter.mapper_id}}/.pre-commit-config.yaml b/cookiecutter/mapper-template/{{cookiecutter.mapper_id}}/.pre-commit-config.yaml index 9e35a5cbe..58f0f5b0e 100644 --- a/cookiecutter/mapper-template/{{cookiecutter.mapper_id}}/.pre-commit-config.yaml +++ b/cookiecutter/mapper-template/{{cookiecutter.mapper_id}}/.pre-commit-config.yaml @@ -18,13 +18,13 @@ repos: - id: trailing-whitespace - repo: https://github.com/python-jsonschema/check-jsonschema - rev: 0.29.2 + rev: 0.29.3 hooks: - id: check-dependabot - id: check-github-workflows - repo: https://github.com/astral-sh/ruff-pre-commit - rev: v0.6.4 + rev: v0.6.8 hooks: - id: ruff args: [--fix, --exit-non-zero-on-fix, --show-fixes] diff --git a/cookiecutter/mapper-template/{{cookiecutter.mapper_id}}/pyproject.toml b/cookiecutter/mapper-template/{{cookiecutter.mapper_id}}/pyproject.toml index 40c8a9b17..7214c8c25 100644 --- a/cookiecutter/mapper-template/{{cookiecutter.mapper_id}}/pyproject.toml +++ b/cookiecutter/mapper-template/{{cookiecutter.mapper_id}}/pyproject.toml @@ -48,7 +48,6 @@ python_version = "3.12" warn_unused_configs = true [tool.ruff] -src = ["{{cookiecutter.library_name}}"] target-version = "py39" [tool.ruff.lint] @@ -63,14 +62,11 @@ select = ["ALL"] [tool.ruff.lint.flake8-annotations] allow-star-arg-any = true -[tool.ruff.lint.isort] -known-first-party = ["{{cookiecutter.library_name}}"] - [tool.ruff.lint.pydocstyle] convention = "google" [build-system] -requires = ["poetry-core==1.9.0"] +requires = ["poetry-core"] build-backend = "poetry.core.masonry.api" [tool.poetry.scripts] diff --git a/cookiecutter/mapper-template/{{cookiecutter.mapper_id}}/tox.ini b/cookiecutter/mapper-template/{{cookiecutter.mapper_id}}/tox.ini index 59d5dd083..fb5b1cf87 100644 --- a/cookiecutter/mapper-template/{{cookiecutter.mapper_id}}/tox.ini +++ b/cookiecutter/mapper-template/{{cookiecutter.mapper_id}}/tox.ini @@ -1,19 +1,12 @@ # This file can be used to customize tox tests as well as other test frameworks like flake8 and mypy [tox] -envlist = py{39,310,311,312} -isolated_build = true +envlist = py3{9,10,11,12} +requires = + tox>=4.19 [testenv] -allowlist_externals = poetry +deps = + pytest commands = - poetry install -v - poetry run pytest - -[testenv:pytest] -# Run the python tests. -# To execute, run `tox -e pytest` -envlist = py{39,310,311,312} -commands = - poetry install -v - poetry run pytest + pytest {posargs} diff --git a/cookiecutter/tap-template/{{cookiecutter.tap_id}}/.github/workflows/build.yml b/cookiecutter/tap-template/{{cookiecutter.tap_id}}/.github/workflows/build.yml index f9503baf6..425f733a6 100644 --- a/cookiecutter/tap-template/{{cookiecutter.tap_id}}/.github/workflows/build.yml +++ b/cookiecutter/tap-template/{{cookiecutter.tap_id}}/.github/workflows/build.yml @@ -42,4 +42,4 @@ jobs: - name: Publish ## TODO: create a trusted publisher on PyPI ## https://docs.pypi.org/trusted-publishers/ - uses: pypa/gh-action-pypi-publish@v1.9.0 + uses: pypa/gh-action-pypi-publish@v1.10.2 diff --git a/cookiecutter/tap-template/{{cookiecutter.tap_id}}/.github/workflows/test.yml b/cookiecutter/tap-template/{{cookiecutter.tap_id}}/.github/workflows/test.yml index f6f11b0e7..d8772f156 100644 --- a/cookiecutter/tap-template/{{cookiecutter.tap_id}}/.github/workflows/test.yml +++ b/cookiecutter/tap-template/{{cookiecutter.tap_id}}/.github/workflows/test.yml @@ -24,11 +24,12 @@ on: - tox.ini workflow_dispatch: +env: + FORCE_COLOR: 1 + jobs: pytest: runs-on: ubuntu-latest - env: - GITHUB_TOKEN: {{ '${{secrets.GITHUB_TOKEN}}' }} strategy: fail-fast: false matrix: diff --git a/cookiecutter/tap-template/{{cookiecutter.tap_id}}/.pre-commit-config.yaml b/cookiecutter/tap-template/{{cookiecutter.tap_id}}/.pre-commit-config.yaml index 45093ce09..4acde2515 100644 --- a/cookiecutter/tap-template/{{cookiecutter.tap_id}}/.pre-commit-config.yaml +++ b/cookiecutter/tap-template/{{cookiecutter.tap_id}}/.pre-commit-config.yaml @@ -18,13 +18,13 @@ repos: - id: trailing-whitespace - repo: https://github.com/python-jsonschema/check-jsonschema - rev: 0.29.2 + rev: 0.29.3 hooks: - id: check-dependabot - id: check-github-workflows - repo: https://github.com/astral-sh/ruff-pre-commit - rev: v0.6.4 + rev: v0.6.8 hooks: - id: ruff args: [--fix, --exit-non-zero-on-fix, --show-fixes] diff --git a/cookiecutter/tap-template/{{cookiecutter.tap_id}}/README.md b/cookiecutter/tap-template/{{cookiecutter.tap_id}}/README.md index 0454d048c..2136340ef 100644 --- a/cookiecutter/tap-template/{{cookiecutter.tap_id}}/README.md +++ b/cookiecutter/tap-template/{{cookiecutter.tap_id}}/README.md @@ -122,7 +122,7 @@ Now you can test and orchestrate using Meltano: # Test invocation: meltano invoke {{ cookiecutter.tap_id }} --version # OR run a test `elt` pipeline: -meltano elt {{ cookiecutter.tap_id }} target-jsonl +meltano run {{ cookiecutter.tap_id }} target-jsonl ``` ### SDK Dev Guide diff --git a/cookiecutter/tap-template/{{cookiecutter.tap_id}}/pyproject.toml b/cookiecutter/tap-template/{{cookiecutter.tap_id}}/pyproject.toml index 49abd849d..05454067a 100644 --- a/cookiecutter/tap-template/{{cookiecutter.tap_id}}/pyproject.toml +++ b/cookiecutter/tap-template/{{cookiecutter.tap_id}}/pyproject.toml @@ -62,7 +62,6 @@ plugins = "sqlmypy" {%- endif %} [tool.ruff] -src = ["{{cookiecutter.library_name}}"] target-version = "py39" [tool.ruff.lint] @@ -77,14 +76,11 @@ select = ["ALL"] [tool.ruff.lint.flake8-annotations] allow-star-arg-any = true -[tool.ruff.lint.isort] -known-first-party = ["{{cookiecutter.library_name}}"] - [tool.ruff.lint.pydocstyle] convention = "google" [build-system] -requires = ["poetry-core==1.9.0"] +requires = ["poetry-core"] build-backend = "poetry.core.masonry.api" [tool.poetry.scripts] diff --git a/cookiecutter/tap-template/{{cookiecutter.tap_id}}/tox.ini b/cookiecutter/tap-template/{{cookiecutter.tap_id}}/tox.ini index 59d5dd083..fb5b1cf87 100644 --- a/cookiecutter/tap-template/{{cookiecutter.tap_id}}/tox.ini +++ b/cookiecutter/tap-template/{{cookiecutter.tap_id}}/tox.ini @@ -1,19 +1,12 @@ # This file can be used to customize tox tests as well as other test frameworks like flake8 and mypy [tox] -envlist = py{39,310,311,312} -isolated_build = true +envlist = py3{9,10,11,12} +requires = + tox>=4.19 [testenv] -allowlist_externals = poetry +deps = + pytest commands = - poetry install -v - poetry run pytest - -[testenv:pytest] -# Run the python tests. -# To execute, run `tox -e pytest` -envlist = py{39,310,311,312} -commands = - poetry install -v - poetry run pytest + pytest {posargs} diff --git a/cookiecutter/target-template/{{cookiecutter.target_id}}/.github/workflows/build.yml b/cookiecutter/target-template/{{cookiecutter.target_id}}/.github/workflows/build.yml index f9503baf6..425f733a6 100644 --- a/cookiecutter/target-template/{{cookiecutter.target_id}}/.github/workflows/build.yml +++ b/cookiecutter/target-template/{{cookiecutter.target_id}}/.github/workflows/build.yml @@ -42,4 +42,4 @@ jobs: - name: Publish ## TODO: create a trusted publisher on PyPI ## https://docs.pypi.org/trusted-publishers/ - uses: pypa/gh-action-pypi-publish@v1.9.0 + uses: pypa/gh-action-pypi-publish@v1.10.2 diff --git a/cookiecutter/target-template/{{cookiecutter.target_id}}/.github/workflows/test.yml b/cookiecutter/target-template/{{cookiecutter.target_id}}/.github/workflows/test.yml index c5baeaa0f..01362f096 100644 --- a/cookiecutter/target-template/{{cookiecutter.target_id}}/.github/workflows/test.yml +++ b/cookiecutter/target-template/{{cookiecutter.target_id}}/.github/workflows/test.yml @@ -24,11 +24,12 @@ on: - tox.ini workflow_dispatch: +env: + FORCE_COLOR: 1 + jobs: pytest: runs-on: ubuntu-latest - env: - GITHUB_TOKEN: {{ '${{secrets.GITHUB_TOKEN}}' }} strategy: fail-fast: false matrix: diff --git a/cookiecutter/target-template/{{cookiecutter.target_id}}/.pre-commit-config.yaml b/cookiecutter/target-template/{{cookiecutter.target_id}}/.pre-commit-config.yaml index ee72f1515..13e74461c 100644 --- a/cookiecutter/target-template/{{cookiecutter.target_id}}/.pre-commit-config.yaml +++ b/cookiecutter/target-template/{{cookiecutter.target_id}}/.pre-commit-config.yaml @@ -18,13 +18,13 @@ repos: - id: trailing-whitespace - repo: https://github.com/python-jsonschema/check-jsonschema - rev: 0.29.2 + rev: 0.29.3 hooks: - id: check-dependabot - id: check-github-workflows - repo: https://github.com/astral-sh/ruff-pre-commit - rev: v0.6.4 + rev: v0.6.8 hooks: - id: ruff args: [--fix, --exit-non-zero-on-fix, --show-fixes] diff --git a/cookiecutter/target-template/{{cookiecutter.target_id}}/pyproject.toml b/cookiecutter/target-template/{{cookiecutter.target_id}}/pyproject.toml index 0ede63ffb..8fd9baf44 100644 --- a/cookiecutter/target-template/{{cookiecutter.target_id}}/pyproject.toml +++ b/cookiecutter/target-template/{{cookiecutter.target_id}}/pyproject.toml @@ -50,7 +50,6 @@ python_version = "3.12" warn_unused_configs = true [tool.ruff] -src = ["{{cookiecutter.library_name}}"] target-version = "py39" [tool.ruff.lint] @@ -65,14 +64,11 @@ select = ["ALL"] [tool.ruff.lint.flake8-annotations] allow-star-arg-any = true -[tool.ruff.lint.isort] -known-first-party = ["{{cookiecutter.library_name}}"] - [tool.ruff.lint.pydocstyle] convention = "google" [build-system] -requires = ["poetry-core==1.9.0"] +requires = ["poetry-core"] build-backend = "poetry.core.masonry.api" [tool.poetry.scripts] diff --git a/cookiecutter/target-template/{{cookiecutter.target_id}}/tox.ini b/cookiecutter/target-template/{{cookiecutter.target_id}}/tox.ini index 59d5dd083..fb5b1cf87 100644 --- a/cookiecutter/target-template/{{cookiecutter.target_id}}/tox.ini +++ b/cookiecutter/target-template/{{cookiecutter.target_id}}/tox.ini @@ -1,19 +1,12 @@ # This file can be used to customize tox tests as well as other test frameworks like flake8 and mypy [tox] -envlist = py{39,310,311,312} -isolated_build = true +envlist = py3{9,10,11,12} +requires = + tox>=4.19 [testenv] -allowlist_externals = poetry +deps = + pytest commands = - poetry install -v - poetry run pytest - -[testenv:pytest] -# Run the python tests. -# To execute, run `tox -e pytest` -envlist = py{39,310,311,312} -commands = - poetry install -v - poetry run pytest + pytest {posargs}