Skip to content

Commit 12f25f0

Browse files
authored
Merge pull request #426 from ReactiveBayes/release-4.0
[DO NOT MERGE] Update version to 4.0.0
2 parents fffbe65 + 225903f commit 12f25f0

35 files changed

+10493
-5059
lines changed

.github/workflows/CI.yml

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,7 @@ jobs:
5353
fail-fast: false
5454
matrix:
5555
version:
56+
- '1.10'
5657
- '1.11'
5758
os:
5859
- ubuntu-latest
@@ -61,11 +62,14 @@ jobs:
6162
steps:
6263
- uses: actions/checkout@v4
6364
- uses: julia-actions/setup-julia@v2
65+
with:
66+
version: ${{ matrix.version }}
6467
- uses: julia-actions/cache@v2
6568
- uses: julia-actions/julia-buildpkg@v1
6669
- uses: julia-actions/julia-runtest@v1
6770
env:
6871
USE_DEV: "false"
72+
LOG_USING_RXINFER: "false"
6973
- uses: julia-actions/julia-processcoverage@v1
7074
- uses: codecov/codecov-action@v4
7175
with:
@@ -75,7 +79,7 @@ jobs:
7579
- name: Archive test artifacts
7680
uses: actions/upload-artifact@v4
7781
with:
78-
name: test-output
82+
name: test-output-${{ matrix.version }}-${{ matrix.os }}-${{ matrix.arch }}
7983
path: test/_output
8084
test-examples:
8185
name: Examples
@@ -91,10 +95,10 @@ jobs:
9195
repository: ReactiveBayes/RxInferExamples.jl
9296
path: RxInferExamples.jl
9397
- uses: julia-actions/setup-julia@v2
94-
with:
95-
version: '1.11'
9698
- uses: julia-actions/cache@v1
9799
- name: Build and test examples
100+
env:
101+
LOG_USING_RXINFER: "false"
98102
run: |
99103
julia -e 'using Pkg; Pkg.add("Weave"); Pkg.develop(path="RxInfer.jl"); Pkg.precompile()'
100104
cd RxInferExamples.jl
@@ -115,4 +119,5 @@ jobs:
115119
- run: make docs
116120
env:
117121
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
122+
LOG_USING_RXINFER: "false"
118123

Project.toml

Lines changed: 23 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,27 +1,34 @@
11
name = "RxInfer"
22
uuid = "86711068-29c9-4ff7-b620-ae75d7495b3d"
33
authors = ["Bagaev Dmitry <d.v.bagaev@tue.nl> and contributors"]
4-
version = "3.10.1"
4+
version = "4.0.0"
55

66
[deps]
77
BayesBase = "b4ee3484-f114-42fe-b91c-797d54a0c67e"
88
DataStructures = "864edb3b-99cc-5e75-8d2d-829cb0a9cfe8"
9+
Dates = "ade2ca70-3891-5945-98fb-dc099432e06a"
910
Distributions = "31c24e10-a181-5473-b8eb-7969acd0382f"
1011
DomainSets = "5b8099bc-c8ec-5219-889f-1d9e522a28bf"
1112
ExponentialFamily = "62312e5e-252a-4322-ace9-a5f4bf9b357b"
1213
FastCholesky = "2d5283b6-8564-42b6-bb00-83ed8e915756"
1314
GraphPPL = "b3f8163a-e979-4e85-b43e-1f63d8c8b42c"
15+
HTTP = "cd3eb016-35fb-5094-929b-558a96fad6f3"
16+
JSON = "682c06a0-de6a-54ab-a142-c8b1cf79cde6"
1417
LinearAlgebra = "37e2e46d-f89d-539d-b4ee-838fcccc9c8e"
18+
Logging = "56ddb016-857b-54e1-b83d-db4d58db5568"
1519
MacroTools = "1914dd2f-81c6-5fcd-8719-6d5c9610ff09"
1620
Optim = "429524aa-4258-5aef-a3af-852621145aeb"
21+
Preferences = "21216c6a-2e73-6563-6e65-726566657250"
1722
PrettyTables = "08abe8d2-0d0c-5749-adfa-8a2ac140af0d"
1823
ProgressMeter = "92933f4c-e287-5a05-a399-4b506db050ca"
1924
Random = "9a3f8284-a2c9-5f02-9a11-845980a1fd5c"
2025
ReactiveMP = "a194aa59-28ba-4574-a09c-4a745416d6e3"
2126
Reexport = "189a3867-3050-52da-a836-e630ba90ab69"
2227
Rocket = "df971d30-c9d6-4b37-b8ff-e965b2cb3a40"
2328
Static = "aedffcd0-7271-4cad-89d0-dc628f76c6d3"
29+
Statistics = "10745b16-79ce-11e8-11f9-7d13ad32a3b2"
2430
TupleTools = "9d95972d-f1c8-5527-a6e0-b4b365fa01f6"
31+
UUIDs = "cf7118a7-6976-5b1a-9a39-7adc72f591a4"
2532

