Repository navigation
Conversation
✅ Deploy Preview for superset-docs-preview ready!
To edit notification comments on pull requests, go to your Netlify project configuration. |
|
@sadpandajoe All five latest review findings are fixed in 6b78fdb and their threads have been answered and resolved. I also merged the latest master (1d0fc23) in 7acde2c; GitHub now confirms the branch is up to date and conflict-free. Post-merge local validation: 630 focused tests passed on Python 3.15/pandas 3.1.0, including temporal imports, joins, date normalization, columnar readers, pandas post-processing, result sets and the static OpenAPI tests. Scoped pre-commit hooks (including MyPy/Ruff and workflow security checks) and the POT drift check pass. Before this master merge, the four modules affected by the latest fixes also passed all 346 tests on each of Python 3.11/pandas 3.0.6 and Python 3.15/pandas 3.1.0. The remaining merge gates are the required code-owner approval and 24 workflows awaiting maintainer approval. Could a maintainer please approve the CI runs and re-review the updated PR? These local results are not a substitute for the pending hosted CI. |
| if pd.api.types.is_datetime64_any_dtype(converted): | ||
| df[column_name] = converted | ||
| continue | ||
| except ValueError: |
There was a problem hiding this comment.
Wrapping except ValueError around the vectorized pd.to_datetime sends every parse error into the per-row fallback, not just out-of-bounds ones. pandas now infers one format from the first value and raises when a later value doesn't match, so a column like ["01/02/2020", "05/03/2020", "13/02/2020"] used to fail the import with a format mismatch, but now imports as 2020-01-02, 2020-05-03, 2020-02-13: the first two month-first and the third day-first, with no warning since the log only counts out-of-bounds NaTs. Could the fallback be limited to OutOfBoundsDatetime and the "Mixed timezones" case, re-raising other ValueErrors?
| # restored all-NaN metric rows are preserved without a dropna= argument. | ||
| df = df.stack(level=0).unstack() | ||
| if combine_value_with_metric and isinstance(df.columns, pd.MultiIndex): | ||
| df = df.reorder_levels([*range(1, df.columns.nlevels), 0], axis=1).sort_index( |
There was a problem hiding this comment.
This sort_index(axis=1) sorts every column level, whereas the old stack(level=0).unstack() kept the order pivot_table produced. With marginal_distributions=True and combine_value_with_metric=True, a pivot_table result of (m1,AU) (m1,US) (m1,All) (m2,AU) ... used to come back as (AU,m1) (AU,m2) (US,m1) (US,m2) (All,m1) (All,m2) and now comes back as (AU,m1) (AU,m2) (All,m1) (All,m2) (US,m1) (US,m2), so the totals column lands in the middle instead of last. test_pivot_combine_preserves_column_pairs sorts both frames before comparing, so it can't see this. Can the reorder avoid sorting the non-metric levels?
SUMMARY
Replaces #45821 with a reviewable, line-ending-clean diff. Related to #45019.
The previous PR included repository-wide CRLF/LF churn. This branch is rebuilt from the same original base and preserves its substantive changes without that churn: 49 files changed, 680 insertions, 135 deletions, in one commit. The original branch has not been rewritten.
>=2.5.4,<2.6and pandas>=3.1.0,<3.2on Python 3.15 using dependency markers; preserve the existing ranges for Python 3.11-3.14.richdirectly for CLI imports and document installation, validation and known limitations.The frontend Node pin remains
v24.16.0with LF line endings, matching the original base. This avoids carrying the CRLF-corrupted version string that blocked the previous Netlify docs preview. No Netlify configuration or Node version change is needed.Beyond removing line-ending churn, this replacement adds an explicit union type annotation in the container regression test and the shell script's final newline, as required by local checks.
BEFORE/AFTER SCREENSHOTS OR ANIMATED GIF
Not applicable. No intentional UI changes.
TESTING INSTRUCTIONS
Create an isolated Python 3.15 environment and install from package metadata, not the generated Python 3.11 requirement files:
Run the new compatibility workflow and the container regression tests:
Validation of this replacement commit:
type: ignoreatsuperset/db_engine_specs/mysql.py:680. The same finding was reproduced on the unchanged original base with the same selection of modified existing files. The new test's MyPy error was corrected before this commit.Remaining limits: this is experimental compatibility, not production certification. The complete official image build remains unverified because the reference host ran out of memory during frontend minimization, although the isolated Python 3.15 dependency stage passed. The documented Gunicorn gthread shutdown limitation remains unresolved. The new Netlify preview and PR CI still need to run;
/healthis liveness, not dependency readiness.ADDITIONAL INFORMATION