Skip to content

fix: qualify dependency updates and CME labeling sessions - #86

Merged
stefan-jansen merged 8 commits into
mainfrom
codex/python-dependency-refresh
Oct 14, 2026
Merged

stefan-jansen merged 8 commits into
mainfrom
codex/python-dependency-refresh

Conversation

@stefan-jansen

@stefan-jansen stefan-jansen commented Oct 14, 2026 •

Copy link
Copy Markdown
Contributor

Refresh the useful Dependabot updates from #73 while retaining TA-Lib <0.8 to preserve existing indicator defaults. Polars 2 requires numeric equality for trade-side validation, and ty 0.0.86 requires a Generator annotation for the context manager. Ruff's hooks match the refreshed environment while retaining their existing Python/notebook scope.

Adopt pandas-market-calendars >=5.5 and ignore zero-duration provider breaks in the labeling adapter. CME removed the 15:15-15:30 CT equity-index pause from trade date 2021-06-28; the prior <5.5 recommendation incorrectly retained that obsolete modern pause. With the corrected provider, the old adapter instead split the continuous session at a zero-duration break and returned [0,1,1,0] rather than [1,1,1,0]. The published 0.1.6 package reproduces this defect. Historical positive-duration pauses and the daily 16:00-17:00 CT maintenance period remain intact.

Three real-provider public-labeling regressions fail on the original adapter and pass on this fix, covering the removal date, winter and summer. Both historical regressions also fail under a controlled producing-code mutation that discards real pauses. On committed head 0a543b6: all 35 calendar tests and the full 3,944-test suite pass (57 intentional deselections); Ruff, formatting, type checking, strict documentation, all-file hooks, lock validation, package build/import and twine metadata checks pass. Core and complete locked-environment audits report no known vulnerabilities. The standalone public labeling regression also passes against the built wheel in an isolated non-project installation. Candidate commit/tree and wheel/sdist SHA256 identities verify. Hosted supported-platform qualification remains required.

The security/workflow prerequisite #77 is merged, and this PR now targets main. The Polars compatibility and CME labeling corrections warrant a patch release after the integrated maintenance queue is qualified; this PR does not publish a release.

Closes #87.

AI assistance: Codex helped reproduce compatibility and published-package labeling failures, check CME's primary notice, implement the source repairs, inspect the lock, run checks, and draft this description. The useful Dependabot updates are preserved.

Copilot AI balanced review requested due to automatic review settings October 14, 2026 20:10

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

Base automatically changed from codex/security-dependency-refresh to main October 14, 2026 21:31
@stefan-jansen stefan-jansen changed the title deps: refresh compatible Python dependencies fix: qualify dependency updates and CME labeling sessions Oct 14, 2026
@stefan-jansen
stefan-jansen merged commit 1cd06f3 into main Oct 14, 2026
31 checks passed
@stefan-jansen
stefan-jansen deleted the codex/python-dependency-refresh branch October 14, 2026 22:43
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.

fix: reject obsolete and zero-duration CME labeling breaks

2 participants