Skip to content

Releases: tschm/pyhrp

v2.2.5

27 May 10:25

Choose a tag to compare

[2.2.5] - 2026-05-27

🐛 Bug Fixes

  • Inline release jobs to fix PyPI Trusted Publishing with reusable workflows

💼 Other

  • Bump version 2.2.4 → 2.2.5

⚙️ Miscellaneous Tasks

  • Update CHANGELOG.md for v2.2.4 [skip ci]

PyPI Package

pyhrp

v2.2.0

22 May 05:24

Choose a tag to compare

[2.2.0] - 2026-05-22

🚀 Features

  • Implement Schur Complementary Allocation (Peter Cotton, arXiv:2411.05807)

💼 Other

  • Bump version 2.1.0 → 2.2.0

🚜 Refactor

  • Promote _compute_cov and _compute_corr to public API

📚 Documentation

  • Update README example to use public compute_cov / compute_corr
  • List public helper APIs in hrp module docstring

⚙️ Miscellaneous Tasks

  • Update CHANGELOG.md for v2.1.0
  • Update marimo notebooks to v0.23.6

PyPI Package

pyhrp

v2.1.0

21 May 07:01

Choose a tag to compare

[2.1.0] - 2026-05-21

💼 Other

  • Add kaleido as dev dependency
  • Bump version 2.0.0 → 2.1.0

🚜 Refactor

  • Avoid private API imports in demo script

📚 Documentation

  • Align README badges with jquantstats and rewrite SECURITY.md for pyhrp
  • Add root contribution docs and changelog
  • Expand README and add demo image generation script
  • Use portable command path for demo generation
  • Address review feedback in README and demo script
  • Keep robust README image URL
  • Add missing docstrings to public functions in demo.py
  • Add inline script metadata header to demo.py
  • Add Examples sections to hrp, build_tree, risk_parity, one_over_n

🧪 Testing

  • Add stress benchmarks and weekly regression workflow
  • Add property-based and numerical edge-case HRP tests
  • Tighten zip strictness in property test generators
  • Add direct helper tests and notebook output assertions
  • Benchmark assertions, 500/1000-asset stress tests, notebook weight assertions
  • Add TypeError coverage for Cluster.leaves non-Cluster children

⚙️ Miscellaneous Tasks

  • Update uv.lock with pytest-benchmark dependencies
  • Add fail_under = 90 to [tool.coverage.report] in pyproject.toml
  • Add docstrings to benchmark tests and remove redundant mypy config
  • Remove redundant mypy config from pyproject.toml
  • Fix ruff target-version to py312, apply UP fixes, remove mypy config
  • Tighten dependency version constraints
  • Update uv.lock to reflect tightened dependency constraints
  • Update uv.lock with latest dependency versions
  • Numpy upper bound, doc line length, remove **kwargs, raise max_examples
  • Auto-update CHANGELOG.md after each release via git-cliff
  • Regenerate demo.png via book/marimo/demo.py

PyPI Package

pyhrp

v2.0.0

20 May 15:26

Choose a tag to compare

[2.0.0] - 2026-05-20

🐛 Bug Fixes

  • Import private compute* inside cell in hrp notebook
  • Handle NaN in returns and assert weights by key in tests
  • Restore Series-based Portfolio.weights API with dict accessor
  • Revert Portfolio.weights to dict[str, float]
  • Set requires-python to >=3.11 in hrp marimo script

💼 Other

  • Bump version 1.6.4 → 2.0.0

🚜 Refactor

  • Migrate from pandas/matplotlib to polars/plotly

📚 Documentation

  • Update README example from pandas to polars

🎨 Styling

  • Apply ruff format to hrp.py

🧪 Testing

  • Assert portfolio weights by key instead of iteration order

⚙️ Miscellaneous Tasks

  • Add requires-python constraint to marimo script

PyPI Package

pyhrp

v1.6.4

20 May 13:45

Choose a tag to compare

[1.6.4] - 2026-05-20

🚀 Features

  • Use cvx-linalg for portfolio variance computation

💼 Other

  • Bump version 1.6.3 → 1.6.4

⚙️ Miscellaneous Tasks

  • Update Rhiza template to v0.10.3
  • Sync with Rhiza template v0.10.3
  • Update via rhiza
  • Update Rhiza template to v0.10.7
  • Sync with Rhiza template v0.10.7
  • Add github-book and github-marimo template bundles
  • Sync github-book and github-marimo template bundles

PyPI Package

pyhrp

v1.6.3

23 Apr 04:51

Choose a tag to compare

[1.6.3] - 2026-04-23

🚀 Features

  • Add mkdocs.yml with nav for docs, notebooks, and reports

🐛 Bug Fixes

  • Suppress bandit B404 on intentional subprocess import
  • Set MARIMO_FOLDER to book/marimo so notebooks are exported to HTML
  • Correct coverage badge URL to GitHub Pages endpoint

💼 Other

  • Bump version 1.6.2 → 1.6.3

📚 Documentation

  • Add coverage badge to README
  • Add API reference page with mkdocstrings for all modules

