<#3839 fix(templates): Stop Python EOL warnings fr...
# meltano-repo-activity
g
#3839 fix(templates): Stop Python EOL warnings from failing the tests of a new tap or target Pull request opened by ReubenFrankel Since 2026-10-01, every test of a new tap or target project fails on Python 3.10 with
SingerSDKPythonEOLWarning: Python 3.10 reached its end of life on 2026-10
. The
pytest_configure
hook that #3643 added to the templates filters only the text "Python 3.10 will reach its end of life on 2026-10", and
warn_python_eol()
changes to the "reached" text on the end-of-life date. The templates set
filterwarnings = ["error", …]
, so the warning that the filter no longer matches becomes an error. •
pyproject.toml
(tap and target templates): add
"once:Python 3.* its end of life:FutureWarning"
to
filterwarnings
. It matches the "will reach" and the "reached" texts for every Python version, so Python 3.11 does not fail in the same way when its warning starts, 180 days before its end of life in 2027-10. •
tests/conftest.py
(tap and target templates): remove the file, which contained only the old hook. On Python 3.10, the standard tests of a target rendered from
main
(
target-per_record
, with a valid
SAMPLE_CONFIG
) fail 17 of 17 with the end-of-life warning, and pass 17 of 17 on Python 3.12. With this change, they pass 17 of 17 on Python 3.10 too. The E2E workflow does not catch this, because it runs only
tox -e typing
on a rendered project, not its tests. The mapper template has no tests, so the warning cannot fail there, and this change leaves it as it is. --- 🤖 Generated with Claude Code Summary by Sourcery Ensure generated tap and target projects tolerate Python end-of-life warnings across Python version transitions. Bug Fixes: • Prevent Python end-of-life warnings from causing rendered tap and target project tests to fail. Enhancements: • Apply a version-agnostic warning filter to tap and target templates and remove obsolete warning-handling hooks. meltano/sdk