• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

adaptive-machine-learning / CapyMOA / 34086228048
81%

Build:
DEFAULT BRANCH: main
Ran 07 Sep 2026 05:26AM UTC
Jobs 1
Files 200
Run time 1min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

07 Sep 2026 05:17AM UTC coverage: 81.529% (+0.03%) from 81.504%
34086228048

push

github

tachyonicClock
fix: resolve remaining ruff 0.16 findings and lint-driven regressions

Handles the rule categories that had no safe autofix, following up on
the mechanical formatting commit:

- RUF012: convert mutable class-level constants (dataset mean/std/
  shape, drift detector TEST_TYPES) to tuples instead of annotating
  with ClassVar.
- B008: replace mutable/stateful default arguments (ADWIN(),
  torch.Generator(), DecisionTree*(), get_download_dir() which reads
  an env var) with None + lazy construction. Several of these were
  latent bugs: a shared ADWIN/Generator instance was reused across
  every learner/buffer instance created with the default.
- TRY004: raise TypeError instead of ValueError at isinstance-based
  type-check sites, matching Python convention. Updated the one test
  that asserted the old exception type.
- BLE001: inline `# noqa: BLE001` with a justification at each of the
  9 deliberate catch-all sites (benchmark machine-info collection,
  Sphinx doc-build introspection, AutoML candidate-skip logic).
- DTZ005: project-wide ignore in pyproject.toml -- all call sites stamp
  human-readable local timestamps, not timezone-sensitive logic.
- PLW1510, B026, UP007, PLC0206, B023, SIM102/113/115/117, PYI045,
  PLR1704, PLW1508: fixed individually.

Also fixes two regressions introduced by the prior commit's safe
`ruff check --fix`:
- The isort autofix alphabetized imports in capymoa/core/__init__.py,
  capymoa/stream/__init__.py, and capymoa/classifier/__init__.py,
  which broke their circular-import-avoiding order. Restored the
  correct order with `# isort: skip` and an explanatory comment so
  future autofixes don't reintroduce it.
- The unsafe `--fix` pass deleted `_AnyInstance = TypeVar(...)` in
  core/_instance.py as an "unused private TypeVar", but it's
  re-exported and used across stream/_stream.py and
  stream/_csv_stream.py. Restored it with `# noqa: PYI018`.

Adds .git-blame-ignore-revs pointing at the prior mechanical commit.

130 of 277 new or added lines in 61 files covered. (46.93%)

864 existing lines in 70 files now uncovered.

9565 of 11732 relevant lines covered (81.53%)

0.82 hits per line

Uncovered Changes

Lines Coverage ∆ File
94
3.98
0.09% src/capymoa/evaluation/visualization.py
9
80.64
0.02% src/capymoa/evaluation/evaluation.py
5
81.4
-0.42% src/capymoa/core/moa/_cli.py
3
29.73
0.0% src/capymoa/core/torch/ann/_resnet.py
3
52.56
0.0% src/capymoa/evaluation/results.py
2
77.08
-3.35% src/capymoa/_prepare_jpype.py
2
36.84
-4.33% src/capymoa/automl/_autoclass.py
2
65.77
0.87% src/capymoa/automl/_bandit_classifier.py
2
66.35
-0.98% src/capymoa/ocl/datasets/_vision.py
2
53.52
-0.89% src/capymoa/ocl/datasets/_vit.py
2
74.63
-0.47% src/capymoa/stream/_stream.py
2
91.67
-0.39% src/capymoa/stream/drift.py
2
93.25
-0.08% tests/test_evaluation.py
1
61.11
0.0% src/capymoa/automl/_successive_halving_classifier.py
1
58.14
-0.48% src/capymoa/base/_base.py
1
95.12
-0.12% src/capymoa/base/_classifier.py
1
57.14
-2.86% src/capymoa/cluster/_clustream.py
1
56.25
-2.57% src/capymoa/cluster/_clustream_with_kmeans.py
1
57.14
-2.86% src/capymoa/cluster/_clustree.py
1
56.25
-2.57% src/capymoa/cluster/_denstream_with_dbscan.py
1
92.67
0.0% src/capymoa/core/_instance.py
1
75.0
0.0% src/capymoa/core/io.py
1
89.23
-0.93% src/capymoa/datasets/_downloader.py
1
80.3
-1.79% src/capymoa/datasets/_utils.py
1
50.85
-1.69% src/capymoa/drift/detectors/studd.py
1
84.76
-0.14% src/capymoa/ocl/evaluation/_loop.py
1
82.71
0.0% src/capymoa/ocl/strategy/l2p.py
1
90.63
0.0% src/capymoa/ocl/util/data.py
1
77.14
0.0% src/capymoa/uncertainty/_adaptive_prediction_interval.py
1
77.14
0.0% src/capymoa/uncertainty/_mean_and_standard_deviation_estimation.py

Coverage Regressions