🧪 Testing

  • Bring test coverage to 100%

⚙️ Miscellaneous Tasks

  • Update rhiza template version to v0.9.5
  • Sync with rhiza template v0.9.5
  • Update rhiza template version to v0.10.2
  • Sync rhiza template to v0.10.2

PyPI Package

pyhrp

v1.6.2

22 Mar 08:57

Choose a tag to compare

What's Changed

  • Add license information to pyproject.toml by @tschm in #609
  • Update template branch to v0.8.16 by @tschm in #610

Full Changelog: v1.6.1...v1.6.2

PyPI Package

pyhrp

v1.6.1

17 Mar 07:22

Choose a tag to compare

What's Changed

  • Update template branch to v0.8.5 by @tschm in #598
  • chore(deps-dev)(deps-dev): bump pyportfolioopt from 1.5.6 to 1.6.0 in the python-dependencies group by @dependabot[bot] in #600
  • chore(deps)(deps): bump the github-actions group with 2 updates by @dependabot[bot] in #599
  • chore(deps)(deps): bump the python-dependencies group with 2 updates by @dependabot[bot] in #602
  • chore: Sync with rhiza by @tschm in #603
  • chore(deps-dev)(deps-dev): bump the python-dependencies group with 2 updates by @dependabot[bot] in #606
  • Sync rhiza by @tschm in #604
  • Update template branch version to v0.8.13 by @tschm in #607
  • chore(deps)(deps): bump the github-actions group across 1 directory with 3 updates by @dependabot[bot] in #608

Full Changelog: v1.6.0...v1.6.1

PyPI Package

pyhrp

v1.6.0

24 Feb 12:01

Choose a tag to compare

