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

adaptive-machine-learning / CapyMOA
80%

Build:
DEFAULT BRANCH: main
Repo Added 09 Feb 2026 03:09AM UTC
Files 186
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

LAST BUILD ON BRANCH main
branch: SELECT
CHANGE BRANCH
x
  • No branch selected
  • DEMS
  • Loda
  • RS-Hash
  • RecurrentDriftAPI
  • build/pin-ruff
  • capy-benchmarking
  • code-cov
  • copilot/fix-documentation-github-actions
  • copilot/update-hddm-two-sided-documentation
  • datasets-csv-api
  • detector_docs
  • dev-container
  • docs/drift-detection-notebook
  • domain-incremental
  • events
  • ewc
  • feat/drift-concept-counts
  • feat/drift-ndt
  • feat/drift-python-composition
  • feat/drift-range-builder
  • feat/drift-transition-function
  • feat/torch-optional
  • feature_importance
  • fix-hyper100k
  • fix/abcd-torch-gating
  • fix/drift-constructor-validation
  • fix/drop-drift-alpha
  • fix/generator-str
  • fix/predict-discards-small-votes
  • fix/rshash-flaky-expectation
  • fix/sgbr-regression-wrapper
  • fmt
  • iForestASD
  • lwf
  • main
  • ocl.gradual
  • on-board
  • profiling
  • slow-tests
  • stubgen
  • tachyonicClock-patch-1
  • template

07 Aug 2026 11:22AM UTC coverage: 80.372% (+1.4%) from 78.984%
31173798693

push

github

hmgomes
fix(drift): make ABCD usable without PyTorch, and default to PCA

ABCD reconstructs instances with one of three encoder-decoder models. Only
the autoencoder needs PyTorch; PCAModel and KernelPCAModel use scikit-learn,
which is a core dependency. All three lived in feature_extraction.py, whose
module-level `import torch.nn` forced the whole detector behind the torch
gate, so `pip install capymoa` lost the only multivariate drift detector even
for configurations that never touch PyTorch.

Move AutoEncoder to its own module. It subclasses nn.Module, so the import
cannot be deferred into a method; a separate file is what lets abcd.py load it
lazily, and only when model_id="ae" is actually requested. Asking for that
model without the extra now raises OptionalDependencyError naming the model
rather than the detector, since the other two remain available.

Switch the default from "ae" to "pca" so a plain ABCD() works in a default
install. This changes the model an existing caller gets from the default, and
belongs in the release notes; on the univariate stream in the drift detection
notebook both models behave identically, so its stored output is unchanged.

Also give the unknown-model_id branch a message instead of a bare ValueError.

61 of 65 new or added lines in 4 files covered. (93.85%)

8783 of 10928 relevant lines covered (80.37%)

0.8 hits per line

Relevant lines Covered
Build:
Build:
10928 RELEVANT LINES 8783 COVERED LINES
0.8 HITS PER LINE
Source Files on main
  • Tree
  • List 186
  • Changed 6
  • Source Changed 4
  • Coverage Changed 6
Coverage ∆ File Lines Relevant Covered Missed Hits/Line

Recent builds

Builds Branch Commit Type Ran Committer Via Coverage
31173798693 main fix(drift): make ABCD usable without PyTorch, and default to PCA ABCD reconstructs instances with one of three encoder-decoder models. Only the autoencoder needs PyTorch; PCAModel and KernelPCAModel use scikit-learn, which is a core dependency. A... push 07 Aug 2026 11:40AM UTC hmgomes github
80.37
31171966888 fix/abcd-torch-gating Merge 467943dd1 into 7e307f0fe Pull #384 07 Aug 2026 11:16AM UTC web-flow github
80.37
31171682676 main feat: make PyTorch an optional extra (#370) Co-authored-by: Claude Opus 5 <noreply@anthropic.com> push 07 Aug 2026 11:10AM UTC web-flow github
78.98
31169155237 feat/torch-optional Merge 17c01163b into 73dcdf95e Pull #370 07 Aug 2026 10:34AM UTC web-flow github
78.98
31168101528 fix/abcd-torch-gating Merge 79d47494f into 73dcdf95e Pull #384 07 Aug 2026 10:19AM UTC web-flow github
80.37
31165532123 main docs(drift): move the KDD reference beside max_delay Cite the evaluation paper where max_delay is introduced rather than in a references block at the top, matching how the ADWIN and ABCD papers are cited beside the detectors that use them. Also ... push 07 Aug 2026 09:42AM UTC hmgomes github
78.86
31159762591 docs/drift-detection-notebook Merge 5f5e52f47 into 0fa9c29e8 Pull #383 07 Aug 2026 08:17AM UTC web-flow github
78.86
31149693460 docs/drift-detection-notebook Merge d8198f1f7 into 0fa9c29e8 Pull #383 07 Aug 2026 05:31AM UTC web-flow github
78.86
31147776823 main docs(drift): demonstrate the delay metrics and cite the source paper push 07 Aug 2026 04:54AM UTC hmgomes github
78.86
31147854884 docs/drift-detection-notebook Merge 328eb903a into 0fa9c29e8 Pull #383 07 Aug 2026 04:51AM UTC web-flow github
78.86
See All Builds (119)
  • Repo on GitHub
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