Skip to content

Commit f46afbf

Browse files
bvdmitrifonspgithub-actions[bot]
authored
Release 6 (#600)
* add Changelog * Implement event handler system for message passing and callbacks (#587) * feat: add event handler system for message passing procedure Introduce a new event handler mechanism that allows users to hook into the message passing procedure via `Event`, `handle_event`, and `broadcast_event` functions. Events are broadcast before and after message rule calls, enabling debugging and monitoring capabilities. Key changes: - Add `event_handler.jl` with event types and handler interfaces - Extend `MessageMapping` to include an event handler parameter - Support both custom handler types and NamedTuple-based handlers - Add documentation for the events system - Include comprehensive tests for event handler functionality * type in docstring * inject the event handler in the factor node activation options * make format * document the existing events better * rename event handler to callbacks to better match RxInfer * update docs * use make format * fix typo * allow to merge callbacks * allow reduce the result of the callbacks * add per-event callback reducer * make format * remove test method * start reimplement of the product of two messages this is required to inject the callbacks properly, plus we do the breaking release already. Could break (and improve) more things as well then * fix initial integration with RxInfer.jl * fix Aqua tests * caught a small bug in RxInfer tests * caught another bug from RxInfer.jl tests * merge stricter formatting * Refactor the variables, add docstrings, add labels - `compute_product_of_messages` now accepts the `AbstractVariable`, makes it easier to identify the variable inside the callback * fix documentation build * 2prev * add before/after product of two messages callbacks * fix failing tests * add before/after product of messages callbacks. add before/after form constraints * add before/after marginal compute callbacks * add error hint in case of wrong passed callbacks * fix test * temporary fix for the logscale switch rule * support Dict as callback handler * fix warnings in the tests * make format * refactor to use an abstract Event{E} structure * add new method for event_name * use mutable fields instead * update CHANGELOG * Trace ID to link before and after events (#589) * Trace ID to link before and after events * Add allocations test * disable some allocation tests on old julia versions * Change sqrt to + and remove version check * only check on julia 1.12 again * Better trace ids (#595) * create IDs only if callbacks are set * fix one failing test * make format * Refactor addon system to annotations (#596) * save plan * update * refine the plan * refine plan 2 * implement post_product/post_rule annotations infrastructure * reimplement the memory addon, remove old implementation * commit new file * make format * update plan * refactor the message.jl and message_tests.jl * update marginals.jl and marginal_tests.jl * remove old bridge functions * refactor the rule macro and the rule generating expression * refactor the nodes and tests * fix remaining places where addons were used * fix a lot of tests by hand * fix more tests by hand * update the plan * finish the refactor, update the documentation with migration guide, update CHANGELOG * fix from RxInfer * fix bugs caught in RxInfer * fix documentation build * add pretty output for input argument records * 🤖 Auto-format Julia code (#597) Co-authored-by: bvdmitri <6557701+bvdmitri@users.noreply.github.com> --------- Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: bvdmitri <6557701+bvdmitri@users.noreply.github.com> * checkpoint * checkpoint * checkpoint * make format * fix some tests by hand * fix more tests by hand * local update * fix more tests * rename vague messagein/messageout * make format * major documentation upgrade * update the CHANGELOG and migration guide * structural documentation update, add concepts * improve documentation for existing pages about specific nodes * update helpers documentation * add concepts pages * finish the documentation overhaul * update the docs * update the version to 6.0.0 * rename pipeline to stream postprocessors * update the scheduler to use stream postprocessors instead * add postprocess marginal stream * simplify API even further * update docs * make format * fix typo in mixture nodes * update * add pre_rule_annotations * add logo, update README.md * make logo half the size in README --------- Co-authored-by: Fons van der Plas <fonsvdplas@gmail.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: bvdmitri <6557701+bvdmitri@users.noreply.github.com>
1 parent 5a1236e commit f46afbf

135 files changed

Lines changed: 7360 additions & 2519 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/workflows/Changelog.yml

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
name: Check CHANGELOG.md
2+
on:
3+
pull_request:
4+
types: [assigned, opened, synchronize, reopened, labeled, unlabeled]
5+
branches:
6+
- main
7+
jobs:
8+
check-changelog:
9+
name: Check Changelog Action
10+
runs-on: ubuntu-latest
11+
steps:
12+
- uses: tarides/changelog-check-action@v2
13+
with:
14+
changelog: CHANGELOG.md

CHANGELOG.md

Lines changed: 228 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,228 @@
1+
# Changelog
2+
3+
All notable changes to ReactiveMP.jl will be documented in this file.
4+
5+
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
6+
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7+
8+
## [Unreleased]
9+
10+
## [6.0.0]
11+
12+
### Added
13+
- `AbstractStreamPostprocessor` abstraction unifying the old pipeline stages and the per-node `scheduler` argument under a single concept that postprocesses outbound message streams, marginal streams, and score streams uniformly
14+
- `postprocess_stream_of_outbound_messages`, `postprocess_stream_of_marginals`, `postprocess_stream_of_scores` entry points with `::Nothing` pass-through fallbacks
15+
- `CompositeStreamPostprocessor` for chaining multiple postprocessors
16+
- `ScheduleOnStreamPostprocessor` — direct successor of `ScheduleOnPipelineStage` plus the per-node scheduler, applies a Rocket.jl scheduler to all three stream kinds
17+
- Marginal streams and score streams now go through stream postprocessors (previously only outbound message streams did)
18+
- Documentation page for stream postprocessors
19+
- Callback/event system for hooking into message passing steps (rule calls, message products, form constraints, marginal computation)
20+
- `MessageProductContext` struct to bundle product computation settings and callbacks
21+
- Labels for variables (`RandomVariable`, `ConstVariable`, `DataVariable`)
22+
- Docstrings for variable types, form constraints, and related functions
23+
- Documentation page for callbacks
24+
- `MethodError` hint for mismatched `handle_event` signatures
25+
- New annotations system: `AnnotationDict`, `AbstractAnnotations`, `LogScaleAnnotations`, `InputArgumentsAnnotations`
26+
- `post_rule_annotations!` and `post_product_annotations!` callbacks for annotation processors
27+
- `@logscale value` macro for setting log-scale annotations inside `@rule` bodies
28+
- `getannotations` function for `Message` and `Marginal`
29+
- Migration guide for v5 to v6
30+
- `skip_initial()`, `skip_clamped()`, `skip_clamped_and_initial()` filter operators replacing the `MarginalSkipStrategy` type hierarchy
31+
- `new_observation!(datavar, value)` for pushing observed values into a `DataVariable`
32+
- `get_stream_of_inbound_messages`, `get_stream_of_outbound_messages` accessors on `NodeInterface` and `IndexedNodeInterface`
33+
- `get_stream_of_marginals`, `set_stream_of_marginals!` accessors on variables
34+
- `get_stream_of_predictions`, `set_stream_of_predictions!` accessors on variables
35+
- `set_initial_marginal!`, `set_initial_message!` for seeding variables before inference
36+
- `create_new_stream_of_inbound_messages!` for allocating per-connection message streams
37+
- Docstrings for `MessageObservable`, `MarginalObservable`, `FunctionalDependencies`, `collect_functional_dependencies`, `RandomVariableActivationOptions`, `DataVariableActivationOptions`, `FactorNodeActivationOptions`, and `activate!` methods
38+
- Expanded documentation for variables (stream creation lifecycle per variable type), nodes (interfaces, activation), messages, and marginals
39+
40+
### Changed
41+
- `FactorNodeActivationOptions` lost its `pipeline` and `scheduler` positional fields and gained a single `postprocessor` field
42+
- `RandomVariableActivationOptions` renamed its `scheduler` field to `stream_postprocessor`; the default is now `nothing` (no-op) instead of `AsapScheduler()`
43+
- `getpipeline(options)` and `getscheduler(options)` replaced by `getpostprocessor(options)`
44+
- `EqualityChain` renamed its `pipeline` field to `postprocessor`
45+
- Switched from `ReTestItems` to `TestItemRunner` for tests ([#584](https://github.com/ReactiveBayes/ReactiveMP.jl/pull/584))
46+
- Made formatting checks stricter
47+
- Removed `variables/generic.jl`; generic variable interface moved into `variable.jl`
48+
- Replaced hardcoded `DefaultMessageProdFn`/`DefaultMarginalProdFn` with `MessageProductContext`
49+
- `Message{D, A}``Message{D}` (type parameter `A` removed)
50+
- `Marginal{D, A}``Marginal{D}` (type parameter `A` removed)
51+
- `Message` and `Marginal` now carry an `AnnotationDict` instead of a typed addons tuple
52+
- Rules no longer return `(result, addons)` tuples — just the result
53+
- `@call_rule` no longer supports `return_addons` option; use `annotations` keyword with `AnnotationDict`
54+
- `MessageMapping.addons` field → `MessageMapping.annotations`
55+
- `MessageProductContext` gained `annotations` field for product-time annotation processors
56+
- `messagein(interface)``get_stream_of_inbound_messages(interface)`
57+
- `messageout(interface)``get_stream_of_outbound_messages(interface)`
58+
- `getmarginal(variable)` / `getmarginals``get_stream_of_marginals(variable)`
59+
- `getprediction(variable)` / `getpredictions``get_stream_of_predictions(variable)`
60+
- `setmarginal!(variable, value)``set_initial_marginal!(variable, value)`
61+
- `setmessage!(variable, value)``set_initial_message!(variable, value)`
62+
- `update!(datavar, value)``new_observation!(datavar, value)`
63+
64+
### Removed
65+
- `AbstractPipelineStage`, `EmptyPipelineStage`, `CompositePipelineStage`, `ScheduleOnPipelineStage`, `apply_pipeline_stage`, `collect_pipeline`, `+` composition — replaced by the `AbstractStreamPostprocessor` abstraction (see migration guide)
66+
- `LoggerPipelineStage` — equivalent behaviour can be implemented via callbacks
67+
- `AsyncPipelineStage` — use `ScheduleOnStreamPostprocessor(AsyncScheduler())` instead
68+
- `DiscontinuePipelineStage` — was unused; implement a custom `AbstractStreamPostprocessor` if needed
69+
- `schedule_updates(vars; pipeline_stage = ...)` — construct a `ScheduleOnStreamPostprocessor` and pass it through the activation options instead
70+
- `getaddons` — use `getannotations` instead
71+
- `getlogscale(::Message)`, `getlogscale(::Marginal)` — use `getlogscale(getannotations(...))` instead
72+
- `getmemory`, `getmemoryaddon` — use `get_rule_input_arguments(getannotations(...))` instead
73+
- `AddonLogScale` — replaced by `LogScaleAnnotations` (calling `AddonLogScale()` throws a descriptive error)
74+
- `AddonMemory` — replaced by `InputArgumentsAnnotations` (calling `AddonMemory()` throws a descriptive error)
75+
- `AddonDebug` — use callbacks instead
76+
- `AbstractAddon`, `multiply_addons`, `@invokeaddon`
77+
- `message_mapping_addons`, `message_mapping_addon` helper functions
78+
- `MarginalSkipStrategy` abstract type and `SkipClamped`, `SkipInitial`, `SkipClampedAndInitial`, `IncludeAll` subtypes — use `skip_clamped()`, `skip_initial()`, `skip_clamped_and_initial()` filter operators instead
79+
- `apply_skip_filter`, `as_marginal_observable` — no longer part of the public API
80+
- `messagein`, `messageout` — use `get_stream_of_inbound_messages`, `get_stream_of_outbound_messages`
81+
- `getmarginal`, `getmarginals`, `getprediction`, `getpredictions` — use `get_stream_of_marginals`, `get_stream_of_predictions`
82+
- `setmarginal!`, `setmarginals!`, `setmessage!`, `setmessages!` — use `set_initial_marginal!`, `set_initial_message!`
83+
- `update!` — use `new_observation!`
84+
- `create_messagein!` — use `create_new_stream_of_inbound_messages!`
85+
86+
## [5.6.6] - 2026-03-13
87+
88+
### Fixed
89+
- Implemented effective rules with specialized dispatch for `MvNormalMeanScalePrecision` ([#579](https://github.com/ReactiveBayes/ReactiveMP.jl/pull/579))
90+
91+
### Tests
92+
- Added performance test for structured rule specialized for `MvNormalMeanScalePrecision`
93+
94+
## [5.6.5] - 2026-02-02
95+
96+
### Added
97+
- Implemented `MvNormalWishart` node and `out` rule ([#565](https://github.com/ReactiveBayes/ReactiveMP.jl/pull/565))
98+
- Issue templates ([#558](https://github.com/ReactiveBayes/ReactiveMP.jl/pull/558))
99+
- Rule interface name checking for `@rule`, `@marginalrule`, and `@average_energy` macros ([#545](https://github.com/ReactiveBayes/ReactiveMP.jl/pull/545))
100+
101+
### Changed
102+
- Removed `Requires` dependency (used for Julia <1.9, no longer supported) ([#564](https://github.com/ReactiveBayes/ReactiveMP.jl/pull/564))
103+
- Removed vibe coded required fields from issue template ([#562](https://github.com/ReactiveBayes/ReactiveMP.jl/pull/562))
104+
- Bumped compat for Optim to 2 ([#574](https://github.com/ReactiveBayes/ReactiveMP.jl/pull/574))
105+
- Removed `Zygote` extension requirement for compatibility
106+
107+
### Fixed
108+
- Fixed documentation build ([#567](https://github.com/ReactiveBayes/ReactiveMP.jl/pull/567))
109+
110+
### Performance
111+
- Pre-computed double loops in CT model ([#571](https://github.com/ReactiveBayes/ReactiveMP.jl/pull/571))
112+
113+
## [5.6.4] - 2025-11-18
114+
115+
### Fixed
116+
- Fixed bug in average energy of `Uninformative` type ([#553](https://github.com/ReactiveBayes/ReactiveMP.jl/pull/553))
117+
- Improved robustness of inverse precision matrix computation in `MvNormalMeanPrecision` rule ([#540](https://github.com/ReactiveBayes/ReactiveMP.jl/pull/540))
118+
119+
### Documentation
120+
- Added `MessageMapping` documentation ([#550](https://github.com/ReactiveBayes/ReactiveMP.jl/pull/550))
121+
122+
## [5.6.3] - 2025-11-04
123+
124+
### Added
125+
- Added `IntegrationTest.yml` workflow ([#525](https://github.com/ReactiveBayes/ReactiveMP.jl/pull/525))
126+
- Implemented missing marginal rule for multiplication node ([#531](https://github.com/ReactiveBayes/ReactiveMP.jl/pull/531))
127+
128+
### Changed
129+
- Changed dispatch to `AbstractVector` to allow other vector implementations ([#536](https://github.com/ReactiveBayes/ReactiveMP.jl/pull/536))
130+
131+
### Fixed
132+
- Renamed softdot marginal rules test file to include it in test runs ([#535](https://github.com/ReactiveBayes/ReactiveMP.jl/pull/535))
133+
- Avoided `Vararg` deprecation warnings ([#537](https://github.com/ReactiveBayes/ReactiveMP.jl/pull/537))
134+
- Defined `AverageEnergy` for `Mixture` node with warning ([#546](https://github.com/ReactiveBayes/ReactiveMP.jl/pull/546))
135+
- Allowed different numeric types for `GammaShapeLikelihood` constructor ([#544](https://github.com/ReactiveBayes/ReactiveMP.jl/pull/544))
136+
137+
### Tests
138+
- Improved code coverage with tests for BIFM, Autoregressive, Mixture, GammaMixture, Wishart, InverseWishart, DotProduct, Multiplication, and Uniform nodes ([#539](https://github.com/ReactiveBayes/ReactiveMP.jl/pull/539))
139+
140+
## [5.6.2] - 2025-10-21
141+
142+
### Fixed
143+
- Fixed `isonehot` to use approximate comparison for categorical rules ([#527](https://github.com/ReactiveBayes/ReactiveMP.jl/pull/527))
144+
145+
## [5.6.1] - 2025-10-21
146+
147+
### Added
148+
- Categorical rules: check if probability vector of `q_out` is a one-hot encoded vector ([#510](https://github.com/ReactiveBayes/ReactiveMP.jl/pull/510))
149+
- Support for non-linear node (univariate -> multivariate) with Unscented transform ([#508](https://github.com/ReactiveBayes/ReactiveMP.jl/pull/508))
150+
151+
### Changed
152+
- Updated `ForwardDiff` to version 1 ([#521](https://github.com/ReactiveBayes/ReactiveMP.jl/pull/521))
153+
- Skip Aqua.jl checks during selective test runs ([#523](https://github.com/ReactiveBayes/ReactiveMP.jl/pull/523))
154+
- Makefile: fixed selective test runs with `test_args` argument ([#517](https://github.com/ReactiveBayes/ReactiveMP.jl/pull/517))
155+
156+
### Fixed
157+
- Updated documentation for `as_marginal` ([#516](https://github.com/ReactiveBayes/ReactiveMP.jl/pull/516))
158+
- Updated test cases for `GammaShapeScale`
159+
160+
## [5.6.0] - 2025-09-23
161+
162+
### Changed
163+
- Use `MvNormalMeanScaleMatrixPrecision` from ExponentialFamily package ([#509](https://github.com/ReactiveBayes/ReactiveMP.jl/pull/509))
164+
165+
## [5.5.12] - 2025-09-11
166+
167+
### Fixed
168+
- Fixed `q_t1` dimensionality bug in delta node rules ([#504](https://github.com/ReactiveBayes/ReactiveMP.jl/pull/504))
169+
170+
## [5.5.11] - 2025-09-10
171+
172+
### Added
173+
- Implemented `MvNormalMeanScaleMatrixPrecision` rules ([#497](https://github.com/ReactiveBayes/ReactiveMP.jl/pull/497))
174+
175+
## [5.5.10] - 2025-09-09
176+
177+
### Fixed
178+
- Added new linearization method ([#500](https://github.com/ReactiveBayes/ReactiveMP.jl/pull/500))
179+
180+
## [5.5.9] - 2025-08-14
181+
182+
### Changed
183+
- Reverted "Don't check for proper in division of" ([#496](https://github.com/ReactiveBayes/ReactiveMP.jl/pull/496))
184+
185+
## [5.5.8] - 2025-08-14
186+
187+
### Added
188+
- Show meta suggestions in rule error printing ([#495](https://github.com/ReactiveBayes/ReactiveMP.jl/pull/495))
189+
190+
### Changed
191+
- Tightened dispatch for summation and other optimized rules ([#492](https://github.com/ReactiveBayes/ReactiveMP.jl/pull/492), [#493](https://github.com/ReactiveBayes/ReactiveMP.jl/pull/493))
192+
193+
### Fixed
194+
- Don't check for proper in division of to accommodate inference ([#486](https://github.com/ReactiveBayes/ReactiveMP.jl/pull/486))
195+
196+
## [5.5.7] - 2025-07-24
197+
198+
### Fixed
199+
- Fixed infinite RxInfer documentation build by not using lazy string ([#490](https://github.com/ReactiveBayes/ReactiveMP.jl/pull/490))
200+
201+
## [5.5.6] - 2025-07-23
202+
203+
### Fixed
204+
- Fixed invalidations: removed bad `eltype` methods, `convert`, and `println` method ([#489](https://github.com/ReactiveBayes/ReactiveMP.jl/pull/489))
205+
206+
## [5.5.5] - 2025-07-23
207+
208+
### Fixed
209+
- Resolved Gaussian division with proper Multivariate vs Univariate handling ([#479](https://github.com/ReactiveBayes/ReactiveMP.jl/pull/479))
210+
211+
---
212+
213+
[Unreleased]: https://github.com/ReactiveBayes/ReactiveMP.jl/compare/v5.6.6...HEAD
214+
[5.6.6]: https://github.com/ReactiveBayes/ReactiveMP.jl/compare/v5.6.5...v5.6.6
215+
[5.6.5]: https://github.com/ReactiveBayes/ReactiveMP.jl/compare/v5.6.4...v5.6.5
216+
[5.6.4]: https://github.com/ReactiveBayes/ReactiveMP.jl/compare/v5.6.3...v5.6.4
217+
[5.6.3]: https://github.com/ReactiveBayes/ReactiveMP.jl/compare/v5.6.2...v5.6.3
218+
[5.6.2]: https://github.com/ReactiveBayes/ReactiveMP.jl/compare/v5.6.1...v5.6.2
219+
[5.6.1]: https://github.com/ReactiveBayes/ReactiveMP.jl/compare/v5.6.0...v5.6.1
220+
[5.6.0]: https://github.com/ReactiveBayes/ReactiveMP.jl/compare/v5.5.12...v5.6.0
221+
[5.5.12]: https://github.com/ReactiveBayes/ReactiveMP.jl/compare/v5.5.11...v5.5.12
222+
[5.5.11]: https://github.com/ReactiveBayes/ReactiveMP.jl/compare/v5.5.10...v5.5.11
223+
[5.5.10]: https://github.com/ReactiveBayes/ReactiveMP.jl/compare/v5.5.9...v5.5.10
224+
[5.5.9]: https://github.com/ReactiveBayes/ReactiveMP.jl/compare/v5.5.8...v5.5.9
225+
[5.5.8]: https://github.com/ReactiveBayes/ReactiveMP.jl/compare/v5.5.7...v5.5.8
226+
[5.5.7]: https://github.com/ReactiveBayes/ReactiveMP.jl/compare/v5.5.6...v5.5.7
227+
[5.5.6]: https://github.com/ReactiveBayes/ReactiveMP.jl/compare/v5.5.5...v5.5.6
228+
[5.5.5]: https://github.com/ReactiveBayes/ReactiveMP.jl/compare/v5.5.4...v5.5.5

CONTRIBUTING.md

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
# Contributing to ReactiveMP
2+
3+
**ReactiveMP.jl** is a community-driven reactive message passing engine and we welcome contributions of all kinds!
4+
5+
ReactiveMP is part of the [ReactiveBayes](https://github.com/ReactiveBayes) organization and the broader [RxInfer](https://github.com/ReactiveBayes/RxInfer.jl) ecosystem for reactive Bayesian inference in Julia.
6+
7+
## Getting Started
8+
9+
* Browse **beginner-friendly issues**: https://github.com/ReactiveBayes/ReactiveMP.jl/issues?q=is%3Aopen+is%3Aissue+label%3A%22good+first+issue%22
10+
* Check out the [RxInfer Contributing Guide](https://docs.rxinfer.com/stable/contributing/guide) for general conventions shared across the ecosystem
11+
12+
We welcome contributions such as:
13+
14+
* Bug reports and fixes
15+
* New message passing rules and nodes
16+
* Documentation improvements
17+
* Tests and performance improvements
18+
* Feature suggestions
19+
20+
## Development Workflow
21+
22+
1. Fork the repository and create a feature branch
23+
2. Make your changes and ensure tests pass locally with `make test`
24+
3. Run `make format` to ensure consistent code formatting
25+
4. Open a pull request against `main` — the CI will check tests, formatting, and that `CHANGELOG.md` has been updated
26+
27+
## Contributing to the RxInfer Ecosystem
28+
29+
ReactiveMP is one of several packages in the RxInfer ecosystem. Contributions to any of these projects are very welcome:
30+
31+
- [RxInfer.jl](https://github.com/ReactiveBayes/RxInfer.jl) — the high-level inference package
32+
- [GraphPPL.jl](https://github.com/ReactiveBayes/GraphPPL.jl) — probabilistic model specification
33+
- [ExponentialFamily.jl](https://github.com/ReactiveBayes/ExponentialFamily.jl) — exponential family distributions
34+
- Browse other packages at https://github.com/ReactiveBayes
35+
36+
If you're unsure where to start or where a contribution belongs, feel free to open an issue or start a discussion.
37+
38+
Thank you for helping improve ReactiveMP!

Project.toml

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
name = "ReactiveMP"
22
uuid = "a194aa59-28ba-4574-a09c-4a745416d6e3"
3-
version = "5.6.6"
43
authors = ["Dmitry Bagaev <d.v.bagaev@tue.nl>", "Albert Podusenko <a.podusenko@tue.nl>", "Bart van Erp <b.v.erp@tue.nl>", "Ismail Senoz <i.senoz@tue.nl>"]
4+
version = "6.0.0"
55

66
[deps]
77
BayesBase = "b4ee3484-f114-42fe-b91c-797d54a0c67e"
@@ -30,6 +30,7 @@ StatsFuns = "4c63d2b9-4356-54db-8cca-17b64c39e42c"
3030
TinyHugeNumbers = "783c9a47-75a3-44ac-a16b-f1ab7b3acf04"
3131
Tullio = "bc48ee85-29a4-5162-ae0b-a64e1601d4bc"
3232
TupleTools = "9d95972d-f1c8-5527-a6e0-b4b365fa01f6"
33+
UUIDs = "cf7118a7-6976-5b1a-9a39-7adc72f591a4"
3334

3435
[weakdeps]
3536
ExponentialFamilyProjection = "17f509fa-9a96-44ba-99b2-1c5f01f0931b"
@@ -68,6 +69,7 @@ StatsFuns = "1.3.0"
6869
TinyHugeNumbers = "1.0.0"
6970
Tullio = "0.3"
7071
TupleTools = "1.2.0"
72+
UUIDs = "1"
7173
julia = "1.10"
7274

7375
[extras]
@@ -87,9 +89,9 @@ Optimisers = "3bd65402-5787-11e9-1adc-39752487f4e2"
8789
Pkg = "44cfe95a-1eb2-52ea-b672-e2afdf69b78f"
8890
PkgBenchmark = "32113eaa-f34f-5b0d-bd6c-c81e245fc73d"
8991
REPL = "3fa0cd96-eef1-5676-8a61-b3b8758bbffb"
90-
TestItemRunner = "f8b46487-2199-4994-9208-9a1283c18c0a"
9192
StableRNGs = "860ef19b-820b-49d6-a774-d7a799459cd3"
9293
Test = "8dfed614-e22c-5e08-85e1-65c5234f0b40"
94+
TestItemRunner = "f8b46487-2199-4994-9208-9a1283c18c0a"
9395

9496
[targets]
9597
test = ["Aqua", "TestItemRunner", "Test", "Pkg", "Logging", "InteractiveUtils", "Coverage", "Dates", "Distributed", "Documenter", "BenchmarkTools", "JET", "PkgBenchmark", "StableRNGs", "Optimisers", "DiffResults", "ExponentialFamilyProjection", "REPL", "Manopt"]

0 commit comments

Comments
 (0)