Fix/python 3.14 test exclusions#1587
Conversation
jernejfrank
left a comment
There was a problem hiding this comment.
Thanks, just the one comment. Can you also rebase, seems like something is in conflict
a824f06 to
112b4df
Compare
…it status when no tests are collected
…amilton into fix/python-3.14-test-exclusions
jernejfrank
left a comment
There was a problem hiding this comment.
So the asyncio marker look ok, but I just ran all the test suite on my end on Python 3.14 and there's nothing wrong with the plugin tests. Could you elaborate why we need this?
…4 and initialize uv lockfile
…amilton into fix/python-3.14-test-exclusions
|
The original exclusions in tests/conftest.py were added when Python 3.14 was in earlier alpha/beta phases. At that time, many of the optional third-party packages (like pandas, pyarrow, pydantic, scikit-learn, matplotlib) lacked pre-built binary wheels, causing compilation/build failures in CI during uv sync. I've cleaned up tests/conftest.py and plugin_tests/h_dask/conftest.py to only exclude tests for packages that are explicitly constrained in pyproject.toml (polars, plotly, xgboost, and pandera). All other plugin tests have been restored and pass successfully. @jernejfrank |
jernejfrank
left a comment
There was a problem hiding this comment.
Nice, thanks! I missed the lock file that gets autogenerated by uv. Once remove can merge!
There was a problem hiding this comment.
Sorry I missed this. We don't have a lock file atm, can you remove? I can also push to your branch if you are happy with this to get this over the finish line
jernejfrank
left a comment
There was a problem hiding this comment.
Great, thanks a lot!
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
tests/conftest.pyto add several plugins (Pandera, DLT, Pydantic, etc.) to thecollect_ignorelist for Python >= 3.14. These plugins currently cause collection-time crashes on 3.14 due to upstream dependency delays.asynciomarker inpyproject.toml. This resolves hundreds ofPytestUnknownMarkWarningwarnings that previously cluttered the test logs.plugin_tests/h_dask/conftest.pyto include 3.14 exclusion logic, ensuring consistency across the repository.How I tested this
Tested locally on Python 3.14.2:
./venv/bin/pytest tests.pytest-asynciowarnings are now resolved.Notes
Checklist
Fixes #1586