capymoa

Enhanced machine learning library tailored for data streams, featuring a Python API integrated with MOA backend support. This unique combination empowers users to leverage a wide array of existing algorithms efficiently while fostering the development of new methodologies in both Python and Java.

https://github.com/adaptive-machine-learning/capymoa

Science Score: 54.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
    Links to: arxiv.org
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (16.3%) to scientific vocabulary
Last synced: 6 months ago · JSON representation ·

Repository

Enhanced machine learning library tailored for data streams, featuring a Python API integrated with MOA backend support. This unique combination empowers users to leverage a wide array of existing algorithms efficiently while fostering the development of new methodologies in both Python and Java.

Basic Info
  • Host: GitHub
  • Owner: adaptive-machine-learning
  • License: bsd-3-clause
  • Language: Jupyter Notebook
  • Default Branch: main
  • Homepage:
  • Size: 80.8 MB
Statistics
  • Stars: 110
  • Watchers: 9
  • Forks: 36
  • Open Issues: 17
  • Releases: 17
Created over 2 years ago · Last pushed 6 months ago
Metadata Files
Readme Changelog Contributing License Citation

README.md

CapyMOA

Banner Image

PyPi Version Join the Discord Documentation GitHub

Machine learning library tailored for data streams. Featuring a Python API tightly integrated with MOA (Stream Learners), PyTorch (Neural Networks), and scikit-learn (Machine Learning). CapyMOA provides a fast python interface to leverage the state-of-the-art algorithms in the field of data streams.

To setup CapyMOA, simply install it via pip. If you have any issues with the installation (like not having Java installed) or if you want GPU support, please refer to the installation guide. Once installed take a look at the tutorials to get started.

```bash

CapyMOA requires Java. This checks if you have it installed

java -version

CapyMOA requires PyTorch. This installs the CPU version

pip install torch torchvision --index-url https://download.pytorch.org/whl/cpu

Install CapyMOA and its dependencies

pip install capymoa

Check that the install worked

python -c "import capymoa; print(capymoa.version)" ```

⚠️ WARNING

CapyMOA is still in the early stages of development. The API is subject to change until version 1.0.0. If you encounter any issues, please report them in GitHub Issues or talk to us on Discord.


Benchmark Image Benchmark comparing CapyMOA against other data stream libraries. The benchmark was performed using an ensemble of 100 ARF learners trained on capymoa.datasets.RTG_2abrupt dataset containing 100,000 samples and 30 features. You can find the code to reproduce this benchmark in notebooks/benchmarking.py. CapyMOA has the speed of MOA with the flexibility of Python and the richness of Python's data science ecosystem.

Cite Us

