Skip to content

Commit a540cdb

Browse files
chore: Dropped support for Python 3.9 (#393)
1 parent 5ae97b2 commit a540cdb

File tree

8 files changed

+545
-447
lines changed

8 files changed

+545
-447
lines changed
Lines changed: 28 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
name: Meltano Run
1+
name: CI
22

33
on:
44
pull_request: {}
@@ -10,8 +10,34 @@ on:
1010
workflow_dispatch:
1111

1212
jobs:
13+
lint:
14+
name: Lint and Type Check
15+
runs-on: ubuntu-latest
16+
env:
17+
UV_PYTHON: ${{ github.workspace }}/.github/workflows/constraints.txt
18+
steps:
19+
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
20+
21+
- uses: actions/setup-python@a26af69be951a213d495a4c3e4e4022e16d87065 # v5.6.0
22+
id: setup-python
23+
24+
- uses: astral-sh/setup-uv@4959332f0f014c5280e7eac8b70c90cb574c9f9b # v6.6.0
25+
26+
- name: Install Poetry
27+
run: |
28+
uv tool install --python '${{ steps.setup-python.outputs.python-path }}' poetry
29+
30+
- name: Install dependencies
31+
run: |
32+
poetry sync --all-extras --all-groups
33+
34+
- name: Run tests
35+
run: |
36+
poetry run mypy meltano_map_transform
37+
poetry run ty check meltano_map_transform
38+
1339
meltano-run:
14-
name: ${{ matrix.mapping }}
40+
name: Meltano Run - ${{ matrix.mapping }}
1541
runs-on: ubuntu-latest
1642
strategy:
1743
fail-fast: false

.github/workflows/constraints.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1 +1,2 @@
11
meltano==3.9.1
2+
poetry==2.1.4

.pre-commit-config.yaml

Lines changed: 3 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ ci:
1111

1212
repos:
1313
- repo: https://github.com/pre-commit/pre-commit-hooks
14-
rev: v5.0.0
14+
rev: v6.0.0
1515
hooks:
1616
- id: check-json
1717
exclude: .devcontainer/.*.json
@@ -23,26 +23,19 @@ repos:
2323
- id: trailing-whitespace
2424

2525
- repo: https://github.com/python-jsonschema/check-jsonschema
26-
rev: 0.33.2
26+
rev: 0.33.3
2727
hooks:
2828
- id: check-dependabot
2929
- id: check-meltano
3030
- id: check-github-workflows
3131

3232
- repo: https://github.com/astral-sh/ruff-pre-commit
33-
rev: v0.12.7
33+
rev: v0.12.10
3434
hooks:
3535
- id: ruff
3636
args: [--fix, --exit-non-zero-on-fix, --show-fixes]
3737
- id: ruff-format
3838

39-
- repo: https://github.com/pre-commit/mirrors-mypy
40-
rev: v1.17.1
41-
hooks:
42-
- id: mypy
43-
additional_dependencies:
44-
- types-requests
45-
4639
- repo: https://github.com/tox-dev/pyproject-fmt
4740
rev: "v2.6.0"
4841
hooks:

CHANGELOG.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,12 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
66
adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html),
77
and is generated by [git-cliff](https://github.com/orhun/git-cliff).
88

9+
## v0.11.0 (2025-08-26)
10+
11+
### Removed
12+
13+
- Dropped support for Python 3.9
14+
915
## v0.5.0 (2023-09-14)
1016

1117
### Added

README.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,10 @@ A map transformer to duplicate, filter, hash, mask and do many more small transf
88

99
This mapper plugin is fully compliant with the Singer Spec and can be placed in between any Singer tap and target.
1010

11+
## Requirements
12+
13+
- Python 3.10+
14+
1115
## meltano-map-transformer in action
1216

1317
For a collection of examples, take a look at [examples/README.md](examples/README.md).

meltano_map_transform/mapper.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
from typing import TYPE_CHECKING
66

77
import singer_sdk.typing as th
8-
from singer_sdk import _singerlib as singer
8+
from singer_sdk import singerlib as singer
99
from singer_sdk.helpers._util import utc_now
1010
from singer_sdk.mapper import PluginMapper
1111
from singer_sdk.mapper_base import InlineMapper

poetry.lock

Lines changed: 494 additions & 420 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

pyproject.toml

Lines changed: 8 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
[build-system]
22
build-backend = "poetry_dynamic_versioning.backend"
33
requires = [
4-
"poetry-core==2.0.1",
5-
"poetry-dynamic-versioning==1.7.1",
4+
"poetry-core==2.1.3",
5+
"poetry-dynamic-versioning==1.9.1",
66
]
77

88
[tool.poetry]
@@ -24,16 +24,18 @@ repository = "https://github.com/MeltanoLabs/meltano-map-transform"
2424
documentation = "https://github.com/MeltanoLabs/meltano-map-transform#readme"
2525

2626
[tool.poetry.dependencies]
27-
python = ">=3.9"
27+
python = ">=3.10,<4"
2828

2929
[tool.poetry.dependencies.singer-sdk]
30-
version = "~=0.47.0"
30+
version = "~=0.48.0"
3131
extras = [
3232
"faker",
3333
]
3434

3535
[tool.poetry.group.dev.dependencies]
36-
pytest = ">=7.4.4"
36+
mypy = ">=1.17.1"
37+
pytest = ">=8"
38+
ty = ">=0.0.1a19"
3739

3840
[tool.poetry.scripts]
3941
# CLI declaration
@@ -55,7 +57,7 @@ style = "pep440"
5557
vcs = "git"
5658

5759
[tool.ruff]
58-
target-version = "py39"
60+
target-version = "py310"
5961

6062
src = [
6163
"meltano_map_transform",
@@ -84,12 +86,4 @@ lint.pydocstyle.convention = "google"
8486
addopts = "-vvv"
8587

8688
[tool.mypy]
87-
python_version = "3.12"
8889
warn_unused_configs = true
89-
90-
[[tool.mypy.overrides]]
91-
ignore_missing_imports = true
92-
module = [
93-
"backoff.*",
94-
"singer.*", # https://github.com/transferwise/pipelinewise-singer-python/issues/25
95-
]

0 commit comments

Comments
 (0)