Releases: Jebel-Quant/jquantstats
v0.3.4
Changelog
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog,
and this project adheres to Semantic Versioning.
0.3.4 - 2026-03-26
Bug Fixes
- Move mkdocs.yml to repo root to resolve docs_dir config error (#501)
- Limit API Reference TOC depth to 3 to reduce clutter
Documentation
- Append 2026-03-25 repository analysis entry (v0.3.3)
Maintenance
- Add kaleido static image export tests (#504)
- Move mkdocs.yml to repo root (#514)
- Add kaleido marker and dedicated CI job for static image export (#520)
New Features
- Replace minibook with MkDocs-based book pipeline (#502)
- Add per-subcategory 1–10 scores to analyser agent
- Add vol-normalisation cap and input validation to
from_risk_position(#521)
Other Changes
- Potential fix for code scanning alert no. 1: Workflow does not contain permissions (#503)
Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>
- Revert "chore: move mkdocs.yml to repo root" (#517)
- [WIP] Fix PortfolioLike protocol to align with CostModel abstraction (#522)
Co-authored-by: copilot-swe-agent[bot] 198982749+Copilot@users.noreply.github.com
Co-authored-by: tschm 2046079+tschm@users.noreply.github.com
- Analysis
- Bump version 0.3.3 → 0.3.4
Performance
- Vectorise trading_cost_impact — O(1) allocations for the cost sweep (#516)
- Add
slots=TruetoPortfolioandDatafrozen dataclasses (#515)
PyPI Package
v0.3.3
Changelog
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog,
and this project adheres to Semantic Versioning.
0.3.3 - 2026-03-24
Other Changes
- Fix mkdocs site_dir nested inside docs_dir
Set site_dir to ../site so the build output is placed at the repo root
level instead of inside docs/, which caused an aborted build error.
Co-Authored-By: Claude Sonnet 4.6 noreply@anthropic.com
- Remove obsolete notebook
- Add Data.from_prices classmethod (#499)
Co-authored-by: copilot-swe-agent[bot] 198982749+Copilot@users.noreply.github.com
Co-authored-by: tschm 2046079+tschm@users.noreply.github.com
Co-authored-by: Thomas Schmelzer thomas.schmelzer@gmail.com
- Reorganize tests/ to mirror src/jquantstats/ structure (#500)
Co-authored-by: copilot-swe-agent[bot] 198982749+Copilot@users.noreply.github.com
Co-authored-by: tschm 2046079+tschm@users.noreply.github.com
- Bump version 0.3.2 → 0.3.3
PyPI Package
v0.3.2
Changelog
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog,
and this project adheres to Semantic Versioning.
0.3.2 - 2026-03-24
Other Changes
- Update README.md
- [WIP] Add GitHub Actions workflow for link checking in README (#497)
Co-authored-by: copilot-swe-agent[bot] 198982749+Copilot@users.noreply.github.com
Co-authored-by: tschm 2046079+tschm@users.noreply.github.com
- Fix mike deploy failing due to mkdocs.yml not found at repo root
cd into docs/ before running mike commands since mkdocs.yml lives at docs/mkdocs.yml.
Co-Authored-By: Claude Sonnet 4.6 noreply@anthropic.com
- Bump version 0.3.1 → 0.3.2
PyPI Package
v0.3.1
Changelog
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog,
and this project adheres to Semantic Versioning.
0.3.1 - 2026-03-24
Maintenance
- Chore(deps)(deps): bump the python-dependencies group with 3 updates (#493)
Signed-off-by: dependabot[bot] support@github.com
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Thomas Schmelzer thomas.schmelzer@gmail.com
Co-authored-by: Claude Sonnet 4.6 noreply@anthropic.com
Other Changes
- Remove GitHub Codespaces badge
Removed GitHub Codespaces badge from README
- Remove Renovate badge from README
Removed Renovate badge from README
- Fix README link to jQuantStats
- Replace broken shields.io pyversions badge with static Python version badge (#495)
Co-authored-by: copilot-swe-agent[bot] 198982749+Copilot@users.noreply.github.com
Co-authored-by: Thomas Schmelzer thomas.schmelzer@gmail.com
Co-authored-by: tschm 2046079+tschm@users.noreply.github.com
- [WIP] Update README.md with absolute URLs for references (#496)
Co-authored-by: copilot-swe-agent[bot] 198982749+Copilot@users.noreply.github.com
Co-authored-by: tschm 2046079+tschm@users.noreply.github.com
Co-authored-by: Thomas Schmelzer thomas.schmelzer@gmail.com
- Bump version 0.3.0 → 0.3.1
PyPI Package
v0.3.0
Changelog
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog,
and this project adheres to Semantic Versioning.
0.3.0 - 2026-03-24
Documentation
- Add versioned documentation with mike (#480)
- Add dashboard screenshot, quick-start output, and Marimo badge to README (#481)
Maintenance
- Add macOS and Windows to CI test matrix (#482)
- Increase coverage to 100%
New Features
- Add
__repr__with date range toDataandPortfolio(#489)
Other Changes
- Fix docs build: update plots reference and broken links in CUSTOMIZATION.md (#470)
Co-authored-by: copilot-swe-agent[bot] 198982749+Copilot@users.noreply.github.com
Co-authored-by: tschm 2046079+tschm@users.noreply.github.com
- Collapse PortfolioData into Portfolio (#473)
Co-authored-by: copilot-swe-agent[bot] 198982749+Copilot@users.noreply.github.com
Co-authored-by: tschm 2046079+tschm@users.noreply.github.com
- Add PyPI classifiers and explicit
__all__(#491) - Bump version 0.2.0 → 0.3.0
PyPI Package
v0.2.0
Changelog
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog,
and this project adheres to Semantic Versioning.
[0.2.0] - 2026-03-23
Bug Fixes
- Fix ruff formatting in test_edge_cases.py
Co-authored-by: tschm 2046079+tschm@users.noreply.github.com
Agent-Logs-Url: https://github.com/tschm/jquantstats/sessions/bf90d4cc-1ad7-4b63-a4e9-892fe28588aa
- Correct README code examples to pass make validate
- Exclude book/ from interrogate docstring coverage
- Exclude book/ from interrogate pre-commit hook
- Fix import path in test_report: _report -> _reports
Co-Authored-By: Claude Sonnet 4.6 noreply@anthropic.com
Documentation
- Add Data and Stats classes to mkdocs nav
- Rewrite SECURITY.md for jquantstats
- Expand README with comparison table, Mermaid diagram, more examples, badge row
- Add GitHub Discussions templates and update contributing guide
- Add docs/stability.md and update mkdocs nav
- Replace build_data with Data.from_returns in README
- Document uv.lock update requirement in CONTRIBUTING.md
- Add QuantStats migration guide (docs/migration.md)
Maintenance
- Extract figure_structure to shared plot_test_utils module, fix ruff formatting
- Add ISSUE_TEMPLATE config.yml and PULL_REQUEST_TEMPLATE.md
- Enable blank issues in ISSUE_TEMPLATE config
- Update issue templates to be jquantstats-specific
- Exclude generated report.html from git tracking
- Add CITATIONS.bib and Citing section to README
- Group _stats*.py files into _stats/ subpackage
- Add test_api_contract.py to guard public API surface
New Features
- Cache stats/plots/report properties on Portfolio and add pytest-cov
- Add py.typed marker and configure release notes
- Enable ANN2 return-type annotation enforcement in ruff
- Add interrogate to enforce 100% docstring coverage
- Automate release notes with git-cliff in release workflow
Other Changes
- Initial plan
- Add property-based tests with hypothesis and fix sortino ZeroDivisionError
Co-authored-by: tschm 2046079+tschm@users.noreply.github.com
Agent-Logs-Url: https://github.com/tschm/jquantstats/sessions/383b5562-61f0-4aff-87d7-d1ef4999f95a
- Initial plan
- Add CHANGELOG.md, cliff.toml, and make changelog target
Co-authored-by: tschm 2046079+tschm@users.noreply.github.com
Agent-Logs-Url: https://github.com/tschm/jquantstats/sessions/8bfc6764-97ba-4e38-9539-91ad4d1f7af3
- Merge pull request #384 from tschm/copilot/add-changelog-file
[WIP] Add CHANGELOG.md following Keep a Changelog format
- Merge branch 'main' into copilot/add-property-based-tests
- Remove hypothesis from pyproject.toml; use importorskip for graceful skip
Co-authored-by: tschm 2046079+tschm@users.noreply.github.com
Agent-Logs-Url: https://github.com/tschm/jquantstats/sessions/798615a2-215f-4a3d-b5a9-3b66cabcf25c
- Initial plan
- Merge branch 'main' into copilot/add-snapshot-tests-for-plots
- Merge pull request #377 from tschm/copilot/add-snapshot-tests-for-plots
feat: Plotly figure structure snapshot tests for regression detection
- Merge branch 'main' into copilot/add-property-based-tests
- Merge remote-tracking branch 'origin/copilot/add-property-based-tests' into copilot/add-property-based-tests
- Initial plan
- Merge branch 'main' into copilot/add-truncate-in-api
- Add truncate method to Data class with tests
Co-authored-by: tschm 2046079+tschm@users.noreply.github.com
Agent-Logs-Url: https://github.com/tschm/jquantstats/sessions/47e9b47c-4abd-4cd3-bb76-196c22ad6b34
- Merge pull request #386 from tschm/copilot/add-truncate-in-api
Add truncate method to Data class
- Initial plan
- Merge branch 'main' into copilot/add-conda-forge-recipe
- Add conda-forge recipe and update README installation docs
Co-authored-by: tschm 2046079+tschm@users.noreply.github.com
Agent-Logs-Url: https://github.com/tschm/jquantstats/sessions/43a6aebf-3195-4e71-b5ba-1ac66bf6c198
- Merge branch 'main' into copilot/add-conda-forge-recipe
- Merge pull request #391 from tschm/copilot/add-conda-forge-recipe
Add conda-forge recipe for jquantstats
- Merge branch 'main' into copilot/add-property-based-tests
- Initial plan
- Merge branch 'main' into copilot/expand-test-edge-cases
- Merge branch 'main' into copilot/expand-test-edge-cases
- Merge pull request #378 from tschm/copilot/expand-test-edge-cases
Expand test_edge_cases.py — empty returns, single-row frame, all-zero stats, NaN propagation, partial date overlap
- Merge branch 'main' into copilot/add-property-based-tests
- Merge pull request #379 from tschm/copilot/add-property-based-tests
Add hypothesis property-based tests for statistical invariants; fix sortino ZeroDivisionError
- Initial plan
- Initial plan
- Merge branch 'main' into plan10
- Merge branch 'main' into plan10
- Initial plan
- Merge branch 'main' into copilot/add-return-type-annotations
- Merge branch 'main' into copilot/add-return-type-annotations
- Merge pull request #385 from tschm/copilot/add-return-type-annotations
Enforce return-type annotations via ANN2 ruff rule
- Merge branch 'main' into plan10
- Merge pull request #396 from tschm/plan10
docs: rewrite SECURITY.md for jquantstats
- Merge branch 'main' into copilot/add-data-and-stats-docs
- Merge pull request #401 from tschm/copilot/add-data-and-stats-docs
[WIP] Add Data and Stats classes to mkdocs navigation
- Merge branch 'main' into copilot/add-issue-templates
- Initial plan
- Merge branch 'main' into copilot/stabilize-date-col-convention
- Merge branch 'main' into copilot/stabilize-date-col-convention
- Merge pull request #400 from tschm/copilot/stabilize-date-col-convention
[WIP] Stabilize date_col convention by making it a class-level attribute
- Merge branch 'main' into copilot/add-issue-templates
- Remove Mypy configuration from pyproject.toml
- Merge pull request #404 from tschm/noMyPy
Remove Mypy configuration from pyproject.toml
- Merge branch 'main' into copilot/add-issue-templates
- Merge pull request #403 from tschm/copilot/add-issue-templates
Add ISSUE_TEMPLATE config and PULL_REQUEST_TEMPLATE to lower contributor barrier
- Add narwhals support to accept pandas/polars/modin inputs in build_data
Closes #57. Adds narwhals as a runtime dependency and converts any
narwhals-compatible DataFrame to polars at the build_data boundary,
unlocking pandas and other dataframe inputs without breaking the
polars-native internals.
Co-Authored-By: Claude Sonnet 4.6 noreply@anthropic.com
- Initial plan
- Initial plan
- Add Ideas discussion template and update issue config to redirect to discussions
Co-authored-by: tschm 2046079+tschm@users.noreply.github.com
Agent-Logs-Url: https://github.com/tschm/jquantstats/sessions/77f1aab1-ac04-4ba4-b258-c94946a82c3b
- Merge branch 'main' into copilot/add-discussions-tab
- Merge pull request #411 from tschm/copilot/add-discussions-tab
Add Discussions infrastructure: Ideas template + issue routing
- Merge branch 'main' into copilot/add-issue-templates-bug-report-feature-request
- Initial plan
- Add full API reference: new reference pages + updated mkdocs.yml nav + docs dep group
Co-authored-by: tschm 2046079+tschm@users.noreply.github.com
Agent-Logs-Url: https://github.com/tschm/jquantstats/sessions/9957b64f-2f21-4d16-8fd0-732b318b0951
- Merge branch 'main' into copilot/add-mkdocs-mkdocstrings
- Merge pull request #412 from tschm/copilot/add-mkdocs-mkdocstrings
Build API reference: add mkdocstrings pages for all public classes and wire docs dep group
- Merge branch 'main' into copilot/add-issue-templates-bug-report-feature-request
- Initial plan
- Merge branch 'main' into copilot/expand-readme-add-content
- Merge branch 'main' into copilot/expand-readme-add-content
- Merge branch 'main' into copilot/expand-readme-add-content
- Merge branch 'main' into copilot/expand-readme-add-content
- Merge branch 'main' into copilot/expand-readme-add-content
- Merge branch 'main' into copilot/expand-readme-add-content
- Merge pull request #402 from tschm/copilot/expand-readme-add-content
Expand README: comparison table, Mermaid architecture diagram, more examples, badge row
- Merge branch 'main' into copilot/add-issue-templates-bug-report-feature-request
- Initial plan
- Merge branch 'main' into copilot/add-discussions-tab-again
- Merge branch 'main' into copilot/add-discussions-tab-again
- Merge pull request #414 from tschm/copilot/add-discussions-tab-again
docs: add GitHub Discussions templates and routing
- Merge branch 'main' into copilot/add-issue-templates-bug-report-feature-request
- Merge pull request #413 from tschm/copilot/add-issue-templates-bug-report-feature-request
fix(issue-templates): replace rhiza-specific references with jquantstats content
- Initial plan
- Add repr to Data, Stats, Plots and Portfolio
Co-authored-by: tschm 2046079+tschm@users.noreply.github.com
Agent-Logs-Url: https://github.com/tschm/jquantstats/sessions/42f2887d-36a8-42ae-b440-67a92a0fce7c
- Initial plan
- Add ROADMAP.md to repository root
Co-authored-by: tschm 2046079+tschm@users.noreply.github.com
Agent-Logs-Url: https://github.com/tschm/jquantstats/sessions/55b7e43d-1897-4a4d-8007-1bef4b63ea6e
- Initial plan
- Merge pull request #428 from tschm/copilot/add-citations-bib-file
[WIP] Add CITATIONS.bib for academic users
- Merge branch 'main' into copilot/add-roadmap-md
- Update ROADMAP.md
- Merge pull request #429 from tschm/copilot/add-roadmap-md
[WIP] Add ROADMAP.md file for version planning
- Merge branch 'main' into copilot/add-repr-to-data-stats-plots-portfolio
- Initial plan
- Replace Any with NativeFrame type alias for narwhals inputs
Co-authored-by: tschm 2046079+tschm@users.noreply.github.com
Agent-Logs-Url: https://github.com/tschm/jquantstats/sessions/2d033a26-295d-4bce-809c-f0ba038d5e42
- Merge branch 'main' into copilot/replace-any-with-nativeframe-type-alias
- Merge br...
v0.1.1
What's Changed
- Add
analyticssubpackage ported fromjebel-quant/basanosby @Copilot in #368 - Refactor by @tschm in #370
- refactor: deduplicate NAV layout setup into shared helper by @Copilot in #372
Full Changelog: v0.0.36...v0.1.1
PyPI Package
v0.0.36
What's Changed
- Remove pandas and pyarrow as runtime dependencies by @Copilot in #367
Full Changelog: v0.0.35...v0.0.36
PyPI Package
v0.0.35
What's Changed
- Fix broken coverage badge by @Copilot in #363
- [WIP] Fix LICENSE badge to reflect MIT license by @Copilot in #365
Full Changelog: v0.0.34...v0.0.35
PyPI Package
v0.0.34
What's Changed
- Update reference version from v0.8.2 to v0.8.3 by @tschm in #351
- Tschm patch 100 by @tschm in #352
- chore(deps)(deps): bump the github-actions group with 2 updates by @dependabot[bot] in #353
- chore(deps)(deps): bump plotly from 6.5.2 to 6.6.0 in the python-dependencies group by @dependabot[bot] in #354
- chore(deps)(deps): bump the python-dependencies group with 2 updates by @dependabot[bot] in #357
- chore(deps)(deps): bump github/codeql-action from 4.32.5 to 4.32.6 in the github-actions group by @dependabot[bot] in #356
- chore: Sync with rhiza by @tschm in #358
- chore(deps)(deps): bump the github-actions group with 4 updates by @dependabot[bot] in #359
- Tschm patch 150 by @tschm in #361
Full Changelog: v0.0.33...v0.0.34