Skip to content

Commit 2c44af4

Browse files
authored
Merge pull request #7 from dfeen87/copilot/fix-reproducibility-and-packaging-drift
Fix reproducibility and packaging drift
2 parents dd131cf + ee51574 commit 2c44af4

4 files changed

Lines changed: 53 additions & 57 deletions

File tree

README.md

Lines changed: 7 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -70,8 +70,8 @@ G(t) = 1{ΔΦ(t) ≥ τ}
7070

7171
```bash
7272
# Clone the repository
73-
git clone https://github.com/dfeen87/triadic-biosignal-monitor.git
74-
cd triadic-biosignal-monitor
73+
git clone https://github.com/dfeen87/Triadic-Biosignal-Monitor.git
74+
cd Triadic-Biosignal-Monitor
7575

7676
# Install dependencies
7777
pip install -r requirements.txt
@@ -88,7 +88,7 @@ jupyter notebook notebooks/01_phase_extraction_demo.ipynb
8888
## Repository Structure
8989

9090
```
91-
triadic-biosignal-monitor/
91+
Triadic-Biosignal-Monitor/
9292
├── README.md # This file
9393
├── LICENSE # MIT License
9494
├── .github/workflows # CI Pipeline
@@ -417,45 +417,14 @@ pytest --cov=core tests/
417417
Comprehensive documentation available in `/docs/`:
418418

419419
- **[SCOPE_AND_SAFETY.md](docs/SCOPE_AND_SAFETY.md)** - Medical-device safe language, regulatory guidance
420-
- **[IMPLEMENTATION_GUIDE.md](docs/IMPLEMENTATION_GUIDE.md)** - Technical implementation details
421420
- **[REPRODUCIBILITY.md](docs/REPRODUCIBILITY.md)** - How to reproduce paper results
422-
- **[API_REFERENCE.md](docs/API_REFERENCE.md)** - Function signatures and usage
423421
- **[VALIDATION_PROTOCOL.md](docs/VALIDATION_PROTOCOL.md)** - Prospective validation guidelines
424422

425423
---
426424

427425
## Dependencies
428426

429-
```
430-
# Core numerical computing
431-
numpy>=1.24.0
432-
scipy>=1.10.0
433-
434-
# Signal processing
435-
mne>=1.3.0 # EEG processing
436-
neurokit2>=0.2.0 # ECG/HRV analysis
437-
PyWavelets>=1.4.0 # Wavelet transforms
438-
439-
# Entropy and complexity
440-
antropy>=0.1.6 # Entropy measures
441-
nolds>=0.5.2 # Nonlinear dynamics
442-
443-
# Configuration
444-
pyyaml>=6.0
445-
h5py>=3.8.0
446-
447-
# Visualization
448-
matplotlib>=3.7.0
449-
seaborn>=0.12.0
450-
451-
# Testing
452-
pytest>=7.3.0
453-
pytest-cov>=4.0.0
454-
455-
# Notebooks
456-
jupyter>=1.0.0
457-
ipywidgets>=8.0.0
458-
```
427+
See [`requirements.txt`](requirements.txt) for the full, versioned list of dependencies.
459428

460429
---
461430