2633
[weakdeps]
2734
ExponentialFamilyProjection = "17f509fa-9a96-44ba-99b2-1c5f01f0931b"
@@ -30,25 +37,33 @@ ExponentialFamilyProjection = "17f509fa-9a96-44ba-99b2-1c5f01f0931b"
3037
ProjectionExt = "ExponentialFamilyProjection"
3138

3239
[compat]
33-
BayesBase = "1.1"
40+
BayesBase = "1.5.0"
3441
DataStructures = "0.18"
42+
Dates = "1.10"
3543
Distributions = "0.25"
3644
DomainSets = "0.5.2, 0.6, 0.7"
37-
ExponentialFamily = "1.5"
38-
ExponentialFamilyProjection = "1.3.1"
45+
ExponentialFamily = "2.0.0"
46+
ExponentialFamilyProjection = "2.0.0"
3947
FastCholesky = "1.3.0"
4048
GraphPPL = "~4.6.0"
49+
HTTP = "1.10"
50+
JSON = "0.21.4"
4151
LinearAlgebra = "1.9"
52+
Logging = "1.10.0"
4253
MacroTools = "0.5.6"
4354
Optim = "1.0.0"
44-
PrettyTables = "2.4"
55+
Preferences = "1.4.3"
56+
PrettyTables = "2"
4557
ProgressMeter = "1.0.0"
4658
Random = "1.9"
47-
ReactiveMP = "~4.6.0"
59+
ReactiveMP = "~5.0.0"
4860
Reexport = "1.2.0"
4961
Rocket = "1.8.0"
5062
Static = "0.8.10, 1"
63+
Statistics = "1.10"
64+
TOML = "1.0.3"
5165
TupleTools = "1.2.0"
66+
UUIDs = "1.10"
5267
julia = "1.10"
5368

5469
[extras]
@@ -69,8 +84,9 @@ Plots = "91a5bcdd-55d7-5caf-9e0b-520d859cae80"
6984
ReTestItems = "817f1d60-ba6b-4fd5-9520-3cf149f6a823"
7085
StableRNGs = "860ef19b-820b-49d6-a774-d7a799459cd3"
7186
StatsFuns = "4c63d2b9-4356-54db-8cca-17b64c39e42c"
87+
TOML = "fa267f1f-6049-4f14-aa54-33bafae1ed76"
7288
Test = "8dfed614-e22c-5e08-85e1-65c5234f0b40"
7389
TestSetExtensions = "98d24dd4-01ad-11ea-1b02-c9a08f80db04"
7490

7591
[targets]
76-
test = ["Test", "Pkg", "Logging", "InteractiveUtils", "TestSetExtensions", "Coverage", "CpuId", "Dates", "Distributed", "Documenter", "ExponentialFamilyProjection", "Plots", "BenchmarkTools", "PkgBenchmark", "Aqua", "StableRNGs", "StatsFuns", "Optimisers", "ReTestItems"]
92+
test = ["Test", "Pkg", "Logging", "InteractiveUtils", "TestSetExtensions", "TOML", "Coverage", "CpuId", "Dates", "Distributed", "Documenter", "ExponentialFamilyProjection", "Plots", "BenchmarkTools", "PkgBenchmark", "Aqua", "StableRNGs", "StatsFuns", "Optimisers", "ReTestItems"]

README.md

Lines changed: 31 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,9 @@ Turing comparison | Scalability performance
2626
:-------------------------:|:-------------------------:
2727
![](benchmarks/plots/lgssm_comparison.svg?raw=true&sanitize=true) | ![](benchmarks/plots/lgssm_scaling.svg?raw=true&sanitize=true)
2828

