Manuel Raimann
abe15bdd7b
feat: add TrialPruned error variant and Pruned trial state
...
- Add `Pruned` variant to `TrialState`
- Add `Error::TrialPruned` variant and standalone `TrialPruned` struct
with `From<TrialPruned> for Error` for ergonomic `?` usage
- Add `state` field to `CompletedTrial` (defaults to `Complete`)
- Add `Study::prune_trial()` and `Study::n_pruned_trials()`
- `optimize()` and `optimize_with_callback()` detect `TrialPruned`
errors via Any downcasting and record pruned trials instead of
failing them
- `best_trial()` / `best_value()` now filter to only `Complete` trials
- Re-export `TrialPruned` from crate root and prelude
2026-02-11 16:24:57 +01:00
Manuel Raimann
4d8af3242b
feat: add intermediate values and pruner integration to Trial
...
- Add report(step, value) and should_prune() methods to Trial
- Store intermediate_values in Trial, copied to CompletedTrial on completion
- Pass pruner through trial factory so trials can consult it
- Rebuild trial factory when pruner is changed via set_pruner()
2026-02-11 16:08:25 +01:00
Manuel Raimann
2651e61b2c
feat: add Pruner trait and NopPruner default implementation
...
Introduce the pruning extension point for the trial pruning system.
The Pruner trait allows deciding whether to stop a trial early based
on intermediate values. NopPruner (never prunes) is the default.
2026-02-11 15:46:56 +01:00
Manuel Raimann
d88280c152
chore: release v0.5.1
v0.5.1
2026-02-10 09:30:58 +01:00
Manuel Raimann
0e8fc82201
refactor: update random number generation to use rand::make_rng() and upgrade rand to version 0.10
2026-02-10 09:30:39 +01:00
Manuel Raimann
d7ad3f60db
chore: release v0.5.0
v0.5.0
2026-02-06 18:55:06 +01:00
Manuel Raimann
5dc81fa0ab
Implement Parameters API
...
- Add `.name()` builder method on all 5 parameter types for custom labels
- Add `CompletedTrial::get(¶m)` for typed parameter access
- Add `Display` impl on `ParamValue`
- Add prelude module at `optimizer::prelude::*`
- Shadow `_with_sampler` methods on `Study<f64>` so `optimize()` auto-uses
the configured sampler; deprecate `_with_sampler` variants
- Use runtime `Any` downcasting with `trial_factory` to avoid E0592
- Update all examples and tests to use the new API
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-06 18:54:55 +01:00
Manuel Raimann
55e50e6afb
Implement Parameters API
2026-02-06 17:15:47 +01:00
Manuel Raimann
2fef1ab3c3
docs: add missing derive feature flag to README
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-06 16:51:13 +01:00
Manuel Raimann
aa1718fed7
docs: update quick start example to use typed Parameter API
...
The old example used the removed string-based trial.suggest_float()
API. Updated to use FloatParam::new() with param.suggest(trial).
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-06 16:50:59 +01:00
Manuel Raimann
f9227df96e
docs: update features list with boolean, enum, and derive support
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-06 16:50:43 +01:00
Manuel Raimann
02ec9498c4
refactor: reorganize sampler module and update imports
2026-02-04 13:14:22 +01:00
Manuel Raimann
183a78c09e
chore: remove log dependency from Cargo.toml
2026-02-02 17:33:03 +01:00
Manuel Raimann
ce817c1f38
feat: add 'consts' to default extended words in typos configuration
2026-02-02 17:32:20 +01:00
Manuel Raimann
b9f8844e60
chore: release v0.4.0
v0.4.0
2026-02-02 17:31:35 +01:00
Manuel Raimann
d1c8925fc3
refactor: remove warn_independent_sampling option from MultivariateTpeSampler
2026-02-02 17:31:25 +01:00
Manuel Raimann
4ce4311c68
Implement Multivariant TPE
2026-02-02 17:25:50 +01:00
Manuel Raimann
293b992e75
feat: implement gamma strategies for TPE sampler with examples
2026-02-02 13:40:33 +01:00
Manuel Raimann
af8a9f7638
feat: add examples for async API parameter optimization and ML hyperparameter tuning
2026-01-31 11:56:50 +01:00
Manuel Raimann
b9a90ebec3
Format
2026-01-31 11:56:37 +01:00
Manuel Raimann
24e921b7b9
style: format suggest method for improved readability
2026-01-31 11:45:58 +01:00
Manuel Raimann
6363540269
fix: handle end value in suggest method to avoid panic on underflow
2026-01-31 11:44:33 +01:00
Manuel Raimann
9f3c0f0d3b
chore: release v0.3.1
2026-01-31 11:34:36 +01:00
Manuel Raimann
747e1928b9
feat: add tests for suggest_bool and suggest_range methods
2026-01-31 11:34:36 +01:00
Manuel Raimann
15a43d9485
feat: add SuggestableRange trait and suggest_range method for parameter suggestion from ranges
2026-01-31 11:34:36 +01:00
Manuel Raimann
1091429697
feat: add suggest_bool method for boolean parameter suggestion
2026-01-31 11:34:36 +01:00
Manuel Raimann
b482d56e89
Implement grid search
2026-01-30 22:01:44 +01:00
Manuel Raimann
90bf73a39f
feat: add documentation, keywords, categories, and readme to Cargo.toml
2026-01-30 19:57:21 +01:00
Manuel Raimann
473b973408
feat: add permissions for read access to contents in CI and scheduled workflows
2026-01-30 19:28:47 +01:00
Manuel Raimann
d8ef4352c3
refactor: replace TpeError with Error in the optimizer library
2026-01-30 19:24:58 +01:00
Manuel Raimann
eb57519506
feat: allow publishing with dirty workspace in CI
2026-01-30 19:23:32 +01:00
Manuel Raimann
cb5ecf33f0
chore: release v0.3.0
2026-01-30 19:21:54 +01:00
Manuel Raimann
3898136341
Refactor
2026-01-30 19:21:54 +01:00
Manuel Raimann
6a8a938b6e
feat: enhance publish step to handle already uploaded versions
2026-01-30 18:47:55 +01:00
Manuel Raimann
6912cc83d9
feat: add cross-target compilation checks in CI
2026-01-30 18:46:31 +01:00
Manuel Raimann
fae57e48f3
chore: release v0.2.0
2026-01-30 18:43:45 +01:00
Manuel Raimann
daab3ea202
Remove Serde
2026-01-30 18:43:45 +01:00
Manuel Raimann
aaf880e1c7
fix: remove unused dependency 'ordered-float' from Cargo.toml
2026-01-30 18:43:45 +01:00
Manuel Raimann
22527b5d5f
feat: add CI step for unused dependencies check with cargo-machete
2026-01-30 18:24:22 +01:00
Manuel Raimann
34d61bc544
feat: add CI step to publish to crates.io
2026-01-30 18:20:00 +01:00
Manuel Raimann
8f339a2341
feat: add default typo extension for 'Tpe'
2026-01-30 18:18:30 +01:00
Manuel Raimann
ee4999ce74
chore: release v0.1.1
v0.1.1
2026-01-30 18:13:32 +01:00
Manuel Raimann
39e8675988
refactor: Fix
2026-01-30 18:13:02 +01:00
Manuel Raimann
9fd6fbea1f
chore: release v0.1.0
2026-01-30 18:11:59 +01:00
Manuel Raimann
e2aae35093
refactor: remove Cargo.lock from release process
2026-01-30 18:10:10 +01:00
Manuel Raimann
2e96115db7
refactor: remove Miri job from CI configuration
2026-01-30 18:09:25 +01:00
Manuel Raimann
530faba61c
refactor: rename library from optimize to optimizer
2026-01-30 18:08:13 +01:00
Manuel Raimann
12d572025f
feat: add typos check job to CI with Rust installation and caching
2026-01-30 18:03:35 +01:00
Manuel Raimann
8a11dd8ca4
feat: enhance CI configuration with additional jobs for MSRV, Cargo Deny, Semver Check, Miri, Minimal Versions, and Typos
2026-01-30 18:02:36 +01:00
Manuel Raimann
d93f384f1e
feat: add scheduled CI workflow for Rust compilation and testing
2026-01-30 17:57:00 +01:00