Metadata-Version: 2.3
Name: py-virtualcall
Version: 0.1.1
Summary: Marmoset virtual vocalization synthesizer, ported from Wang Lab VirtualCall V2.0
Author: HuYang
Author-email: HuYang <huyangcommit@gmail.com>
Requires-Dist: cyclopts
Requires-Dist: numpy
Requires-Dist: pydantic>=2.7
Requires-Dist: scipy
Requires-Dist: marimo
Requires-Dist: matplotlib
Requires-Dist: rich>=15.0.0
Requires-Python: >=3.14
Description-Content-Type: text/markdown

# py-virtualcall

Marmoset virtual vocalization synthesizer, ported from Wang Lab VirtualCall
V2.0 (MATLAB) based on DiMattina & Wang (2006, J. Neurophysiol.).

## Installation

```bash
pip install py-virtualcall        # published on PyPI
# or, for development:
uv sync                           # includes the marimo explorer app (marimo + matplotlib)
```

## Visual Explorer

A marimo notebook app (`src/py_virtualcall/marimo/notebook.py`) is bundled
with the package: form-based twitter synthesis through the full pipeline,
waveform preview, and wav export.

```bash
python -m py_virtualcall         # run the app: opens in the browser,
                                 # all cells run automatically
python -m py_virtualcall --edit  # edit the notebook
```

**Important**: in *edit* mode cells do **not** run automatically — press
"Run all cells" (top-right ▶▶ button, or `Cmd+Shift+Enter`) after opening.
Use plain `python -m py_virtualcall` (run mode) for a read-only app that
executes everything on load.

Without the launcher, run the notebook directly with the marimo CLI:

```bash
marimo run src/py_virtualcall/marimo/notebook.py
```

## Tests

```bash
uv run python -m unittest discover -s tests
```