@@ -504,7 +473,7 @@ If you use this software in your research, please cite:
504473
Early-Warning Detection in Coupled EEG–ECG Time Series},
505474
year = {2026},
506475
publisher = {GitHub},
507-
url = {https://github.com/dfeen87/triadic-biosignal-monitor}
476+
url = {https://github.com/dfeen87/Triadic-Biosignal-Monitor}
508477
}
509478
510479
@article{kruger2026operator,
@@ -552,8 +521,8 @@ This work builds on established signal processing and time-series analysis metho
552521

553522
## Contact & Support
554523

555-
- **Issues:** [GitHub Issues](https://github.com/dfeen87/triadic-biosignal-monitor/issues)
556-
- **Discussions:** [GitHub Discussions](https://github.com/dfeen87/triadic-biosignal-monitor/discussions)
524+
- **Issues:** [GitHub Issues](https://github.com/dfeen87/Triadic-Biosignal-Monitor/issues)
525+
- **Discussions:** [GitHub Discussions](https://github.com/dfeen87/Triadic-Biosignal-Monitor/discussions)
557526
- **Email:** marcelkrueger092@gmail.com, dfeen87@gmail.com
558527

559528
---

requirements.txt

Lines changed: 26 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,40 +1,48 @@
11
# Core Scientific Computing
2-
numpy>=1.21.0,<2.0.0
3-
scipy>=1.7.0,<2.0.0
4-
matplotlib>=3.4.0,<4.0.0
2+
numpy>=1.24.0,<2.0.0
3+
scipy>=1.10.0,<2.0.0
4+
matplotlib>=3.7.0,<4.0.0
55
pandas>=1.3.0,<3.0.0
66

77
# Signal Processing
88
scikit-learn>=1.0.0,<2.0.0
9+
mne>=1.3.0,<2.0.0
10+
neurokit2>=0.2.0,<1.0.0
11+
PyWavelets>=1.4.0
12+
13+
# Entropy and Complexity
14+
antropy>=0.1.6
15+
nolds>=0.5.2
16+
17+
# Data Storage
18+
h5py>=3.8.0
919

1020
# Jupyter and Notebooks
1121
jupyter>=1.0.0
1222
jupyterlab>=3.0.0
1323
notebook>=6.4.0
1424
ipykernel>=6.0.0
1525
nbconvert>=6.0.0
26+
ipywidgets>=8.0.0
1627

1728
# Visualization
18-
seaborn>=0.11.0,<1.0.0
29+
seaborn>=0.12.0,<1.0.0
1930
plotly>=5.0.0,<6.0.0
2031

21-
# Optional: EEG/ECG Data Loading
22-
mne>=1.0.0,<2.0.0 # For EEG data formats (.edf, .fif)
23-
24-
# Optional: Additional utilities
25-
tqdm>=4.60.0 # Progress bars
26-
pyyaml>=5.4.0 # Configuration files
32+
# Configuration and Utilities
33+
tqdm>=4.60.0
34+
pyyaml>=6.0
2735

2836
# Testing (optional but recommended)
29-
pytest>=6.2.0,<8.0.0
30-
pytest-cov>=2.12.0
37+
pytest>=7.3.0,<8.0.0
38+
pytest-cov>=4.0.0
3139

3240
# Code Quality (optional)
33-
black>=21.0 # Code formatting
34-
flake8>=3.9.0 # Linting
35-
pylint>=2.10.0 # Static analysis
36-
mypy>=0.910 # Type checking
41+
black>=21.0
42+
flake8>=3.9.0
43+
pylint>=2.10.0
44+
mypy>=0.910
3745

3846
# Documentation (optional)
39-
sphinx>=4.0.0 # Documentation generation
40-
sphinx-rtd-theme>=0.5.0 # ReadTheDocs theme
47+
sphinx>=4.0.0
48+
sphinx-rtd-theme>=0.5.0

setup.py

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,11 +5,19 @@
55

66
from setuptools import setup, find_packages
77
from pathlib import Path
8+
import re
89

910
# Read the README file for long description
1011
this_directory = Path(__file__).parent
1112
long_description = (this_directory / "README.md").read_text(encoding="utf-8")
1213

14+
# Read version from the package __init__.py (single source of truth)
15+
init_text = (this_directory / "triadic_biosignal_monitor" / "__init__.py").read_text(encoding="utf-8")
16+
version_match = re.search(r'^__version__\s*=\s*["\']([^"\']+)["\']', init_text, re.MULTILINE)
17+
if not version_match:
18+
raise RuntimeError("Unable to find version in triadic_biosignal_monitor/__init__.py")
19+
version = version_match.group(1)
20+
1321
# Read requirements from requirements.txt
1422
requirements = []
1523
with open("requirements.txt", "r", encoding="utf-8") as f:
@@ -35,7 +43,7 @@
3543

3644
setup(
3745
name="triadic-biosignal-monitor",
38-
version="1.0.0",
46+
version=version,
3947
author="Marcel Krüger, Don Feeney",
4048
author_email="marcelkrueger092@gmail.com, dfeen87@gmail.com",
4149
description="Operator-based heart-brain monitoring via triadic spiral-time embeddings",
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
"""
2+
Triadic Biosignal Monitor
3+
4+
Operator-based heart-brain monitoring via triadic spiral-time embeddings.
5+
6+
Authors: Marcel Krüger, Don Feeney
7+
"""
8+
9+
__version__ = "1.0.0"
10+
__author__ = "Marcel Krüger, Don Feeney"
11+
__email__ = "marcelkrueger092@gmail.com, dfeen87@gmail.com"

0 commit comments

Comments
 (0)