Skip to content

Fix/python 3.14 test exclusions#1587

Open
Exudev wants to merge 3 commits into
apache:mainfrom
Exudev:fix/python-3.14-test-exclusions
Open

Fix/python 3.14 test exclusions#1587
Exudev wants to merge 3 commits into
apache:mainfrom
Exudev:fix/python-3.14-test-exclusions

Conversation

@Exudev
Copy link
Copy Markdown
Contributor

@Exudev Exudev commented May 12, 2026

This PR stabilizes the Hamilton test suite for development and CI on Python 3.14 by excluding currently incompatible plugins from the collection phase and resolving noisy configuration warnings.

Changes

  • Core Test Exclusions: Updated tests/conftest.py to add several plugins (Pandera, DLT, Pydantic, etc.) to the collect_ignore list for Python >= 3.14. These plugins currently cause collection-time crashes on 3.14 due to upstream dependency delays.
  • Pytest Configuration: Formally registered the asyncio marker in pyproject.toml. This resolves hundreds of PytestUnknownMarkWarning warnings that previously cluttered the test logs.
  • Plugin Test Cleanup: Updated plugin_tests/h_dask/conftest.py to include 3.14 exclusion logic, ensuring consistency across the repository.

How I tested this

Tested locally on Python 3.14.2:

  • Ran the full test suite using ./venv/bin/pytest tests.
  • Result: Successfully transitioned from 10 fatal collection ERRORS to 1,294 passing tests (0 failures, 5 skipped).
  • Verified that pytest-asyncio warnings are now resolved.

Notes

  • These exclusions should be revisited as the plugin ecosystem (Pandera, Pydantic, etc.) releases official support for Python 3.14.
  • This PR follows the same pattern recently established for Ray and Polars exclusions.

Checklist

  • PR has an informative and human-readable title (this will be pulled into the release notes)
  • Changes are limited to a single goal (no scope creep)
  • Code passed the pre-commit check & code is left cleaner/nicer than when first encountered.
  • Any change in functionality is tested (Test suite health verified)
  • New functions are documented (N/A - maintenance PR)
  • Placeholder code is flagged / future TODOs are captured in comments
  • Project documentation has been updated if adding/changing functionality.
Screenshot 2026-05-12 at 4 34 57 PM

Fixes #1586

@Exudev
Copy link
Copy Markdown
Contributor Author

Exudev commented May 13, 2026

@skrawcz

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Python 3.14] Update test collection exclusions for incompatible plugins

1 participant