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.
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
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
Statistics
- Stars: 110
- Watchers: 9
- Forks: 36
- Open Issues: 17
- Releases: 17
Metadata Files
README.md
CapyMOA

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 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
- Repositories: 1
- Profile: https://github.com/adaptive-machine-learning
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
Pull Request Labels
Dependencies
- actions/cache v4 composite
- actions/checkout v3 composite
- actions/checkout v4 composite
- actions/setup-python v5 composite
- wagoid/commitlint-github-action v6 composite
- click *
- jpype1 *
- matplotlib *
- numpy *
- pandas *
- pyarrow *
- scikit-learn *
- wget *
- jupyter-capymoa ${CAPYMOA_VERSION}
- 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