29+
> [!NOTE]
30+
> See many more examples in the [RxInferExamples.jl](https://reactivebayes.github.io/RxInferExamples.jl/) repository.
31+
2932
### Faster inference with better results
3033

3134
RxInfer.jl not only beats generic-purpose Bayesian inference methods in conjugate models, executes faster, and scales better, but also provides more accurate results. Check out the [documentation](https://reactivebayes.github.io/RxInfer.jl/stable/examples/overview/) for more examples!
@@ -60,9 +63,6 @@ Optionally, use `] test RxInfer` to validate the installation by running the tes
6063

6164
For more information about `RxInfer.jl` please refer to the [documentation](https://reactivebayes.github.io/RxInfer.jl/stable/).
6265

63-
> [!NOTE]
64-
> `RxInfer.jl` API has been changed in version `3.0.0`. See [Migration Guide](https://reactivebayes.github.io/RxInfer.jl/stable/manuals/migration-guide-v2-v3) for more details.
65-
6666
# Getting Started
6767

6868
> [!NOTE]
@@ -144,9 +144,6 @@ end
144144

145145
As you can see, `RxInfer` in combination with `GraphPPL` offers a model specification syntax that resembles closely to the mathematical equations defined above.
146146

147-
> [!NOTE]
148-
> `GraphPPL.jl` API has been changed in version `4.0.0`. See [Migration Guide](https://reactivebayes.github.io/GraphPPL.jl/stable/) for more details.
149-
150147
### Inference specification
151148

152149
Once we have defined our model, the next step is to use `RxInfer` API to infer quantities of interests. To do this we can use a generic `infer` function from `RxInfer.jl` that supports static datasets.
@@ -174,10 +171,11 @@ For a more granular view of our progress and ongoing tasks, check out our [proje
174171

175172
## Ecosystem
176173

177-
The `RxInfer` framework consists of three *core* packages developed by [ReactiveBayes](https://github.com/reactivebayes/):
174+
The `RxInfer` framework consists of four *core* packages developed by [ReactiveBayes](https://github.com/reactivebayes/):
178175

179176
- [`ReactiveMP.jl`](https://github.com/reactivebayes/ReactiveMP.jl) - the underlying message passing-based inference engine
180177
- [`GraphPPL.jl`](https://github.com/reactivebayes/GraphPPL.jl) - model and constraints specification package
178+
- [`ExponentialFamily.jl`](https://github.com/reactivebayes/ExponentialFamily.jl) - package for exponential family distributions
181179
- [`Rocket.jl`](https://github.com/reactivebayes/Rocket.jl) - reactive extensions package for Julia
182180

183181
# Where to go next?
@@ -227,6 +225,32 @@ Also check out the recorded presentation at the Julia User Group Munich meetup f
227225
</p>
228226

229227

228+
# Telemetry
229+
230+
RxInfer collects completely anonymous telemetry data regarding package usage. This information helps us understand how RxInfer is used and shapes our roadmap to prioritize features and improvements. The telemetry:
231+
- Does not collect any code, data, or environment information, only the fact of `using RxInfer` once per Julia session
232+
- Entirely anonymous
233+
- (Opt-out) Can be disabled for a single Julia session or permanently
234+
235+
You can learn more about it and how to opt-out by visiting our [documentation](https://reactivebayes.github.io/RxInfer.jl/stable/).
236+
237+
## Session Sharing
238+
239+
RxInfer includes an optional session sharing feature that can help us provide better support and improve the package. When you encounter an issue, you can share your session data with us, which includes:
240+
- Model source code and metadata
241+
- Input data characteristics (no actual data)
242+
- Execution timing and success rates
243+
- Error information (if any)
244+
- Environment information (Julia version, OS, etc.)
245+
246+
This information is invaluable for debugging issues and improving RxInfer. Session sharing is:
247+
- Completely optional and disabled by default
248+
- Entirely anonymous
249+
- Only shared when you explicitly choose to do so
250+
- (Opt-in) Can be enabled to send reports automatically when an error occurs. When enabled, still entirely anonymous.
251+
252+
If you're opening a GitHub issue, we encourage you to share your session ID with us - it helps us understand your use case better and provide more accurate support. Learn more about session sharing and how to opt-in in our [documentation](https://reactivebayes.github.io/RxInfer.jl/stable/).
253+
230254
# License
231255

232256
[MIT License](LICENSE) Copyright (c) 2021-2024 BIASlab, 2024-present ReactiveBayes

benchmarks/Linear Multivariate Gaussian State Space Model Benchmark.ipynb

Lines changed: 3881 additions & 1118 deletions
Large diffs are not rendered by default.

0 commit comments

Comments
 (0)