Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
37 changes: 4 additions & 33 deletions RELEASE_NOTES.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,45 +2,16 @@

## Summary

This release introduces Rust-backed Python bindings for resampling and migrates
the Python package to the `frequenz.resampling` namespace.

The project now builds via `maturin`, includes a PyO3 extension module, and has
expanded tests and CI to validate the compiled package workflow.
<!-- Here goes a general summary of what this release is about -->

## Upgrading

- Update imports from `resampling` to `frequenz.resampling`.
- Old: `from resampling import Resampler`
- New: `from frequenz.resampling import Resampler`
- The implementation is now provided by a Rust extension module
(`frequenz.resampling._rust_backend`) built with `maturin`.
- If you maintain tooling around docs/linting/test discovery, note that Python
source paths now target `frequenz/` and pytest collection targets `tests/`.
<!-- Here goes notes on how to upgrade from previous versions, including deprecations and what they should be replaced with -->

## New Features

- Add Rust crate wrapper for `frequenz-resampling` using PyO3.
- Expose Python API in `frequenz.resampling` with:
- `Resampler`
- `resample()`
- `ResamplingFunction`
- `Closed`
- `Label`
- Add type stubs for the extension module (`_rust_backend.pyi`).
- Add comprehensive Python binding tests.
- Update CI packaging flow to better support compiled distribution builds across
environments.
- Expand repository docs (`README.md`, `AGENTS.md`) for the new architecture.

## Build Changes

- Switch from a single abi3-compatible wheel to per-Python-version wheels
(`cp311`, `cp312`, `cp313`, `cp314`). This removes the `abi3-py311` PyO3
feature so each supported Python version gets its own compiled wheel.
<!-- Here goes the main new features and examples or instructions on how to use them -->

## Bug Fixes

- Fix docs and tooling source path assumptions from `src/` to `frequenz/` for
mkdocs/mkdocstrings and related generation scripts.
- Apply formatting and cleanup updates around the new bindings and tests.
<!-- Here goes notable bug fixes that are worth a special mention or explanation -->
Loading