millwright 0.2.1__tar.gz → 2.2.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- millwright-2.2.0/.cargo/audit.toml +5 -0
- {millwright-0.2.1 → millwright-2.2.0}/.github/workflows/ci.yml +45 -18
- {millwright-0.2.1 → millwright-2.2.0}/.github/workflows/release-python.yml +20 -1
- {millwright-0.2.1 → millwright-2.2.0}/CHANGELOG.md +4 -3
- {millwright-0.2.1 → millwright-2.2.0}/Cargo.lock +107 -80
- {millwright-0.2.1 → millwright-2.2.0}/Cargo.toml +7 -5
- {millwright-0.2.1 → millwright-2.2.0}/GUIDE.md +1 -1
- {millwright-0.2.1 → millwright-2.2.0}/PKG-INFO +4 -7
- {millwright-0.2.1 → millwright-2.2.0}/README.md +3 -6
- {millwright-0.2.1 → millwright-2.2.0}/guide.html +3 -2
- {millwright-0.2.1 → millwright-2.2.0}/index.html +3 -3
- {millwright-0.2.1 → millwright-2.2.0}/pyproject.toml +1 -1
- {millwright-0.2.1 → millwright-2.2.0}/src/automl.rs +48 -2
- {millwright-0.2.1 → millwright-2.2.0}/src/backends/smartcore.rs +30 -11
- {millwright-0.2.1 → millwright-2.2.0}/src/evaluate.rs +29 -4
- {millwright-0.2.1 → millwright-2.2.0}/src/explain.rs +3 -0
- {millwright-0.2.1 → millwright-2.2.0}/src/lib.rs +1 -1
- {millwright-0.2.1 → millwright-2.2.0}/src/monitor.rs +52 -9
- {millwright-0.2.1 → millwright-2.2.0}/src/profile.rs +3 -0
- {millwright-0.2.1 → millwright-2.2.0}/src/python.rs +15 -15
- {millwright-0.2.1 → millwright-2.2.0}/src/registry.rs +195 -39
- {millwright-0.2.1 → millwright-2.2.0}/src/selection/mod.rs +3 -0
- {millwright-0.2.1 → millwright-2.2.0}/src/selection/scoring.rs +21 -14
- {millwright-0.2.1 → millwright-2.2.0}/src/serve.rs +139 -10
- millwright-2.2.0/tests/python_smoke.py +29 -0
- {millwright-0.2.1 → millwright-2.2.0}/.github/workflows/release-crate.yml +0 -0
- {millwright-0.2.1 → millwright-2.2.0}/.gitignore +0 -0
- {millwright-0.2.1 → millwright-2.2.0}/CNAME +0 -0
- {millwright-0.2.1 → millwright-2.2.0}/CONTRIBUTING.md +0 -0
- {millwright-0.2.1 → millwright-2.2.0}/LICENSE +0 -0
- {millwright-0.2.1 → millwright-2.2.0}/RELEASING.md +0 -0
- {millwright-0.2.1 → millwright-2.2.0}/benches/throughput.rs +0 -0
- {millwright-0.2.1 → millwright-2.2.0}/docs/data.html +0 -0
- {millwright-0.2.1 → millwright-2.2.0}/docs/deploy.html +0 -0
- {millwright-0.2.1 → millwright-2.2.0}/docs/index.html +0 -0
- {millwright-0.2.1 → millwright-2.2.0}/docs/insight.html +0 -0
- {millwright-0.2.1 → millwright-2.2.0}/docs/pipelines.html +0 -0
- {millwright-0.2.1 → millwright-2.2.0}/docs/python.html +0 -0
- {millwright-0.2.1 → millwright-2.2.0}/docs/site.css +0 -0
- {millwright-0.2.1 → millwright-2.2.0}/examples/automl.rs +0 -0
- {millwright-0.2.1 → millwright-2.2.0}/examples/backends.rs +0 -0
- {millwright-0.2.1 → millwright-2.2.0}/examples/explore.rs +0 -0
- {millwright-0.2.1 → millwright-2.2.0}/examples/insight.rs +0 -0
- {millwright-0.2.1 → millwright-2.2.0}/examples/operations.rs +0 -0
- {millwright-0.2.1 → millwright-2.2.0}/examples/portability.rs +0 -0
- {millwright-0.2.1 → millwright-2.2.0}/examples/specialized.rs +0 -0
- {millwright-0.2.1 → millwright-2.2.0}/examples/spine.rs +0 -0
- {millwright-0.2.1 → millwright-2.2.0}/examples/trust.rs +0 -0
- {millwright-0.2.1 → millwright-2.2.0}/examples/workflow.rs +0 -0
- {millwright-0.2.1 → millwright-2.2.0}/scripts/release.sh +0 -0
- {millwright-0.2.1 → millwright-2.2.0}/src/anomaly.rs +0 -0
- {millwright-0.2.1 → millwright-2.2.0}/src/backends/chronos.rs +0 -0
- {millwright-0.2.1 → millwright-2.2.0}/src/backends/incremental.rs +0 -0
- {millwright-0.2.1 → millwright-2.2.0}/src/backends/linfa.rs +0 -0
- {millwright-0.2.1 → millwright-2.2.0}/src/backends/mod.rs +0 -0
- {millwright-0.2.1 → millwright-2.2.0}/src/balance.rs +0 -0
- {millwright-0.2.1 → millwright-2.2.0}/src/calibration.rs +0 -0
- {millwright-0.2.1 → millwright-2.2.0}/src/diagnostics.rs +0 -0
- {millwright-0.2.1 → millwright-2.2.0}/src/ensemble.rs +0 -0
- {millwright-0.2.1 → millwright-2.2.0}/src/error.rs +0 -0
- {millwright-0.2.1 → millwright-2.2.0}/src/frame.rs +0 -0
- {millwright-0.2.1 → millwright-2.2.0}/src/logistic.rs +0 -0
- {millwright-0.2.1 → millwright-2.2.0}/src/onnx.rs +0 -0
- {millwright-0.2.1 → millwright-2.2.0}/src/pipeline.rs +0 -0
- {millwright-0.2.1 → millwright-2.2.0}/src/rng.rs +0 -0
- {millwright-0.2.1 → millwright-2.2.0}/src/selection/cv.rs +0 -0
- {millwright-0.2.1 → millwright-2.2.0}/src/selection/search.rs +0 -0
- {millwright-0.2.1 → millwright-2.2.0}/src/table.rs +0 -0
- {millwright-0.2.1 → millwright-2.2.0}/src/traits.rs +0 -0
- {millwright-0.2.1 → millwright-2.2.0}/src/transform.rs +0 -0
- {millwright-0.2.1 → millwright-2.2.0}/src/viz.rs +0 -0
- {millwright-0.2.1 → millwright-2.2.0}/tests/ensemble_zoo.rs +0 -0
- {millwright-0.2.1 → millwright-2.2.0}/tests/golden.rs +0 -0
- {millwright-0.2.1 → millwright-2.2.0}/tests/hero_snippet.rs +0 -0
- {millwright-0.2.1 → millwright-2.2.0}/tests/onnx_export.rs +0 -0
- {millwright-0.2.1 → millwright-2.2.0}/tests/real_data.rs +0 -0
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
[advisories]
|
|
2
|
+
# quick-xml 0.39.4 is retained in Cargo.lock by an inactive optional dependency
|
|
3
|
+
# and does not appear in Cargo's resolved graph for any target or feature set.
|
|
4
|
+
# Keep these explicit until the upstream package drops that stale lock edge.
|
|
5
|
+
ignore = ["RUSTSEC-2026-0194", "RUSTSEC-2026-0195"]
|
|
@@ -73,23 +73,23 @@ jobs:
|
|
|
73
73
|
- { name: "spine", features: "--no-default-features --features smartcore-backend" }
|
|
74
74
|
# The default install.
|
|
75
75
|
- { name: "default", features: "" }
|
|
76
|
-
# Each feature
|
|
77
|
-
#
|
|
78
|
-
- { name: "eda", features: "--features eda" }
|
|
79
|
-
- { name: "calibration", features: "--features calibration" }
|
|
80
|
-
- { name: "anomaly", features: "--features anomaly" }
|
|
81
|
-
- { name: "linfa", features: "--features linfa-backend" }
|
|
82
|
-
- { name: "hpo", features: "--features hpo" }
|
|
83
|
-
- { name: "diagnostics", features: "--features diagnostics" }
|
|
84
|
-
- { name: "explain", features: "--features explain" }
|
|
85
|
-
- { name: "viz", features: "--features viz" }
|
|
86
|
-
- { name: "onnx", features: "--features onnx" }
|
|
87
|
-
- { name: "registry", features: "--features registry" }
|
|
88
|
-
- { name: "monitor", features: "--features monitor" }
|
|
89
|
-
- { name: "serve", features: "--features serve" }
|
|
90
|
-
- { name: "timeseries", features: "--features timeseries" }
|
|
91
|
-
- { name: "incremental", features: "--features incremental" }
|
|
92
|
-
- { name: "automl", features: "--features automl" }
|
|
76
|
+
# Each feature in isolation. Dependencies declared by that feature are
|
|
77
|
+
# enabled transitively; unrelated defaults cannot hide a bad edge.
|
|
78
|
+
- { name: "eda", features: "--no-default-features --features eda" }
|
|
79
|
+
- { name: "calibration", features: "--no-default-features --features calibration" }
|
|
80
|
+
- { name: "anomaly", features: "--no-default-features --features anomaly" }
|
|
81
|
+
- { name: "linfa", features: "--no-default-features --features linfa-backend" }
|
|
82
|
+
- { name: "hpo", features: "--no-default-features --features hpo" }
|
|
83
|
+
- { name: "diagnostics", features: "--no-default-features --features diagnostics" }
|
|
84
|
+
- { name: "explain", features: "--no-default-features --features explain" }
|
|
85
|
+
- { name: "viz", features: "--no-default-features --features viz" }
|
|
86
|
+
- { name: "onnx", features: "--no-default-features --features onnx" }
|
|
87
|
+
- { name: "registry", features: "--no-default-features --features registry" }
|
|
88
|
+
- { name: "monitor", features: "--no-default-features --features monitor" }
|
|
89
|
+
- { name: "serve", features: "--no-default-features --features serve" }
|
|
90
|
+
- { name: "timeseries", features: "--no-default-features --features timeseries" }
|
|
91
|
+
- { name: "incremental", features: "--no-default-features --features incremental" }
|
|
92
|
+
- { name: "automl", features: "--no-default-features --features automl" }
|
|
93
93
|
# Everything at once — the superset build, including both ndarray worlds.
|
|
94
94
|
- { name: "full", features: "--features full" }
|
|
95
95
|
steps:
|
|
@@ -115,6 +115,33 @@ jobs:
|
|
|
115
115
|
- uses: Swatinem/rust-cache@v2
|
|
116
116
|
- run: cargo test --locked
|
|
117
117
|
|
|
118
|
+
msrv:
|
|
119
|
+
name: minimum Rust 1.95
|
|
120
|
+
runs-on: ubuntu-latest
|
|
121
|
+
steps:
|
|
122
|
+
- uses: actions/checkout@v5
|
|
123
|
+
- uses: dtolnay/rust-toolchain@1.95
|
|
124
|
+
- uses: Swatinem/rust-cache@v2
|
|
125
|
+
- run: cargo check --locked --all-targets --features full
|
|
126
|
+
|
|
127
|
+
supply-chain:
|
|
128
|
+
name: advisories
|
|
129
|
+
runs-on: ubuntu-latest
|
|
130
|
+
steps:
|
|
131
|
+
- uses: actions/checkout@v5
|
|
132
|
+
- uses: dtolnay/rust-toolchain@stable
|
|
133
|
+
- run: cargo install cargo-audit --locked
|
|
134
|
+
- run: cargo audit
|
|
135
|
+
|
|
136
|
+
semver:
|
|
137
|
+
name: public API compatibility
|
|
138
|
+
runs-on: ubuntu-latest
|
|
139
|
+
steps:
|
|
140
|
+
- uses: actions/checkout@v5
|
|
141
|
+
- uses: dtolnay/rust-toolchain@stable
|
|
142
|
+
- run: cargo install cargo-semver-checks --locked
|
|
143
|
+
- run: cargo semver-checks check-release
|
|
144
|
+
|
|
118
145
|
# Compile and *run* the examples (the `test` jobs only build the library and
|
|
119
146
|
# its tests), plus a compile-check of the benchmarks. The declared MSRV
|
|
120
147
|
# (`rust-version` in Cargo.toml) is enforced by cargo for consumers; we do not
|
|
@@ -165,4 +192,4 @@ jobs:
|
|
|
165
192
|
- run: pip install maturin
|
|
166
193
|
- run: maturin build --locked --release
|
|
167
194
|
- run: pip install --find-links target/wheels millwright
|
|
168
|
-
- run: python
|
|
195
|
+
- run: python tests/python_smoke.py
|
|
@@ -12,7 +12,24 @@ permissions:
|
|
|
12
12
|
contents: read
|
|
13
13
|
|
|
14
14
|
jobs:
|
|
15
|
+
verify-version:
|
|
16
|
+
runs-on: ubuntu-latest
|
|
17
|
+
steps:
|
|
18
|
+
- uses: actions/checkout@v5
|
|
19
|
+
- uses: dtolnay/rust-toolchain@stable
|
|
20
|
+
- name: check Cargo, Python, and tag versions agree
|
|
21
|
+
shell: bash
|
|
22
|
+
run: |
|
|
23
|
+
cargo_version="$(cargo metadata --no-deps --format-version 1 | jq -r '.packages[0].version')"
|
|
24
|
+
python_version="$(python -c "import tomllib; print(tomllib.load(open('pyproject.toml','rb'))['project']['version'])")"
|
|
25
|
+
test "$cargo_version" = "$python_version" || { echo "::error::Cargo $cargo_version != Python $python_version"; exit 1; }
|
|
26
|
+
if [[ "$GITHUB_REF" == refs/tags/* ]]; then
|
|
27
|
+
tag="${GITHUB_REF_NAME#v}"
|
|
28
|
+
test "$tag" = "$cargo_version" || { echo "::error::tag $tag != package $cargo_version"; exit 1; }
|
|
29
|
+
fi
|
|
30
|
+
|
|
15
31
|
linux:
|
|
32
|
+
needs: verify-version
|
|
16
33
|
runs-on: ubuntu-latest
|
|
17
34
|
strategy:
|
|
18
35
|
fail-fast: false
|
|
@@ -37,6 +54,7 @@ jobs:
|
|
|
37
54
|
path: dist
|
|
38
55
|
|
|
39
56
|
windows:
|
|
57
|
+
needs: verify-version
|
|
40
58
|
runs-on: windows-latest
|
|
41
59
|
strategy:
|
|
42
60
|
fail-fast: false
|
|
@@ -59,6 +77,7 @@ jobs:
|
|
|
59
77
|
path: dist
|
|
60
78
|
|
|
61
79
|
macos:
|
|
80
|
+
needs: verify-version
|
|
62
81
|
runs-on: macos-latest
|
|
63
82
|
strategy:
|
|
64
83
|
fail-fast: false
|
|
@@ -80,6 +99,7 @@ jobs:
|
|
|
80
99
|
path: dist
|
|
81
100
|
|
|
82
101
|
sdist:
|
|
102
|
+
needs: verify-version
|
|
83
103
|
runs-on: ubuntu-latest
|
|
84
104
|
steps:
|
|
85
105
|
- uses: actions/checkout@v5
|
|
@@ -111,4 +131,3 @@ jobs:
|
|
|
111
131
|
uses: pypa/gh-action-pypi-publish@release/v1
|
|
112
132
|
with:
|
|
113
133
|
packages-dir: dist
|
|
114
|
-
skip-existing: true
|
|
@@ -6,6 +6,8 @@ All notable changes to Millwright are recorded here. The format follows
|
|
|
6
6
|
|
|
7
7
|
## [Unreleased]
|
|
8
8
|
|
|
9
|
+
## [2.2.0] - 2026-08-24
|
|
10
|
+
|
|
9
11
|
## [0.2.1] - 2026-08-23
|
|
10
12
|
|
|
11
13
|
### Added
|
|
@@ -125,9 +127,8 @@ All notable changes to Millwright are recorded here. The format follows
|
|
|
125
127
|
feature-matrix CI (fmt, clippy `-D warnings`, docs, matrix, OS, examples,
|
|
126
128
|
benches, publish dry-run, wheel).
|
|
127
129
|
- `selection.rs` split into `selection/{scoring,cv,search}`.
|
|
128
|
-
- MSRV is **1.95** (dep-dictated — `sysinfo` via tract, and polars)
|
|
129
|
-
|
|
130
|
-
every transitive bump). The default install needs 1.85.
|
|
130
|
+
- MSRV is **1.95** (dep-dictated — `sysinfo` via tract, and polars), declared
|
|
131
|
+
through `rust-version` and exercised by a dedicated CI job.
|
|
131
132
|
- De-staled the crate and module docs (no more "Phase 0 · the spine").
|
|
132
133
|
|
|
133
134
|
### Fixed
|
|
@@ -205,7 +205,7 @@ checksum = "82f6aeea286b8eb4dd3431a1be1b59d290ace00f5bfd8e2a159bc2a05e2c1667"
|
|
|
205
205
|
dependencies = [
|
|
206
206
|
"proc-macro2",
|
|
207
207
|
"quote",
|
|
208
|
-
"syn 3.0.
|
|
208
|
+
"syn 3.0.4",
|
|
209
209
|
]
|
|
210
210
|
|
|
211
211
|
[[package]]
|
|
@@ -346,7 +346,16 @@ dependencies = [
|
|
|
346
346
|
"cc",
|
|
347
347
|
"cfg-if",
|
|
348
348
|
"constant_time_eq",
|
|
349
|
-
"cpufeatures",
|
|
349
|
+
"cpufeatures 0.3.0",
|
|
350
|
+
]
|
|
351
|
+
|
|
352
|
+
[[package]]
|
|
353
|
+
name = "block-buffer"
|
|
354
|
+
version = "0.10.4"
|
|
355
|
+
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
356
|
+
checksum = "3078c7629b62d3f0439517fa394996acacc5cbc91c5a20d8c658e77abd503a71"
|
|
357
|
+
dependencies = [
|
|
358
|
+
"generic-array",
|
|
350
359
|
]
|
|
351
360
|
|
|
352
361
|
[[package]]
|
|
@@ -432,7 +441,7 @@ checksum = "fc0e56a716f1e132ff6bf4bdac1c944a3fcdc1cae65f70a4a2a1ac3b401d2d1f"
|
|
|
432
441
|
dependencies = [
|
|
433
442
|
"proc-macro2",
|
|
434
443
|
"quote",
|
|
435
|
-
"syn 3.0.
|
|
444
|
+
"syn 3.0.4",
|
|
436
445
|
]
|
|
437
446
|
|
|
438
447
|
[[package]]
|
|
@@ -496,7 +505,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
496
505
|
checksum = "d524456ba66e72eb8b115ff89e01e497f8e6d11d78b70b1aa13c0fbd97540a81"
|
|
497
506
|
dependencies = [
|
|
498
507
|
"cfg-if",
|
|
499
|
-
"cpufeatures",
|
|
508
|
+
"cpufeatures 0.3.0",
|
|
500
509
|
"rand_core 0.10.1",
|
|
501
510
|
]
|
|
502
511
|
|
|
@@ -647,6 +656,15 @@ version = "0.8.7"
|
|
|
647
656
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
648
657
|
checksum = "773648b94d0e5d620f64f280777445740e61fe701025087ec8b57f45c791888b"
|
|
649
658
|
|
|
659
|
+
[[package]]
|
|
660
|
+
name = "cpufeatures"
|
|
661
|
+
version = "0.2.17"
|
|
662
|
+
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
663
|
+
checksum = "59ed5838eebb26a2bb2e58f6d5b5316989ae9d08bab10e0e6d103e656d1b0280"
|
|
664
|
+
dependencies = [
|
|
665
|
+
"libc",
|
|
666
|
+
]
|
|
667
|
+
|
|
650
668
|
[[package]]
|
|
651
669
|
name = "cpufeatures"
|
|
652
670
|
version = "0.3.0"
|
|
@@ -658,9 +676,9 @@ dependencies = [
|
|
|
658
676
|
|
|
659
677
|
[[package]]
|
|
660
678
|
name = "crc32fast"
|
|
661
|
-
version = "1.5.
|
|
679
|
+
version = "1.5.1"
|
|
662
680
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
663
|
-
checksum = "
|
|
681
|
+
checksum = "8498c871161e1742aaa9d52551b2d6ebdd4c3d45a3be423e3728f33b955be550"
|
|
664
682
|
dependencies = [
|
|
665
683
|
"cfg-if",
|
|
666
684
|
]
|
|
@@ -750,6 +768,16 @@ version = "0.2.4"
|
|
|
750
768
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
751
769
|
checksum = "460fbee9c2c2f33933d720630a6a0bac33ba7053db5344fac858d4b8952d77d5"
|
|
752
770
|
|
|
771
|
+
[[package]]
|
|
772
|
+
name = "crypto-common"
|
|
773
|
+
version = "0.1.7"
|
|
774
|
+
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
775
|
+
checksum = "78c8292055d1c1df0cce5d180393dc8cce0abec0a7102adb6c7b1eef6016d60a"
|
|
776
|
+
dependencies = [
|
|
777
|
+
"generic-array",
|
|
778
|
+
"typenum",
|
|
779
|
+
]
|
|
780
|
+
|
|
753
781
|
[[package]]
|
|
754
782
|
name = "crypto-common"
|
|
755
783
|
version = "0.2.2"
|
|
@@ -776,15 +804,25 @@ dependencies = [
|
|
|
776
804
|
"syn 2.0.119",
|
|
777
805
|
]
|
|
778
806
|
|
|
807
|
+
[[package]]
|
|
808
|
+
name = "digest"
|
|
809
|
+
version = "0.10.7"
|
|
810
|
+
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
811
|
+
checksum = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292"
|
|
812
|
+
dependencies = [
|
|
813
|
+
"block-buffer 0.10.4",
|
|
814
|
+
"crypto-common 0.1.7",
|
|
815
|
+
]
|
|
816
|
+
|
|
779
817
|
[[package]]
|
|
780
818
|
name = "digest"
|
|
781
819
|
version = "0.11.3"
|
|
782
820
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
783
821
|
checksum = "f1dd6dbb5841937940781866fa1281a1ff7bd3bf827091440879f9994983d5c2"
|
|
784
822
|
dependencies = [
|
|
785
|
-
"block-buffer",
|
|
823
|
+
"block-buffer 0.12.1",
|
|
786
824
|
"const-oid",
|
|
787
|
-
"crypto-common",
|
|
825
|
+
"crypto-common 0.2.2",
|
|
788
826
|
]
|
|
789
827
|
|
|
790
828
|
[[package]]
|
|
@@ -793,7 +831,7 @@ version = "0.1.0"
|
|
|
793
831
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
794
832
|
checksum = "2de63d600bc7fab91180bc17385f29b342468dc8ef2af09dceba450a293de3da"
|
|
795
833
|
dependencies = [
|
|
796
|
-
"digest",
|
|
834
|
+
"digest 0.11.3",
|
|
797
835
|
]
|
|
798
836
|
|
|
799
837
|
[[package]]
|
|
@@ -804,7 +842,7 @@ checksum = "c6232dd377dcc64799954cbd3a9bb882e9cdc1308ccd87b1c098f1fb2eaf82a8"
|
|
|
804
842
|
dependencies = [
|
|
805
843
|
"proc-macro2",
|
|
806
844
|
"quote",
|
|
807
|
-
"syn 3.0.
|
|
845
|
+
"syn 3.0.4",
|
|
808
846
|
]
|
|
809
847
|
|
|
810
848
|
[[package]]
|
|
@@ -991,6 +1029,16 @@ dependencies = [
|
|
|
991
1029
|
"percent-encoding",
|
|
992
1030
|
]
|
|
993
1031
|
|
|
1032
|
+
[[package]]
|
|
1033
|
+
name = "fs2"
|
|
1034
|
+
version = "0.4.3"
|
|
1035
|
+
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
1036
|
+
checksum = "9564fc758e15025b46aa6643b1b77d047d1a56a1aea6e01002ac0c7026876213"
|
|
1037
|
+
dependencies = [
|
|
1038
|
+
"libc",
|
|
1039
|
+
"winapi",
|
|
1040
|
+
]
|
|
1041
|
+
|
|
994
1042
|
[[package]]
|
|
995
1043
|
name = "fs4"
|
|
996
1044
|
version = "1.1.0"
|
|
@@ -1057,7 +1105,7 @@ checksum = "9fb9654ba8355388abeb8dcb4fc62f511300867002afc858860463bdd9fe0c44"
|
|
|
1057
1105
|
dependencies = [
|
|
1058
1106
|
"proc-macro2",
|
|
1059
1107
|
"quote",
|
|
1060
|
-
"syn 3.0.
|
|
1108
|
+
"syn 3.0.4",
|
|
1061
1109
|
]
|
|
1062
1110
|
|
|
1063
1111
|
[[package]]
|
|
@@ -1089,6 +1137,16 @@ dependencies = [
|
|
|
1089
1137
|
"slab",
|
|
1090
1138
|
]
|
|
1091
1139
|
|
|
1140
|
+
[[package]]
|
|
1141
|
+
name = "generic-array"
|
|
1142
|
+
version = "0.14.7"
|
|
1143
|
+
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
1144
|
+
checksum = "85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a"
|
|
1145
|
+
dependencies = [
|
|
1146
|
+
"typenum",
|
|
1147
|
+
"version_check",
|
|
1148
|
+
]
|
|
1149
|
+
|
|
1092
1150
|
[[package]]
|
|
1093
1151
|
name = "getrandom"
|
|
1094
1152
|
version = "0.2.17"
|
|
@@ -1591,15 +1649,6 @@ dependencies = [
|
|
|
1591
1649
|
"serde_core",
|
|
1592
1650
|
]
|
|
1593
1651
|
|
|
1594
|
-
[[package]]
|
|
1595
|
-
name = "indoc"
|
|
1596
|
-
version = "2.0.7"
|
|
1597
|
-
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
1598
|
-
checksum = "79cf5c93f93228cf8efb3ba362535fb11199ac548a09ce117c9b1adc3030d706"
|
|
1599
|
-
dependencies = [
|
|
1600
|
-
"rustversion",
|
|
1601
|
-
]
|
|
1602
|
-
|
|
1603
1652
|
[[package]]
|
|
1604
1653
|
name = "instant"
|
|
1605
1654
|
version = "0.1.13"
|
|
@@ -1852,9 +1901,9 @@ dependencies = [
|
|
|
1852
1901
|
|
|
1853
1902
|
[[package]]
|
|
1854
1903
|
name = "log"
|
|
1855
|
-
version = "0.4.
|
|
1904
|
+
version = "0.4.34"
|
|
1856
1905
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
1857
|
-
checksum = "
|
|
1906
|
+
checksum = "f9f8bd3e56ce4dfc153cf470fffbfa98c7620958b312ca5c3a4b8d5181fd13c6"
|
|
1858
1907
|
|
|
1859
1908
|
[[package]]
|
|
1860
1909
|
name = "lru-slab"
|
|
@@ -1924,23 +1973,15 @@ version = "0.3.3"
|
|
|
1924
1973
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
1925
1974
|
checksum = "38d1115007560874e373613744c6fba374c17688327a71c1476d1a5954cc857b"
|
|
1926
1975
|
|
|
1927
|
-
[[package]]
|
|
1928
|
-
name = "memoffset"
|
|
1929
|
-
version = "0.9.1"
|
|
1930
|
-
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
1931
|
-
checksum = "488016bfae457b036d996092f6cb448677611ce4449e970ceaf42695203f218a"
|
|
1932
|
-
dependencies = [
|
|
1933
|
-
"autocfg",
|
|
1934
|
-
]
|
|
1935
|
-
|
|
1936
1976
|
[[package]]
|
|
1937
1977
|
name = "millwright"
|
|
1938
|
-
version = "
|
|
1978
|
+
version = "2.2.0"
|
|
1939
1979
|
dependencies = [
|
|
1940
1980
|
"axum",
|
|
1941
1981
|
"chronos-ts",
|
|
1942
1982
|
"criterion",
|
|
1943
1983
|
"driftwatch",
|
|
1984
|
+
"fs2",
|
|
1944
1985
|
"http-body-util",
|
|
1945
1986
|
"hyperopt-rs",
|
|
1946
1987
|
"imbalance-rs",
|
|
@@ -1962,6 +2003,7 @@ dependencies = [
|
|
|
1962
2003
|
"regression-diagnostics",
|
|
1963
2004
|
"serde",
|
|
1964
2005
|
"serde_json",
|
|
2006
|
+
"sha2 0.10.9",
|
|
1965
2007
|
"shap-rs",
|
|
1966
2008
|
"smartcore 0.6.10",
|
|
1967
2009
|
"tokio",
|
|
@@ -2014,7 +2056,6 @@ checksum = "1e224dbc8a12719140b6766def2944fd994c9c60aab3cd20a3717b6993b28e5f"
|
|
|
2014
2056
|
dependencies = [
|
|
2015
2057
|
"ndarray 0.16.1",
|
|
2016
2058
|
"rand 0.8.7",
|
|
2017
|
-
"smartcore 0.3.2",
|
|
2018
2059
|
"thiserror 1.0.69",
|
|
2019
2060
|
]
|
|
2020
2061
|
|
|
@@ -3038,7 +3079,7 @@ dependencies = [
|
|
|
3038
3079
|
"rayon",
|
|
3039
3080
|
"recursive",
|
|
3040
3081
|
"regex",
|
|
3041
|
-
"sha2",
|
|
3082
|
+
"sha2 0.11.0",
|
|
3042
3083
|
"slotmap",
|
|
3043
3084
|
"strum_macros",
|
|
3044
3085
|
"tokio",
|
|
@@ -3318,37 +3359,32 @@ dependencies = [
|
|
|
3318
3359
|
|
|
3319
3360
|
[[package]]
|
|
3320
3361
|
name = "pyo3"
|
|
3321
|
-
version = "0.
|
|
3362
|
+
version = "0.29.2"
|
|
3322
3363
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
3323
|
-
checksum = "
|
|
3364
|
+
checksum = "4688ddedf473e32662b9b067670129a8afb8c18e351482c70d62ba4a88171e8b"
|
|
3324
3365
|
dependencies = [
|
|
3325
|
-
"cfg-if",
|
|
3326
|
-
"indoc",
|
|
3327
3366
|
"libc",
|
|
3328
|
-
"memoffset",
|
|
3329
3367
|
"once_cell",
|
|
3330
3368
|
"portable-atomic",
|
|
3331
3369
|
"pyo3-build-config",
|
|
3332
3370
|
"pyo3-ffi",
|
|
3333
3371
|
"pyo3-macros",
|
|
3334
|
-
"unindent",
|
|
3335
3372
|
]
|
|
3336
3373
|
|
|
3337
3374
|
[[package]]
|
|
3338
3375
|
name = "pyo3-build-config"
|
|
3339
|
-
version = "0.
|
|
3376
|
+
version = "0.29.2"
|
|
3340
3377
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
3341
|
-
checksum = "
|
|
3378
|
+
checksum = "f41027e41b4bd03f6e60f9f417fe24a6341a6bb744edd62b6f709f2a52ea30e9"
|
|
3342
3379
|
dependencies = [
|
|
3343
|
-
"once_cell",
|
|
3344
3380
|
"target-lexicon",
|
|
3345
3381
|
]
|
|
3346
3382
|
|
|
3347
3383
|
[[package]]
|
|
3348
3384
|
name = "pyo3-ffi"
|
|
3349
|
-
version = "0.
|
|
3385
|
+
version = "0.29.2"
|
|
3350
3386
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
3351
|
-
checksum = "
|
|
3387
|
+
checksum = "e591a95526fead067432c3b3a33fc74770b87b1e04e73671090d9c2055a2b327"
|
|
3352
3388
|
dependencies = [
|
|
3353
3389
|
"libc",
|
|
3354
3390
|
"pyo3-build-config",
|
|
@@ -3356,9 +3392,9 @@ dependencies = [
|
|
|
3356
3392
|
|
|
3357
3393
|
[[package]]
|
|
3358
3394
|
name = "pyo3-macros"
|
|
3359
|
-
version = "0.
|
|
3395
|
+
version = "0.29.2"
|
|
3360
3396
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
3361
|
-
checksum = "
|
|
3397
|
+
checksum = "73225868fc1cd84eef2c3c230ddb91273bf1de46aeb8a4248da76d32a0924a1c"
|
|
3362
3398
|
dependencies = [
|
|
3363
3399
|
"proc-macro2",
|
|
3364
3400
|
"pyo3-macros-backend",
|
|
@@ -3368,13 +3404,12 @@ dependencies = [
|
|
|
3368
3404
|
|
|
3369
3405
|
[[package]]
|
|
3370
3406
|
name = "pyo3-macros-backend"
|
|
3371
|
-
version = "0.
|
|
3407
|
+
version = "0.29.2"
|
|
3372
3408
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
3373
|
-
checksum = "
|
|
3409
|
+
checksum = "571575aa3749fa6216757dd47d2a3e7ef360f329a40f0666a9fbd14889024952"
|
|
3374
3410
|
dependencies = [
|
|
3375
3411
|
"heck",
|
|
3376
3412
|
"proc-macro2",
|
|
3377
|
-
"pyo3-build-config",
|
|
3378
3413
|
"quote",
|
|
3379
3414
|
"syn 2.0.119",
|
|
3380
3415
|
]
|
|
@@ -3956,7 +3991,7 @@ checksum = "e7a5d71263a5a7d47b41f6b3f06ba276f10cc18b0931f1799f710578e2309348"
|
|
|
3956
3991
|
dependencies = [
|
|
3957
3992
|
"proc-macro2",
|
|
3958
3993
|
"quote",
|
|
3959
|
-
"syn 3.0.
|
|
3994
|
+
"syn 3.0.4",
|
|
3960
3995
|
]
|
|
3961
3996
|
|
|
3962
3997
|
[[package]]
|
|
@@ -4006,6 +4041,17 @@ dependencies = [
|
|
|
4006
4041
|
"serde",
|
|
4007
4042
|
]
|
|
4008
4043
|
|
|
4044
|
+
[[package]]
|
|
4045
|
+
name = "sha2"
|
|
4046
|
+
version = "0.10.9"
|
|
4047
|
+
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
4048
|
+
checksum = "a7507d819769d01a365ab707794a4084392c824f54a7a6a7862f8c3d0892b283"
|
|
4049
|
+
dependencies = [
|
|
4050
|
+
"cfg-if",
|
|
4051
|
+
"cpufeatures 0.2.17",
|
|
4052
|
+
"digest 0.10.7",
|
|
4053
|
+
]
|
|
4054
|
+
|
|
4009
4055
|
[[package]]
|
|
4010
4056
|
name = "sha2"
|
|
4011
4057
|
version = "0.11.0"
|
|
@@ -4013,8 +4059,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
4013
4059
|
checksum = "446ba717509524cb3f22f17ecc096f10f4822d76ab5c0b9822c5f9c284e825f4"
|
|
4014
4060
|
dependencies = [
|
|
4015
4061
|
"cfg-if",
|
|
4016
|
-
"cpufeatures",
|
|
4017
|
-
"digest",
|
|
4062
|
+
"cpufeatures 0.3.0",
|
|
4063
|
+
"digest 0.11.3",
|
|
4018
4064
|
]
|
|
4019
4065
|
|
|
4020
4066
|
[[package]]
|
|
@@ -4144,19 +4190,6 @@ version = "1.15.2"
|
|
|
4144
4190
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
4145
4191
|
checksum = "8ed6a63f02c8539c91a8685a86f4099661ba3da017932f6ebbea6de3f0fa7c90"
|
|
4146
4192
|
|
|
4147
|
-
[[package]]
|
|
4148
|
-
name = "smartcore"
|
|
4149
|
-
version = "0.3.2"
|
|
4150
|
-
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
4151
|
-
checksum = "c42ca1fcd851ada8834d3dfcd088850dc8c703bde50c2baccd89181b74dc3ade"
|
|
4152
|
-
dependencies = [
|
|
4153
|
-
"approx 0.5.1",
|
|
4154
|
-
"cfg-if",
|
|
4155
|
-
"num",
|
|
4156
|
-
"num-traits",
|
|
4157
|
-
"rand 0.8.7",
|
|
4158
|
-
]
|
|
4159
|
-
|
|
4160
4193
|
[[package]]
|
|
4161
4194
|
name = "smartcore"
|
|
4162
4195
|
version = "0.5.5"
|
|
@@ -4401,9 +4434,9 @@ dependencies = [
|
|
|
4401
4434
|
|
|
4402
4435
|
[[package]]
|
|
4403
4436
|
name = "syn"
|
|
4404
|
-
version = "3.0.
|
|
4437
|
+
version = "3.0.4"
|
|
4405
4438
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
4406
|
-
checksum = "
|
|
4439
|
+
checksum = "e6275cddf4610d1775e6d1fe9469b2e77d0f39fd98fb7450901b821e0c53649f"
|
|
4407
4440
|
dependencies = [
|
|
4408
4441
|
"proc-macro2",
|
|
4409
4442
|
"quote",
|
|
@@ -4511,7 +4544,7 @@ checksum = "bc04cd3e1236dd4a98afca4569f2deb3f120e5422a4023be2cb683f8486292af"
|
|
|
4511
4544
|
dependencies = [
|
|
4512
4545
|
"proc-macro2",
|
|
4513
4546
|
"quote",
|
|
4514
|
-
"syn 3.0.
|
|
4547
|
+
"syn 3.0.4",
|
|
4515
4548
|
]
|
|
4516
4549
|
|
|
4517
4550
|
[[package]]
|
|
@@ -4581,7 +4614,7 @@ checksum = "78773a2a397f451582ce068015985c33193cf6dea8b74d2a639fe457b2f07b0e"
|
|
|
4581
4614
|
dependencies = [
|
|
4582
4615
|
"proc-macro2",
|
|
4583
4616
|
"quote",
|
|
4584
|
-
"syn 3.0.
|
|
4617
|
+
"syn 3.0.4",
|
|
4585
4618
|
]
|
|
4586
4619
|
|
|
4587
4620
|
[[package]]
|
|
@@ -4975,7 +5008,7 @@ checksum = "f153acc4e99a5f2a5aefa09fb078be54e26271b2813f6041200b224c098d8328"
|
|
|
4975
5008
|
dependencies = [
|
|
4976
5009
|
"proc-macro2",
|
|
4977
5010
|
"quote",
|
|
4978
|
-
"syn 3.0.
|
|
5011
|
+
"syn 3.0.4",
|
|
4979
5012
|
]
|
|
4980
5013
|
|
|
4981
5014
|
[[package]]
|
|
@@ -5008,12 +5041,6 @@ version = "1.13.3"
|
|
|
5008
5041
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
5009
5042
|
checksum = "c6f5d3c3b1bf09027a88a6bc961fc00497d651009560b5463668dc81b0fa87a8"
|
|
5010
5043
|
|
|
5011
|
-
[[package]]
|
|
5012
|
-
name = "unindent"
|
|
5013
|
-
version = "0.2.4"
|
|
5014
|
-
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
5015
|
-
checksum = "7264e107f553ccae879d21fbea1d6724ac785e8c3bfc762137959b5802826ef3"
|
|
5016
|
-
|
|
5017
5044
|
[[package]]
|
|
5018
5045
|
name = "untrusted"
|
|
5019
5046
|
version = "0.9.0"
|
|
@@ -5046,9 +5073,9 @@ checksum = "b6c140620e7ffbb22c2dee59cafe6084a59b5ffc27a8859a5f0d494b5d52b6be"
|
|
|
5046
5073
|
|
|
5047
5074
|
[[package]]
|
|
5048
5075
|
name = "uuid"
|
|
5049
|
-
version = "1.
|
|
5076
|
+
version = "1.25.0"
|
|
5050
5077
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
5051
|
-
checksum = "
|
|
5078
|
+
checksum = "f053576934f05a761a402421fbbe3d425d9366f75f978806a037b3ca481abecc"
|
|
5052
5079
|
dependencies = [
|
|
5053
5080
|
"getrandom 0.4.3",
|
|
5054
5081
|
"js-sys",
|
|
@@ -5561,7 +5588,7 @@ checksum = "34df6fc39dbd26ddc9c10e6a2984476e13acce22e64e4487636ef494369225da"
|
|
|
5561
5588
|
dependencies = [
|
|
5562
5589
|
"proc-macro2",
|
|
5563
5590
|
"quote",
|
|
5564
|
-
"syn 3.0.
|
|
5591
|
+
"syn 3.0.4",
|
|
5565
5592
|
]
|
|
5566
5593
|
|
|
5567
5594
|
[[package]]
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[package]
|
|
2
2
|
name = "millwright"
|
|
3
|
-
version = "
|
|
3
|
+
version = "2.2.0"
|
|
4
4
|
edition = "2021"
|
|
5
5
|
rust-version = "1.95"
|
|
6
6
|
description = "A unified ML framework for Rust — proven Rust crates, assembled into one machine."
|
|
@@ -38,7 +38,7 @@ crate-type = ["cdylib", "rlib"]
|
|
|
38
38
|
# --- engines: exact pins ---
|
|
39
39
|
smartcore = { version = "=0.6.10", optional = true }
|
|
40
40
|
imbalance-rs = { version = "=0.5.0", optional = true }
|
|
41
|
-
model-selection-rs = { version = "=0.1.0", optional = true
|
|
41
|
+
model-selection-rs = { version = "=0.1.0", optional = true }
|
|
42
42
|
linfa = { version = "=0.8.1", optional = true }
|
|
43
43
|
linfa-clustering = { version = "=0.8.1", optional = true }
|
|
44
44
|
linfa-reduction = { version = "=0.8.1", optional = true }
|
|
@@ -54,7 +54,7 @@ incremental-rs = { version = "=0.1.2", optional = true }
|
|
|
54
54
|
polars = { version = "=0.55.2", default-features = false, features = ["csv", "parquet", "dtype-categorical", "dtype-datetime", "temporal", "is_in"], optional = true }
|
|
55
55
|
|
|
56
56
|
# --- general infrastructure: caret ranges, reproduced via Cargo.lock ---
|
|
57
|
-
pyo3 = { version = "0.
|
|
57
|
+
pyo3 = { version = "0.29", features = ["extension-module", "abi3-py39"], optional = true }
|
|
58
58
|
ndarray = { version = "0.16", optional = true }
|
|
59
59
|
rayon = { version = "1", optional = true }
|
|
60
60
|
# Decode a saved ONNX file back into the proto, to natively evaluate ONNX-ML ops
|
|
@@ -64,9 +64,11 @@ prost = { version = "0.13", optional = true }
|
|
|
64
64
|
plotters = { version = "0.3.7", default-features = false, features = ["svg_backend", "all_series"], optional = true }
|
|
65
65
|
tract-onnx = { version = "0.23", optional = true }
|
|
66
66
|
axum = { version = "0.8", optional = true }
|
|
67
|
-
tokio = { version = "1", features = ["rt-multi-thread", "macros", "net"], optional = true }
|
|
67
|
+
tokio = { version = "1", features = ["rt-multi-thread", "macros", "net", "sync", "time"], optional = true }
|
|
68
68
|
serde = { version = "1", features = ["derive"], optional = true }
|
|
69
69
|
serde_json = { version = "1", optional = true }
|
|
70
|
+
sha2 = { version = "0.10", optional = true }
|
|
71
|
+
fs2 = { version = "0.4", optional = true }
|
|
70
72
|
# chronos-ts and incremental-rs pin ndarray 0.15, distinct from the 0.16 the
|
|
71
73
|
# rest of the stack uses — the "two ndarray worlds" the design settles. Renamed
|
|
72
74
|
# so both versions coexist; converted only at these adapters' edges.
|
|
@@ -164,7 +166,7 @@ python = ["dep:pyo3", "smartcore-backend", "model-selection", "explain", "onnx",
|
|
|
164
166
|
# Phase 5 · OPERATIONS — past where scikit-learn stops.
|
|
165
167
|
# A versioned model registry: content-addressed ONNX artifact + metadata +
|
|
166
168
|
# reference distribution, with movable tags and rollback.
|
|
167
|
-
registry = ["dep:serde", "dep:serde_json", "onnx"]
|
|
169
|
+
registry = ["dep:serde", "dep:serde_json", "dep:sha2", "dep:fs2", "onnx"]
|
|
168
170
|
|
|
169
171
|
# PSI prediction-drift monitoring via driftwatch.
|
|
170
172
|
monitor = ["dep:driftwatch"]
|