Skip to content

Commit ee832c5

Browse files
release: bump version to 0.3.0 and update README for dynamic regression
- Bump version 0.2.0 → 0.3.0 in pyproject.toml, Cargo.toml, src/lib.rs - Mark dynamic regression as supported in comparison table - Add dynamic_regression parameter to Model Arguments docs
1 parent 96bf6dd commit ee832c5

5 files changed

Lines changed: 7 additions & 6 deletions

File tree

Cargo.lock

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[package]
22
name = "causal_impact_core"
3-
version = "0.2.0"
3+
version = "0.3.0"
44
edition = "2021"
55

66
[lib]

README.md

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,7 @@ fig.savefig("causal_impact.png")
7272
| Dependencies | R, bsts | numpy, pandas, matplotlib | TF, TFP (3 GB+) | TF, TFP (3 GB+) | statsmodels |
7373
| Spike-and-slab | Yes | Yes | Unknown | No | No |
7474
| Seasonal component | Yes | Yes (`nseasons`, `season_duration`) | Unknown | Yes (TFP STS) | No |
75-
| Dynamic regression | Yes | Planned | Unknown | No | No |
75+
| Dynamic regression | Yes | Yes (`dynamic_regression=True`) | Unknown | No | No |
7676
| R numerical test | Reference | CI-enforced | Not published | Visual comparison | Not tested |
7777
| Speed (T=1000) | 2.1 s | 0.07 s (30x) | Seconds | Minutes (HMC: hours) | Sub-second |
7878
| Python version | N/A (R) | 3.10+ | 3.8+ | 3.7-3.11 | 3.6-3.8 (stale) |
@@ -117,7 +117,7 @@ Tests run on every commit with seed-fixed MCMC for deterministic reproduction.
117117
| expected.model.size | Partial | `CausalImpact` preserves the legacy default `2`; `ModelOptions` keeps explicit default `1` |
118118
| expected.r2 = 0.8, prior.df = 50 | Partial | Static regression prior is tuned for close R parity, not a byte-for-byte port |
119119
| Seasonal component (`nseasons`, `season_duration`) | Supported | R-compatible API with seasonal fixture coverage |
120-
| Dynamic regression | Planned | R supports dynamic.regression=TRUE; not yet implemented |
120+
| Dynamic regression | Supported | Time-varying coefficients via random-walk FFBS; `dynamic_regression=True` |
121121
| Local linear trend | Planned | R uses AddLocalLevel only by default; trend option exists but not ported |
122122

123123
Covariate CI bounds are enforced twice: the legacy parity fixture remains tighter than
@@ -148,6 +148,7 @@ Phase 2 requirements, and a separate Phase 2 acceptance test keeps the threshold
148148
| `expected_model_size` | 2 | Expected number of active covariates (spike-and-slab prior); `ModelOptions` keeps `1` |
149149
| `nseasons` | `None` | Optional seasonal cycle count (R-compatible API) |
150150
| `season_duration` | `None` | Optional duration of each seasonal block; defaults to `1` when `nseasons` is set |
151+
| `dynamic_regression` | `False` | Enable time-varying regression coefficients (random-walk beta) |
151152

152153
#### Methods and Properties
153154

pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ build-backend = "maturin"
44

55
[project]
66
name = "bsts-causalimpact"
7-
version = "0.2.0"
7+
version = "0.3.0"
88
description = "CausalImpact for Python with Rust Gibbs sampler (R-compatible)"
99
requires-python = ">=3.10"
1010
dependencies = [

src/lib.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -97,7 +97,7 @@ fn run_gibbs_sampler(
9797
/// Provides Gibbs sampler for Bayesian structural time series.
9898
#[pymodule]
9999
fn _core(m: &Bound<'_, PyModule>) -> PyResult<()> {
100-
m.add("__version__", "0.2.0")?;
100+
m.add("__version__", "0.3.0")?;
101101
m.add_class::<GibbsSamples>()?;
102102
m.add_function(wrap_pyfunction!(run_gibbs_sampler, m)?)?;
103103
Ok(())

0 commit comments

Comments
 (0)