Metadata-Version: 2.4
Name: bcijelly
Version: 0.7.1
Summary: BCI utilities and models
Author-email: Liyuan Han <hanliyuan@ion.ac.cn>
License: MIT
Classifier: Programming Language :: Python :: 3
Classifier: Operating System :: OS Independent
Requires-Python: >=3.9
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: numpy<2
Requires-Dist: torch
Requires-Dist: scipy
Requires-Dist: transformers
Requires-Dist: iblatlas
Requires-Dist: scikit-learn
Requires-Dist: matplotlib
Requires-Dist: huggingface_hub
Requires-Dist: spikingjelly
Requires-Dist: pytorch-lightning
Requires-Dist: hydra-core==1.3.0
Requires-Dist: h5py
Requires-Dist: setuptools
Provides-Extra: agent
Requires-Dist: einops; extra == "agent"
Requires-Dist: timm; extra == "agent"
Provides-Extra: lfads
Requires-Dist: torchmetrics==0.7.2; extra == "lfads"
Requires-Dist: pytorch-lightning; extra == "lfads"
Requires-Dist: hydra-core==1.3.0; extra == "lfads"
Requires-Dist: h5py; extra == "lfads"
Requires-Dist: ray[tune]; extra == "lfads"
Requires-Dist: matplotlib; extra == "lfads"
Requires-Dist: wandb; extra == "lfads"
Requires-Dist: seaborn; extra == "lfads"
Requires-Dist: setuptools<81; extra == "lfads"
Provides-Extra: chip
Requires-Dist: spikingjelly; extra == "chip"
Provides-Extra: poyo
Requires-Dist: torch-brain; extra == "poyo"
Requires-Dist: brainsets; extra == "poyo"
Provides-Extra: dev
Requires-Dist: pytest>=7; extra == "dev"
Requires-Dist: twine>=5; extra == "dev"
Requires-Dist: build>=1; extra == "dev"
Requires-Dist: openpyxl; extra == "dev"
Dynamic: license-file

# BCIJelly

## Welcome

Welcome to BCIJelly, a Python toolkit for invasive BCI workflows.

BCIJelly provides a unified pipeline for:

- loading datasets
- splitting train/val/test data
- creating and training baseline models
- evaluating model performance
- summarizing experiment outputs

SearchAgent note:

- `SearchAgent` is currently experimental (testing preview).
- The model/task space exposed by the agent is currently not complete.

## Install

Install from PyPI:

```bash
pip install -U bcijelly
```

Install LFADS extras only when needed:

```bash
pip install -U "bcijelly[lfads]"
```

Install SearchAgent extras only when needed:

```bash
pip install -U "bcijelly[agent]"
```

Install POYO extras only when needed:

```bash
pip install -U "bcijelly[poyo]"
```

Install chip deployment extras only when needed:

```bash
pip install -U "bcijelly[chip]"
```

Verify installation:

```bash
python -c "import bcijelly; print(bcijelly.__file__)"
python -c "from bcijelly import load_data, summary; print('bcijelly import OK')"
```


## Links to Docs

Primary docs entry:

- [docs/General/overview.en.md](docs/General/overview.en.md)

Demo docs:

- [docs/Demo/demo.en.md](docs/Demo/demo.en.md)
- [docs/Demo/complex_scenarios.en.md](docs/Demo/complex_scenarios.en.md)
- [docs/Demo/chip_deploy.en.md](docs/Demo/chip_deploy.en.md)

API docs:

- [docs/API/load_data.en.md](docs/API/load_data.en.md)
- [docs/API/agent.en.md](docs/API/agent.en.md)
- [docs/API/model.en.md](docs/API/model.en.md)
- [docs/API/model.train.en.md](docs/API/model.train.en.md)
- [docs/API/model.test.en.md](docs/API/model.test.en.md)
- [docs/API/summary.en.md](docs/API/summary.en.md)
- [docs/API/toChip.en.md](docs/API/toChip.en.md)

## License

BCIJelly is licensed under the MIT License.

- [LICENSE](LICENSE)

## Contributors

- Liyuan Han (hanliyuan@ion.ac.cn)

## References

Project-level publication references are not finalized yet.

- TODO: add official BCIJelly citation when available.

Related model reference:

- Sedler AR, Pandarinath C. lfads-torch: A modular and extensible implementation of latent factor analysis via dynamical systems. arXiv:2309.01230.
