Repository navigation
Conversation
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #1304 +/- ##
==========================================
+ Coverage 94.35% 94.74% +0.38%
==========================================
Files 97 97
Lines 6183 6274 +91
Branches 796 811 +15
==========================================
+ Hits 5834 5944 +110
+ Misses 225 208 -17
+ Partials 124 122 -2
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
Pyright Type CompletenessView the full Project (full
Other symbols referenced but not exported by
Symbols without documentation:
Patch (exported symbols added or changed by this PR): 12.5% fully typed (2 / 16)
Patch symbol details
|
7bcf3d0 to
0c87d2e
Compare
a9f5c57 to
c6e0c8d
Compare
7d7efdc to
4253b6e
Compare
4253b6e to
8b192f3
Compare
5668b6d to
676678a
Compare
676678a to
e2ca2bf
Compare
a0a2ac2 to
7d102c9
Compare
7d102c9 to
6dcecb4
Compare
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes and found 1 potential issue.
❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.
Reviewed by Cursor Bugbot for commit 93ebeeb. Configure here.
|
I wasn't sure if this was ready for review, so I figure I'd chime in just in case. Let's follow the general strategy we took in #1303:
|
Folded the descriptor commits into this branch per your note. origin and development are now wired through TriangleAxis (axis 2 and 3) with _set_origin and _set_development in axis.py, and _axes stores all four dimensions (0..3). Since bringing the descriptors and call-site updates together touches around 40 files, we can either review it in one go to get the full dimension stack in, or split it up if you'd rather review in smaller chunks. |
|
I can review it one go, let's get the |
…1012, #1013) - Encapsulate internal date dimensions into _odims and _ddims - Provide backward-compatible odims and ddims properties emitting FutureWarning - Migrate legacy pickled instances with odims/ddims in Triangle.__setstate__ - Decouple internal usages across core, estimators, tails, and tests - Address ruff linting and formatting on touched files Closes #1012, closes #1013, refs #1216, refs #601
f9fa951 to
6673db5
Compare
6673db5 to
a9066cf
Compare
Works for me. The swap to origin and development is in place, so all set for review. |

Summary of Changes
Triangle.__setstate__to migrate legacy pickled instances cleanly.Related GitHub Issue(s)
Closes #1012, closes #1013, closes #1053 , #1454, refs #601, refs #1216, refs #1466
Additional Context for Reviewers
Checklist
uv run pytest) and documentation changes (uv run --directory docs jb build . --builder=custom --custom-builder=doctest)Note
Medium Risk
Wide refactor of how all four Triangle axes are stored and accessed touches core slicing, I/O, and every estimator; public
origin/developmentshould be compatible but directodims/ddimsuse will warn and pickle migration paths add regression surface.Overview
Refactors Triangle origin/development to match the existing
index/columnsaxis pattern: raw timestamps/lags live in_axesas_odims/_ddims, whileoriginanddevelopmentare publicTriangleAxisdescriptors with get/set logic moved tochainladder.core.axis.odimsandddimsare deprecated (FutureWarning) but remain as thin shims; library code now uses_odims/_ddimsinternally so estimators and core paths do not warn. Slicing, concat, arithmetic broadcasting, and_get_axis_valuewere updated accordingly; axis number resolution is centralized viautility_functions/typingre-exports.Legacy pickle
__setstate__migratesodims/ddims(and redundant_axeskeys) into the unified_axesstore.DevelopmentConstantpattern detection is tightened so DataFrames withorigin/developmentcolumns are not mistaken for Triangles.Tests cover descriptor behavior, deprecation, pickle round-trips, valuation-triangle errors for bootstrap/incremental additive, and assorted estimator edge cases.
Reviewed by Cursor Bugbot for commit a9066cf. Bugbot is set up for automated code reviews on this repo. Configure here.