What's Changed

  • CodeRabbit Generated Unit Tests: Expand test_dendrogram_extras with 27 new unit tests by @coderabbitai[bot] in #469
  • Deptry by @tschm in #470
  • chore(deps): lock file maintenance by @renovate[bot] in #471
  • chore: sync template from tschm/.config-templates@main by @tschm in #472
  • chore(deps): update dependency python to 3.14 by @renovate[bot] in #473
  • chore(deps): update pre-commit hook astral-sh/ruff-pre-commit to v0.14.2 by @renovate[bot] in #475
  • chore(deps): update ghcr.io/astral-sh/uv docker tag to v0.9.5 by @renovate[bot] in #474
  • chore(deps): lock file maintenance by @renovate[bot] in #476
  • chore(deps): lock file maintenance by @renovate[bot] in #479
  • chore(deps): update github artifact actions (major) by @renovate[bot] in #478
  • chore: sync template from tschm/.config-templates@main by @tschm in #477
  • chore(deps): lock file maintenance by @renovate[bot] in #480
  • chore: sync template from tschm/.config-templates@main by @tschm in #481
  • chore: sync template from tschm/.config-templates@main by @tschm in #482
  • fix(deps): update dependency polars to v1.35.1 by @renovate[bot] in #483
  • chore(deps): update pre-commit hook astral-sh/ruff-pre-commit to v0.14.4 by @renovate[bot] in #484
  • chore(deps): lock file maintenance by @renovate[bot] in #485
  • chore: sync template from tschm/.config-templates@main by @tschm in #487
  • chore(deps): lock file maintenance by @renovate[bot] in #486
  • fix(deps): update dependency polars to v1.35.2 by @renovate[bot] in #488
  • chore(deps): update pre-commit hook python-jsonschema/check-jsonschema to v0.35.0 by @renovate[bot] in #489
  • chore(deps): lock file maintenance by @renovate[bot] in #490
  • chore: sync template from tschm/.config-templates@main by @tschm in #491
  • chore(deps): update ghcr.io/astral-sh/uv docker tag to v0.9.11 by @renovate[bot] in #492
  • chore(deps): update pre-commit hook rhysd/actionlint to v1.7.9 by @renovate[bot] in #494
  • chore(deps): update pre-commit hook igorshubovych/markdownlint-cli to v0.46.0 by @renovate[bot] in #495
  • chore(deps): update pre-commit hook astral-sh/ruff-pre-commit to v0.14.6 by @renovate[bot] in #493
  • chore: sync template from tschm/.config-templates@main by @tschm in #498
  • chore(deps): update actions/checkout action to v6 by @renovate[bot] in #496
  • chore(deps): lock file maintenance by @renovate[bot] in #499
  • chore: sync template from tschm/.config-templates@main by @tschm in #504
  • Remove tests/test_taskfile.py Taskfile.yml taskfiles by @tschm in #503
  • chore(deps): lock file maintenance by @renovate[bot] in #505
  • Add exclusions for specific workflow files by @tschm in #507
  • chore: sync template from tschm/.config-templates@main by @tschm in #506
  • chore(deps): update softprops/action-gh-release action to v2.5.0 by @renovate[bot] in #508
  • chore(deps): lock file maintenance by @renovate[bot] in #509
  • chore(deps): update ghcr.io/astral-sh/uv docker tag to v0.9.14 by @renovate[bot] in #510
  • chore(deps): update ghcr.io/astral-sh/uv docker tag to v0.9.15 by @renovate[bot] in #511
  • chore(deps): lock file maintenance by @renovate[bot] in #512
  • chore(deps): lock file maintenance by @renovate[bot] in #513
  • chore(deps): update ghcr.io/astral-sh/uv docker tag to v0.9.16 by @renovate[bot] in #515
  • chore(deps): update pre-commit hook astral-sh/ruff-pre-commit to v0.14.8 by @renovate[bot] in #516
  • fix(deps): update dependency polars to v1.36.0 by @renovate[bot] in #517
  • chore(deps): update pre-commit hook igorshubovych/markdownlint-cli to v0.47.0 by @renovate[bot] in #520
  • fix(deps): update dependency polars to v1.36.1 by @renovate[bot] in #519
  • chore(deps): update ghcr.io/astral-sh/uv docker tag to v0.9.17 by @renovate[bot] in #518
  • chore: sync template from jebel-quant/rhiza@main by @tschm in #521
  • chore: sync template from jebel-quant/rhiza@main by @tschm in #522
  • chore(deps): lock file maintenance by @renovate[bot] in #523
  • chore(deps): update pre-commit hook python-jsonschema/check-jsonschema to v0.36.0 by @renovate[bot] in #525
  • Remove deprecated files by @tschm in #526
  • chore(deps): update pre-commit hook astral-sh/ruff-pre-commit to v0.14.10 by @renovate[bot] in #527
  • chore(deps): lock file maintenance by @renovate[bot] in #528
  • chore(deps): lock file maintenance by @renovate[bot] in #529
  • chore(deps): lock file maintenance by @renovate[bot] in #530
  • chore: Sync with rhiza by @tschm in #531
  • chore(deps): update dependency astral-sh/uv to v0.9.20 by @renovate[bot] in #532
  • chore(deps): update ghcr.io/astral-sh/uv docker tag to v0.9.20 by @renovate[bot] in #533
  • chore(deps)(deps): bump actions/checkout from 4 to 6 by @dependabot[bot] in #535
  • chore(deps): lock file maintenance by @renovate[bot] in #536
  • chore: Sync with rhiza by @tschm in #537
  • chore(deps): update dependency plotly to v6 by @renovate[bot] in #538
  • chore(deps): update dependency astral-sh/uv to v0.9.22 by @renovate[bot] in #539
  • chore(deps): update ghcr.io/astral-sh/uv docker tag to v0.9.22 by @renovate[bot] in #540
  • chore(deps): lock file maintenance by @renovate[bot] in #541
  • chore: Sync with rhiza by @tschm in #542
  • chore(deps): update dependency polars to v1.37.1 by @renovate[bot] in #543
  • Delete .rhiza.env by @tschm in #544
  • chore(deps): lock file maintenance by @renovate[bot] in #545
  • chore(deps): update dependency astral-sh/uv to v0.9.26 by @renovate[bot] in #547
  • chore(deps): update pre-commit hook astral-sh/ruff-pre-commit to v0.14.13 by @renovate[bot] in #549
  • chore(deps): update ghcr.io/astral-sh/uv docker tag to v0.9.26 by @renovate[bot] in #548
  • chore(deps): lock file maintenance by @renovate[bot] in #550
  • chore: Sync with rhiza by @tschm in #551
  • chore(deps): update pre-commit hook python-jsonschema/check-jsonschema to v0.36.1 by @renovate[bot] in #552
  • chore(deps): update ghcr.io/astral-sh/uv docker tag to v0.9.27 by @renovate[bot] in #554
  • chore(deps): update dependency astral-sh/uv to v0.9.27 by @renovate[bot] in #553
  • chore(deps): lock file maintenance by @renovate[bot] in #555
  • chore: Sync with rhiza by @tschm in #556
  • chore(deps): update github/codeql-action action to v4.32.1 by @renovate[bot] in #557
  • chore(deps): update pre-commit hook abravalheri/validate-pyproject to v0.25 by @renovate[bot] in #558
  • chore(deps): lock file maintenance by @renovate[bot] in #559
  • Remove 'tests' from template inclusion by @tschm in #562
  • Delete tests/test_rhiza directory by @tschm in #561
  • chore(deps): update ghcr.io/astral-sh/uv docker tag to v0.9.30 by @renovate[bot] in #563
  • chore(deps): update dependency astral-sh/uv to v0.10.0 by @renovate[bot] in #566
  • chore(deps): update astral-sh/setup-uv action to v7.3.0 by @renovate[bot] in #565
  • chore(deps): update pre-commit hook astral-sh/ruff-pre-commit to v0.15.0 by @renovate[bot] in #568
  • chore(deps): update github/codeql-action action to v4.32.2 by @renovate[bot] in htt...
Read more

v1.5.1

17 Oct 19:36
9aa1658

Choose a tag to compare

What's Changed

Full Changelog: v1.5.0...v1.5.1