@@ -63,7 +63,7 @@ uv run pyright
6363### Dependency Management
6464``` bash
6565# Install/sync all dependencies including dev dependencies
66- uv sync --all-extras --dev
66+ uv sync --all-groups
6767
6868# Add a new dependency
6969uv add package-name
@@ -84,7 +84,7 @@ uv lock --upgrade
8484uv build
8585
8686# Install in development mode (after uv sync)
87- uv sync --all-extras --dev
87+ uv sync --all-groups
8888```
8989
9090## Development Workflow
@@ -100,7 +100,7 @@ uv sync --all-extras --dev
1001004 . CI will validate the lock file is up-to-date
101101
102102** When pulling changes with new dependencies:**
103- 1 . Run ` uv sync --all-extras --dev ` to install new dependencies
103+ 1 . Run ` uv sync --all-groups ` to install new dependencies
1041042 . This uses the exact versions specified in ` uv.lock `
105105
106106** Periodic dependency updates:**
@@ -132,7 +132,8 @@ The CI pipeline uses `uv sync --locked` to ensure:
132132- ` NearlyIsotonicCalibrator ` : Penalises rather than forbids monotonicity violations.
133133 Two exact solvers: ` method="path" ` (default, pure NumPy) and ` method="cvx" ` (CVXPY).
134134 Note ` lam ` is 2x the source paper's lambda.
135- - ` SplineCalibrator ` : Monotone I-spline fit; CV picks ` (n_knots, alpha) ` on log-loss
135+ - ` SplineCalibrator ` : Monotone I-spline fit; CV picks ` (n_knots, alpha) ` using
136+ log loss for the logit link and squared error for the identity link
136137- ` RelaxedPAVACalibrator ` : Bounds each adjacent increment — ` epsilon ` permits small
137138 decreases, ` min_slope ` forbids plateaus. Solved by shift-to-PAVA in O(n).
138139- ` RegularizedIsotonicCalibrator ` : Monotone spline with a second-difference (curvature)
@@ -161,8 +162,7 @@ All are pinned against R reference implementations by `tests/test_r_reference.py
161162
162163Note: this module is a stub relative to what earlier CHANGELOGs promised. Bootstrap
163164tie stability, conditional AUC among tied pairs, minimum detectable difference, and the
164- supported/limited-data/inconclusive classifier do not exist. ` n_bootstraps ` and
165- ` random_state ` on ` run_plateau_diagnostics ` are accepted and ignored.
165+ supported/limited-data/inconclusive classifier do not exist.
166166
167167** calibre/metrics.py** : Evaluation metrics for calibration quality:
168168- ` mean_calibration_error() ` : Bias, |E[ p] - E[ y] |. Changed in 0.7.0; it used to
@@ -259,7 +259,7 @@ from calibre.diagnostics import run_plateau_diagnostics
259259
260260# Run diagnostics on any calibration result
261261y_calibrated = cal.transform(X)
262- diagnostics = run_plateau_diagnostics(X, y, y_calibrated)
262+ diagnostics = run_plateau_diagnostics(X, y_calibrated)
263263```
264264
265265## Testing Structure
@@ -387,7 +387,7 @@ and those guards.
387387- Tool configuration for ruff, pyright, pytest, coverage, deptry, pydoclint in pyproject.toml
388388- Python 3.12+ required
389389- Dev dependencies are a PEP 735 ` [dependency-groups] ` entry, so ` pip install -e ".[dev]" `
390- does NOT work. Use ` uv sync --all-extras --dev ` .
390+ does NOT work. Use ` uv sync --all-groups ` .
391391
392392## Interactive Examples
393393- ** docs/notebooks/** : Jupyter notebooks with comprehensive examples and benchmarks
@@ -405,7 +405,7 @@ and those guards.
405405- ** Sphinx documentation** : Comprehensive documentation with API reference, examples, and tutorials
406406- ** Location** : ` docs/ ` directory (flat Sphinx root, canon layout)
407407- ** Live site** : https://finite-sample.github.io/calibre/
408- - ** Build locally** : ` uv sync --group docs && uv run sphinx-build -W -b html docs _site `
408+ - ** Build locally** : ` make docs`
409409- ** Auto-deployment** : GitHub Pages deployment via ` .github/workflows/docs.yml `
410410
411411### Documentation Structure:
@@ -422,7 +422,7 @@ and those guards.
422422- Assert provable properties, not thresholds tuned to whatever the code happened to do
423423
424424## Code Quality Standards (v0.4.1+)
425- - ** Line length** : 88 characters (ruff; E501 is ignored, the formatter handles it )
425+ - ** Line length** : 88 characters (ruff; E501 is enforced )
426426- ** Complexity** : Functions should have complexity ≤10 (measured by McCabe)
427427- ** Type hints** : Required throughout codebase (Python 3.12+ typing)
428428- ** Import management** : No unused imports or variables
@@ -435,4 +435,4 @@ things are implemented: plateau detection with a sample-count density label, and
435435` diversity_learning_curve ` / ` progressive_sampling_diversity ` . Earlier CHANGELOGs
436436advertised bootstrap tie stability, conditional AUC among tied pairs, minimum
437437detectable difference, and a supported/limited-data/inconclusive classifier; none of
438- those were ever written. Do not restate them here or anywhere else.
438+ those were ever written. Do not restate them here or anywhere else.
0 commit comments