Skip to content

[FEAT] Add numeric formatting options - #1284

Open
genedan wants to merge 13 commits into
mainfrom
#1154_options_formatting
Open

[FEAT] Add numeric formatting options#1284
genedan wants to merge 13 commits into
mainfrom
#1154_options_formatting

Conversation

@genedan

@genedan genedan commented Sep 4, 2026

Copy link
Copy Markdown
Member

Must approve PR #1276 before this one.

Summary of Changes

  • Adds options to pass format string/callable to configure numeric formatting (values and link ratios).
  • Makes auto-formatting based on triangle size in Jupyter/HTML output configurable.
  • Moves options-related tests to _config folder.

Related GitHub Issue(s)

#1154
#1281
#1283

Additional Context for Reviewers

Checklist

  • I passed tests locally for both code (uv run pytest) and documentation changes (uv run --directory docs jb build . --builder=custom --custom-builder=doctest)

Note

Cursor Bugbot is generating a summary for commit a3b258e. Configure here.

@codecov

codecov Bot commented Sep 4, 2026

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 96.10390% with 6 lines in your changes missing coverage. Please review.
✅ Project coverage is 91.74%. Comparing base (660ab7e) to head (a3b258e).
⚠️ Report is 2 commits behind head on main.

Files with missing lines Patch % Lines
chainladder/_config/deprecation.py 85.36% 2 Missing and 4 partials ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##             main    #1284      +/-   ##
==========================================
+ Coverage   91.68%   91.74%   +0.05%     
==========================================
  Files          93       97       +4     
  Lines        5447     5486      +39     
  Branches      704      706       +2     
==========================================
+ Hits         4994     5033      +39     
  Misses        328      328              
  Partials      125      125              
Flag Coverage Δ
unittests 91.74% <96.10%> (+0.05%) ⬆️

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@github-actions

github-actions Bot commented Sep 4, 2026

Copy link
Copy Markdown

Pyright Type Completeness

View the full pyright --verifytypes output for this commit

Project (full chainladder package, at this PR's head): 14.0% of exported symbols fully typed (189 / 1352)

Known Ambiguous Unknown Total
Project (head) 189 111 1052 1352

Other symbols referenced but not exported by chainladder: 13

Known Ambiguous Unknown Total
Other (head) 3 1 9 13

Symbols without documentation:

  • Functions without docstring: 325
  • Functions without default param: 0
  • Classes without docstring: 10

Patch (exported symbols added or changed by this PR): 62.5% fully typed (5 / 8); 37 no longer exported

Known Ambiguous Unknown Total
Patch 5 0 3 8
Patch symbol details
Symbol Status Change
chainladder.core.tests.test_display.test_display_option_default_is_none ✅ known new
chainladder.core.tests.test_display.test_get_format_str_reads_from_options ✅ known new
chainladder.core.tests.test_display.test_get_format_str_reads_thresholds_from_options ✅ known new
chainladder.core.tests.test_display.test_normalize_format_passes_through_callable ✅ known new
chainladder.core.tests.test_display.test_normalize_format_wraps_format_string ✅ known new
chainladder.core.tests.test_display.test_pattern_format_independent_of_value_format ❌ unknown new
chainladder.core.tests.test_display.test_value_format_override_affects_heatmap ❌ unknown new
chainladder.core.tests.test_display.test_value_format_override_affects_repr_and_html ❌ unknown new
chainladder.Options no longer exported (was ❌ unknown)
chainladder.Options.ARRAY_BACKEND no longer exported (was ✅ known)
chainladder.Options.ARRAY_PRIORITY no longer exported (was ✅ known)
chainladder.Options.AUTO_SPARSE no longer exported (was ✅ known)
chainladder.Options.ULT_VAL no longer exported (was ✅ known)
chainladder.Options.__init__ no longer exported (was ✅ known)
chainladder.Options.describe_option no longer exported (was ✅ known)
chainladder.Options.get_option no longer exported (was ❌ unknown)
chainladder.Options.reset_option no longer exported (was ✅ known)
chainladder.Options.set_option no longer exported (was ❌ unknown)
chainladder.__dt64_dtype__ no longer exported (was ✅ known)
chainladder.__dt64_unit__ no longer exported (was ✅ known)
chainladder.options no longer exported (was ❌ unknown)
chainladder.utils.tests.test_utilities.test_both_pat_and_option_raises no longer exported (was ✅ known)
chainladder.utils.tests.test_utilities.test_deprecated_option_kwarg_reset_option_warns no longer exported (was ✅ known)
chainladder.utils.tests.test_utilities.test_deprecated_option_kwarg_warns no longer exported (was ✅ known)
chainladder.utils.tests.test_utilities.test_describe_option no longer exported (was ✅ known)
chainladder.utils.tests.test_utilities.test_describe_option_all no longer exported (was ❌ unknown)
chainladder.utils.tests.test_utilities.test_describe_option_invalid no longer exported (was ✅ known)
chainladder.utils.tests.test_utilities.test_describe_option_invalid_regex no longer exported (was ✅ known)
chainladder.utils.tests.test_utilities.test_describe_option_multi no longer exported (was ❌ unknown)
chainladder.utils.tests.test_utilities.test_describe_option_no_docstring_match no longer exported (was ✅ known)
chainladder.utils.tests.test_utilities.test_describe_option_return_string no longer exported (was ✅ known)
chainladder.utils.tests.test_utilities.test_get_option no longer exported (was ✅ known)
chainladder.utils.tests.test_utilities.test_get_option_missing_pat_raises no longer exported (was ✅ known)
chainladder.utils.tests.test_utilities.test_options_defaults no longer exported (was ✅ known)
chainladder.utils.tests.test_utilities.test_reset_option no longer exported (was ✅ known)
chainladder.utils.tests.test_utilities.test_reset_option_invalid no longer exported (was ✅ known)
chainladder.utils.tests.test_utilities.test_reset_single_option no longer exported (was ✅ known)
chainladder.utils.tests.test_utilities.test_set_option_consistency no longer exported (was ✅ known)
chainladder.utils.tests.test_utilities.test_set_option_cupy_backend_deprecated no longer exported (was ✅ known)
chainladder.utils.tests.test_utilities.test_set_option_cupy_priority_deprecated no longer exported (was ✅ known)
chainladder.utils.tests.test_utilities.test_set_option_dask_backend_deprecated no longer exported (was ✅ known)
chainladder.utils.tests.test_utilities.test_set_option_dask_priority_deprecated no longer exported (was ✅ known)
chainladder.utils.tests.test_utilities.test_set_option_deprecated_priority_last_no_warning no longer exported (was ❌ unknown)
chainladder.utils.tests.test_utilities.test_set_option_missing_value_raises no longer exported (was ✅ known)
chainladder.utils.tests.test_utilities.test_set_option_supported_backend_no_warning no longer exported (was ❌ unknown)

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.

1 participant