Skip to content

Commit 2b5c9fc

Browse files
audristroyerclaude
andcommitted
Update documentation: fix Python version, install instructions, test counts
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
1 parent af65aba commit 2b5c9fc

4 files changed

Lines changed: 29 additions & 28 deletions

File tree

CHANGELOG.md

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -32,11 +32,12 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
3232
- **OpenMINDS integration**: Object-to-dict serialization, NDI document conversion, controlled term lookup
3333
- **Mock utilities**: Subject/stimulator/neuron generators, CalculatorTest fixture
3434
- **MATLAB mapping**: Comprehensive MATLAB-to-Python function reference (MATLAB_MAPPING.md)
35-
- **CI/CD**: GitHub Actions workflow for Python 3.9-3.12
36-
- **1,277 tests** across 30 test files
35+
- **CI/CD**: GitHub Actions workflow for Python 3.10-3.12 with lint (black + ruff) and test matrix
36+
- **Code quality**: black formatting + ruff linting enforced in CI
37+
- **1,704 tests** across 50 test files
3738

3839
### Notes
3940

4041
- Ported from [VH-Lab/NDI-matlab](https://github.com/VH-Lab/NDI-matlab)
41-
- 117 production Python files, 25,691 lines of code
42+
- 117 production Python files, ~26,000 lines of code
4243
- Requires [DID-python](https://github.com/VH-Lab/DID-python) and [vhlab-toolbox-python](https://github.com/VH-Lab/vhlab-toolbox-python)

README.md

Lines changed: 18 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
# NDI-Python
22

33
[![CI](https://github.com/Waltham-Data-Science/NDI-python/actions/workflows/ci.yml/badge.svg)](https://github.com/Waltham-Data-Science/NDI-python/actions/workflows/ci.yml)
4-
[![Python 3.9+](https://img.shields.io/badge/python-3.9%2B-blue.svg)](https://www.python.org/downloads/)
4+
[![Python 3.10+](https://img.shields.io/badge/python-3.10%2B-blue.svg)](https://www.python.org/downloads/)
55
[![License: CC BY-NC-SA 4.0](https://img.shields.io/badge/License-CC%20BY--NC--SA%204.0-lightgrey.svg)](https://creativecommons.org/licenses/by-nc-sa/4.0/)
66

77
Python implementation of the **Neuroscience Data Interface** ([NDI](https://neurodatainterface.org)) — a framework for managing, querying, and analyzing neuroscience experimental data.
@@ -37,17 +37,15 @@ source venv/bin/activate # Linux/macOS
3737
# venv\Scripts\activate # Windows
3838

3939
# Install VH-Lab dependencies (not yet on PyPI)
40-
# DID-python must be installed from source (editable mode) due to a packaging
41-
# issue where pip install git+... misses the did.implementations subpackage.
40+
# DID-python has a packaging bug (pyproject.toml misses subpackages), so we
41+
# clone it and use PYTHONPATH rather than pip install.
4242
git clone https://github.com/VH-Lab/DID-python.git /tmp/DID-python
43-
pip install -e /tmp/DID-python
44-
45-
# vhlab-toolbox-python has no pyproject.toml — add to PYTHONPATH
4643
git clone https://github.com/VH-Lab/vhlab-toolbox-python.git /tmp/vhlab-toolbox-python
47-
export PYTHONPATH="/tmp/vhlab-toolbox-python:$PYTHONPATH"
44+
export PYTHONPATH="/tmp/DID-python/src:/tmp/vhlab-toolbox-python:$PYTHONPATH"
4845

49-
# Install NDI-python in editable mode
50-
pip install -e ".[dev]"
46+
# Install NDI-python in editable mode (--no-deps avoids the broken DID pip install)
47+
pip install -e ".[dev]" --no-deps
48+
pip install numpy networkx jsonschema requests pytest pytest-cov scipy
5149
```
5250

5351
### Dependencies
@@ -207,19 +205,24 @@ pytest tests/ -v
207205
pytest tests/test_document.py -v
208206

209207
# Run with coverage
210-
pytest tests/ --cov=ndi --cov-report=html
208+
pytest tests/ --cov=src/ndi --cov-report=term-missing
211209
```
212210

213211
### Code Quality
214212

213+
CI enforces formatting and lint on every push/PR:
214+
215215
```bash
216-
# Format code
216+
# Format code (must pass `black --check` in CI)
217217
black src/ tests/
218218

219-
# Lint
219+
# Lint (must pass `ruff check` in CI)
220220
ruff check src/ tests/
221221

222-
# Type check
222+
# Auto-fix lint issues
223+
ruff check --fix src/ tests/
224+
225+
# Type check (optional, not yet enforced in CI)
223226
mypy src/ndi/
224227
```
225228

@@ -233,9 +236,9 @@ mkdocs serve # Local preview at http://127.0.0.1:8000
233236

234237
## Test Coverage
235238

236-
- **1,277 tests passing** across 30 test files
239+
- **1,704 tests passing** across 30+ test files (Python 3.10, 3.11, 3.12)
237240
- Covers all modules: core, DAQ, time, session, app, cloud, ontology, validation
238-
- 3 tests skipped (pre-existing schema path edge cases)
241+
- ~71% line coverage across `src/ndi/`
239242

240243
## License
241244

docs/getting-started.md

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44

55
### Prerequisites
66

7-
- Python 3.9 or later
7+
- Python 3.10 or later
88
- Git (for installing VH-Lab dependencies)
99

1010
### Install from source
@@ -18,16 +18,14 @@ python -m venv venv
1818
source venv/bin/activate # Linux/macOS
1919

2020
# Install VH-Lab dependencies (not yet on PyPI)
21-
# DID-python must be cloned and installed in editable mode
21+
# DID-python has a packaging bug — use PYTHONPATH instead of pip install
2222
git clone https://github.com/VH-Lab/DID-python.git /tmp/DID-python
23-
pip install -e /tmp/DID-python
24-
25-
# vhlab-toolbox-python has no pyproject.toml — add to PYTHONPATH
2623
git clone https://github.com/VH-Lab/vhlab-toolbox-python.git /tmp/vhlab-toolbox-python
27-
export PYTHONPATH="/tmp/vhlab-toolbox-python:$PYTHONPATH"
24+
export PYTHONPATH="/tmp/DID-python/src:/tmp/vhlab-toolbox-python:$PYTHONPATH"
2825

29-
# Install NDI-python
30-
pip install -e ".[dev]"
26+
# Install NDI-python (--no-deps avoids broken DID pip install)
27+
pip install -e ".[dev]" --no-deps
28+
pip install numpy networkx jsonschema requests pytest pytest-cov scipy
3129
```
3230

3331
## Basic Usage

docs/index.md

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -35,10 +35,9 @@ with MockSession('demo') as session:
3535
```bash
3636
git clone https://github.com/Waltham-Data-Science/NDI-python.git
3737
cd NDI-python
38-
pip install -e ".[dev]"
3938
```
4039

41-
See the [README](https://github.com/Waltham-Data-Science/NDI-python#readme) for full installation instructions including VH-Lab dependency setup.
40+
See the [Getting Started guide](getting-started.md) or the [README](https://github.com/Waltham-Data-Science/NDI-python#readme) for full installation instructions including VH-Lab dependency setup.
4241

4342
## MATLAB Migration
4443

0 commit comments

Comments
 (0)