Lines Coverage ∆ File
106
80.64
0.02% src/capymoa/evaluation/evaluation.py
57
67.41
-0.08% src/capymoa/anomaly/_robust_random_cut_forest.py
50
58.14
-0.48% src/capymoa/base/_base.py
43
46.88
0.56% src/capymoa/stream/preprocessing/pipeline.py
38
74.63
-0.47% src/capymoa/stream/_stream.py
31
61.11
0.0% src/capymoa/automl/_successive_halving_classifier.py
30
65.77
0.87% src/capymoa/automl/_bandit_classifier.py
27
3.98
0.09% src/capymoa/evaluation/visualization.py
25
91.67
-0.39% src/capymoa/stream/drift.py
25
41.57
0.0% tests/test_datasets.py
22
89.33
-0.05% src/capymoa/anomaly/_streaming_isolation_forest.py
22
52.56
0.0% src/capymoa/evaluation/results.py
20
78.15
0.0% src/capymoa/classifier/_shrubs_ensemble.py
19
83.44
0.11% src/capymoa/drift/eval_detector.py
18
53.52
-0.89% src/capymoa/ocl/datasets/_vit.py
18
37.04
0.67% src/capymoa/stream/preprocessing/transformer.py
16
50.85
-1.69% src/capymoa/drift/detectors/studd.py
16
66.35
-0.98% src/capymoa/ocl/datasets/_vision.py
15
91.49
-0.05% src/capymoa/anomaly/_adaptive_isolation_forest.py
15
85.61
0.0% src/capymoa/drift/detectors/abcd.py
14
86.62
0.0% src/capymoa/anomaly/_stream_rhf.py
13
91.62
-0.05% src/capymoa/anomaly/_online_isolation_forest.py
12
91.61
0.28% src/capymoa/ocl/datasets/_base.py
10
93.81
-0.03% src/capymoa/drift/detectors/optwin.py
10
84.76
-0.14% src/capymoa/ocl/evaluation/_loop.py
9
56.0
0.0% src/capymoa/automl/_utils.py
9
60.42
-0.81% src/capymoa/datasets/_openml.py
8
36.84
-4.33% src/capymoa/automl/_autoclass.py
8
74.36
0.0% src/capymoa/drift/base_detector.py
8
92.75
1.79% src/capymoa/ssl/_osnn.py
7
51.06
0.0% src/capymoa/classifier/_srp.py
7
91.46
0.11% src/capymoa/ocl/strategy/_lwf.py
7
77.08
-3.35% src/capymoa/_prepare_jpype.py
6
64.71
0.0% src/capymoa/classifier/_leveraging_bagging.py
6
61.29
0.0% src/capymoa/classifier/_online_bagging.py
6
75.0
0.0% src/capymoa/core/io.py
6
80.3
-1.79% src/capymoa/datasets/_utils.py
6
77.14
0.0% src/capymoa/uncertainty/_adaptive_prediction_interval.py
6
77.14
0.0% src/capymoa/uncertainty/_mean_and_standard_deviation_estimation.py
6
83.33
0.31% src/capymoa/_utils.py
5
68.0
-0.63% src/capymoa/classifier/_adaptive_random_forest.py
5
64.71
0.0% src/capymoa/classifier/_online_adwin_bagging.py
5
56.25
-2.57% src/capymoa/cluster/_clustream_with_kmeans.py
5
56.25
-2.57% src/capymoa/cluster/_denstream_with_dbscan.py
5
94.29
0.0% src/capymoa/drift/detectors/abcd_components/windowing.py
5
92.19
0.12% src/capymoa/ocl/datasets/gradual.py
5
60.0
-0.98% src/capymoa/regressor/_adaptive_random_forest.py
4
95.5
-0.04% src/capymoa/anomaly/_iforest_asd.py
4
57.14
-2.86% src/capymoa/cluster/_clustream.py
4
96.46
0.06% src/capymoa/ocl/strategy/_ewc.py
4
66.67
0.0% src/capymoa/regressor/_soknl.py
3
95.12
-0.12% src/capymoa/base/_classifier.py
3
94.83
-0.09% src/capymoa/base/_regressor.py
3
92.68
0.38% src/capymoa/classifier/_shrubs_classifier.py
3
57.14
-2.86% src/capymoa/cluster/_clustree.py
3
89.23
-0.93% src/capymoa/datasets/_downloader.py
3
83.33
0.72% src/capymoa/ocl/events.py
3
94.44
0.1% src/capymoa/stream/_csv_stream.py
3
86.21
0.0% src/capymoa/stream/_stream_from_file.py
2
96.77
0.0% src/capymoa/stream/torch.py
1
98.96
-0.01% src/capymoa/anomaly/_rs_hash.py
1
92.86
0.0% src/capymoa/classifier/_passive_aggressive_classifier.py
1
29.73
0.0% src/capymoa/core/torch/ann/_resnet.py
1
97.73
-0.05% src/capymoa/ocl/evaluation/_metrics_handler.py
1
97.92
0.14% src/capymoa/ocl/strategy/_slda.py
1
94.12
0.18% src/capymoa/_optional.py
1
92.86
0.0% src/capymoa/regressor/_passive_aggressive_regressor.py
1
92.59
-0.26% tests/test_anomaly_detectors.py
1
98.13
0.0% tests/test_classifiers.py
1
98.44
0.0% tests/test_import.py
Jobs
ID Job ID Ran Files Coverage
1 34086228048.1 07 Sep 2026 05:26AM UTC 200
81.53
GitHub Action Run
Source Files on build 34086228048
  • Tree
  • List 200
  • Changed 182
  • Source Changed 182
  • Coverage Changed 147
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #34086228048
  • 36b1f67b on github
  • Prev Build on main (#34074096249)
  • Next Build on main (#34410137400)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE TRIAL · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc