Pandas Compatibility and Python 3.14 Upgrade#384
Conversation
🦙 MegaLinter status: ✅ SUCCESS
See detailed report in MegaLinter reports |
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #384 +/- ##
=======================================
Coverage 97.89% 97.89%
=======================================
Files 27 27
Lines 1568 1568
=======================================
Hits 1535 1535
Misses 33 33
Continue to review full report in Codecov by Sentry.
🚀 New features to boost your workflow:
|
There was a problem hiding this comment.
Should this file be committed? Is it needed for the tutorial or could it be in the .gitignore?
jmafoster1
left a comment
There was a problem hiding this comment.
Thanks, that was much more straightforward than I thought too!
|
@f-allian I notice that there's still 3.10 runs "Waiting for status". Please can you look into where these are coming from? |
|
@jmafoster1 You just need to merge this PR. It's using the old workflows that use the 310 matrix. |
|
Should it not be using the new workflows from the PR? Merging is blocked until everything is passed anyway, so this could be a tricky one... |
|
@jmafoster1 No, the PR can't use the new workflows if it hasn't been merged. I'll fix it now. |
Closes issue #376 and #383.
This pull request updates the project to drop support for Python 3.10 and add support for Python 3.14, while also updating dependencies and configuration files to align with the new supported Python versions. It also includes minor code improvements and test adjustments for better compatibility and accuracy.
Python version support and configuration updates:
Updated all documentation, CI workflows (
.github/workflows/ci-tests.yaml,.github/workflows/ci-tests-drafts.yaml,.github/workflows/publish-to-pypi.yaml,.github/workflows/publish-to-dafni.yaml), and thepyproject.tomland.pre-commit-config.yamlfiles to support Python 3.11–3.14 instead of 3.10–3.13. [1] [2] [3] [4] [5] [6] [7] [8] [9] [10]Updated dependency versions in
pyproject.tomlto use more recent and compatible versions, and simplified conditional dependency logic.Code and test improvements:
causal_testing/estimation/linear_regression_estimator.pyto usepd.api.types.is_numeric_dtype, making the code more robust.causal_testing/estimation/ipcw_estimator.pyfor resetting indices.tests/testing_tests/test_causal_test_adequacy.pyto useassertAlmostEqualwith a tolerance, improving reliability across platforms and Pandas versions. [1] [2]tests/testing_tests/test_causal_test_adequacy.py.Tutorial and result data updates:
docs/source/tutorials/vaccinating_elderly/causal_test_results.jsonfor improved numerical precision. [1] [2]