If you use CapyMOA in your research, please cite us using the following BibTeX item. @misc{ gomes2025capymoaefficientmachinelearning, title={{CapyMOA}: Efficient Machine Learning for Data Streams in Python}, author={Heitor Murilo Gomes and Anton Lee and Nuwan Gunasekara and Yibin Sun and Guilherme Weigert Cassales and Justin Jia Liu and Marco Heyden and Vitor Cerqueira and Maroua Bahri and Yun Sing Koh and Bernhard Pfahringer and Albert Bifet}, year={2025}, eprint={2502.07432}, archivePrefix={arXiv}, primaryClass={cs.LG}, url={https://arxiv.org/abs/2502.07432}, }

Owner

  • Name: adaptive-machine-learning
  • Login: adaptive-machine-learning
  • Kind: organization

Citation (CITATION.cff)

cff-version: 1.2.0
message: "If you use CapyMOA, please cite it as described below."
version: 0.8.2
doi: ""
date-released: 2025-02-11
authors:
- family-names: "Gomes"
  given-names: "Heitor Murilo"
  orcid: "https://orcid.org/0000-0002-5276-637X"
- family-names: "Lee"
  given-names: "Anton"
  orcid: "https://orcid.org/0009-0008-6566-7785"
- family-names: "Gunasekara"
  given-names: "Nuwan"
  orcid: "https://orcid.org/0000-0002-7964-6036"
- family-names: "Sun"
  given-names: "Yibin"
  orcid: "https://orcid.org/0000-0002-8325-1889"
- family-names: "Cassales"
  given-names: "Guilherme Weigert"
  orcid: "https://orcid.org/0000-0003-4029-2047"
- family-names: "Liu"
  given-names: "Justin Jia"
- family-names: "Heyden"
  given-names: "Marco"
  orcid: "https://orcid.org/0000-0003-4981-709X"
- family-names: "Cerqueira"
  given-names: "Vitor"
  orcid: "https://orcid.org/0000-0002-9694-8423"
- family-names: "Bahri"
  given-names: "Maroua"
  orcid: "https://orcid.org/0000-0002-7420-7464"
- family-names: "Koh"
  given-names: "Yun Sing"
  orcid: "https://orcid.org/0000-0001-7256-4049"
- family-names: "Pfahringer"
  given-names: "Bernhard"
  orcid: "https://orcid.org/0000-0002-3732-5787"
- family-names: "Bifet"
  given-names: "Albert"
  orcid: "https://orcid.org/0000-0002-8339-7773"
license: "BSD-3-Clause"
url: "https://github.com/adaptive-machine-learning/CapyMOA"
preferred-citation:
  type: article
  authors:
    - family-names: "Gomes"
      given-names: "Heitor Murilo"
      orcid: "https://orcid.org/0000-0002-5276-637X"
    - family-names: "Lee"
      given-names: "Anton"
      orcid: "https://orcid.org/0009-0008-6566-7785"
    - family-names: "Gunasekara"
      given-names: "Nuwan"
      orcid: "https://orcid.org/0000-0002-7964-6036"
    - family-names: "Sun"
      given-names: "Yibin"
      orcid: "https://orcid.org/0000-0002-8325-1889"
    - family-names: "Cassales"
      given-names: "Guilherme Weigert"
      orcid: "https://orcid.org/0000-0003-4029-2047"
    - family-names: "Liu"
      given-names: "Justin Jia"
    - family-names: "Heyden"
      given-names: "Marco"
      orcid: "https://orcid.org/0000-0003-4981-709X"
    - family-names: "Cerqueira"
      given-names: "Vitor"
      orcid: "https://orcid.org/0000-0002-9694-8423"
    - family-names: "Bahri"
      given-names: "Maroua"
      orcid: "https://orcid.org/0000-0002-7420-7464"
    - family-names: "Koh"
      given-names: "Yun Sing"
      orcid: "https://orcid.org/0000-0001-7256-4049"
    - family-names: "Pfahringer"
      given-names: "Bernhard"
      orcid: "https://orcid.org/0000-0002-3732-5787"
    - family-names: "Bifet"
      given-names: "Albert"
      orcid: "https://orcid.org/0000-0002-8339-7773"
  title: "CapyMOA: Efficient Machine Learning for Data Streams in Python"
  journal: "arXiv"
  year: 2025
  doi: "10.48550/arXiv.2502.07432"

GitHub Events

Total
  • Create event: 18
  • Release event: 6
  • Issues event: 15
  • Watch event: 42
  • Delete event: 29
  • Issue comment event: 47
  • Push event: 83
  • Pull request review comment event: 8
  • Pull request review event: 12
  • Pull request event: 127
  • Fork event: 15
Last Year
  • Create event: 18
  • Release event: 6
  • Issues event: 15
  • Watch event: 42
  • Delete event: 29
  • Issue comment event: 47
  • Push event: 83
  • Pull request review comment event: 8
  • Pull request review event: 12
  • Pull request event: 127
  • Fork event: 15

Issues and Pull Requests

Last synced: 6 months ago

All Time
  • Total issues: 16
  • Total pull requests: 157
  • Average time to close issues: about 2 months
  • Average time to close pull requests: 8 days
  • Total issue authors: 7
  • Total pull request authors: 16
  • Average comments per issue: 0.94
  • Average comments per pull request: 0.73
  • Merged pull requests: 105
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 7
  • Pull requests: 67
  • Average time to close issues: 8 days
  • Average time to close pull requests: 10 days
  • Issue authors: 5
  • Pull request authors: 11
  • Average comments per issue: 0.29
  • Average comments per pull request: 0.28
  • Merged pull requests: 44
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • hmgomes (5)
  • tachyonicClock (5)
  • Sandy4321 (3)
  • nuwangunasekara (2)
  • Kirstenml (1)
  • v0lta (1)
  • yankong12 (1)
  • fabriciojoc (1)
  • nirojasva (1)
Pull Request Authors
  • tachyonicClock (66)
  • YibinSun (24)
  • justinuliu (16)
  • hmgomes (12)
  • DwayneAcosta (8)
  • cassales (7)
  • vcerqueira (6)
  • heymarco (6)
  • risheetperi (5)
  • nuwangunasekara (4)
  • ineveLoppiliF (3)
  • sbuschjaeger (2)
  • AlejandroUN (1)
  • RichardLitt (1)
  • marouabahri (1)
Top Labels
Issue Labels
bug (3) documentation (2) discussion (1) enhancement (1)
Pull Request Labels

Dependencies

.github/workflows/pr.yml actions
  • actions/cache v4 composite
  • actions/checkout v3 composite
  • actions/checkout v4 composite
  • actions/setup-python v5 composite
  • wagoid/commitlint-github-action v6 composite
pyproject.toml pypi
  • click *
  • jpype1 *
  • matplotlib *
  • numpy *
  • pandas *
  • pyarrow *
  • scikit-learn *
  • wget *
docker/docker-compose.yml docker
  • jupyter-capymoa ${CAPYMOA_VERSION}
.github/workflows/release.yml actions
  • actions/checkout v3 composite
  • actions/checkout v4 composite
  • actions/deploy-pages v4 composite
  • actions/setup-python v5 composite
  • actions/upload-pages-artifact v3 composite
  • docker/build-push-action v5 composite
  • docker/login-action v3 composite
  • docker/setup-buildx-action v3 composite
  • pypa/gh-action-pypi-publish release/v1 composite
  • python-semantic-release/python-semantic-release v9.5.0 composite
  • python-semantic-release/upload-to-gh-release 0f96c02a48278aff14251e9f1a0d73122a8c638b composite