Metadata-Version: 2.4
Name: neuroweave-tools
Version: 0.1.0
Summary: A modular scientific modeling framework for temporal neural encoding models.
Author: NeuroWeave contributors
License: MIT
Keywords: neuroscience,encoding-models,trf,eeg,scientific-computing
Classifier: Development Status :: 2 - Pre-Alpha
Classifier: Intended Audience :: Science/Research
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Topic :: Scientific/Engineering
Requires-Python: >=3.10
Description-Content-Type: text/markdown
Provides-Extra: viz
Requires-Dist: matplotlib>=3.8; extra == "viz"
Provides-Extra: sklearn
Requires-Dist: scikit-learn>=1.4; extra == "sklearn"
Provides-Extra: torch
Requires-Dist: torch>=2.2; extra == "torch"
Provides-Extra: simulation
Requires-Dist: numpy>=1.26; extra == "simulation"
Requires-Dist: scipy>=1.12; extra == "simulation"
Provides-Extra: docs
Requires-Dist: sphinx>=7.2; extra == "docs"
Requires-Dist: pydata-sphinx-theme>=0.16; extra == "docs"
Requires-Dist: sphinx-gallery>=0.16; extra == "docs"
Requires-Dist: numpydoc>=1.8; extra == "docs"
Requires-Dist: sphinx-copybutton>=0.5; extra == "docs"
Requires-Dist: sphinx-design>=0.6; extra == "docs"
Requires-Dist: matplotlib>=3.8; extra == "docs"
Requires-Dist: numpy>=1.26; extra == "docs"
Provides-Extra: dev
Requires-Dist: black>=24.0; extra == "dev"
Requires-Dist: pytest>=8.0; extra == "dev"
Requires-Dist: ruff>=0.3; extra == "dev"

# NeuroWeave

NeuroWeave is a modular Python framework for temporal neural encoding models, including TRF-style models and planned extensions for connectivity, state-dependent, representational, and simulation workflows.

## Installation

Install the package in editable mode:

```bash
pip install -e .
```

Install with optional extras as needed:

```bash
pip install -e ".[dev]"
pip install -e ".[docs,viz]"
```

## Building the documentation

Install the documentation dependencies and build the HTML site:

```bash
pip install -e ".[docs]"
cd docs
make html
```

The build uses Sphinx, Sphinx-Gallery, and autosummary to generate the
tutorial gallery, user guide, and API reference.

## Development

The project uses a `src` layout and mirrored tests:

- `src/neuroweave/`: package source code
- `tests/neuroweave/`: test modules mirroring the package hierarchy
- `pyproject.toml`: package metadata and tool configuration

## Architecture Overview

The package is organized into focused modules for:

- `core`: shared abstractions and registry primitives
- `models`: TRF and higher-level model families
- `estimators`: fitting backends and estimator adapters
- `design`, `evaluation`, `stats`, `viz`: analysis utilities and workflows
- `simulation`: synthetic data generation and benchmark datasets
- `api`, `backends`, `utils`: user-facing entry points and integrations

The repository includes a Sphinx documentation skeleton under `docs/`, using
`pydata-sphinx-theme` and autosummary-generated API reference pages.
