Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
33 changes: 17 additions & 16 deletions .github/workflows/Build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,25 +6,26 @@ jobs:
build:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
python-version: ["3.10", "3.11", "3.12", "3.13"]
python-version: ["3.11", "3.12", "3.13", "3.14"]
include:
- python-version: "3.14"
experimental: true

continue-on-error: ${{ matrix.experimental || false }}

steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4

- name: Install uv
uses: astral-sh/setup-uv@v7

- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python-version }}
run: uv python install ${{ matrix.python-version }}

- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install poetry
poetry self add poetry-plugin-shell
poetry self add poetry-plugin-export
poetry export -f requirements.txt -o requirements.txt --without-hashes --with dev
poetry run pip install --upgrade pip
poetry run pip install -q -r requirements.txt
poetry install -q
run: uv sync --group dev

- name: Test with pytest
run: |
poetry run pytest tests/
run: uv run pytest tests/
55 changes: 21 additions & 34 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ The **Hy**perscanning **Py**thon **P**ipeline

🤝 If you want to help you can submit bugs and suggestions of enhancements in our Github [Issues section](https://github.com/ppsp-team/HyPyP/issues).

🤓 For the motivated contributors, you can even help directly in the development of HyPyP. You will need to install [Poetry](https://python-poetry.org/) (see section below).
🤓 For the motivated contributors, you can even help directly in the development of HyPyP. You will need to install [uv](https://docs.astral.sh/uv/) (see section below).

## Contributors

Expand Down Expand Up @@ -49,16 +49,20 @@ For getting started with HyPyP, we have designed a little walkthrough: [getting_

🌊 [wavelet/\*.py](https://github.com/ppsp-team/HyPyP/blob/master/hypyp/wavelet) — Continuous Wavelet Transform and Wavelet Transform Coherence (Patrice)

📊 [shiny/\*.py](https://github.com/ppsp-team/HyPyP/blob/master/hypyp/app) — Shiny dashboards, install using `poetry install --extras shiny` (Patrice)
📊 [shiny/\*.py](https://github.com/ppsp-team/HyPyP/blob/master/hypyp/app) — Shiny dashboards, install using `uv sync --extra shiny` (Patrice)

## Poetry Installation (Only for Developers and Adventurous Users)
## Developer Installation (uv)

To develop HyPyP, we recommend using [Poetry 2.x](https://python-poetry.org/). Follow these steps:
To develop HyPyP, we recommend using [uv](https://docs.astral.sh/uv/). Follow these steps:

### 1. Install Poetry:
### 1. Install uv:

```bash
pip install poetry
# macOS / Linux
curl -LsSf https://astral.sh/uv/install.sh | sh

# or with pip
pip install uv
```

### 2. Clone the Repository:
Expand All @@ -71,48 +75,31 @@ cd HyPyP
### 3. Install Dependencies:

```bash
poetry install
```

Note: By default, dev dependencies (including JupyterLab) are not included in the main dependencies.
To install development dependencies, you can run:

```bash
poetry install --with dev
uv sync --group dev
```

### 4. Launch Jupyter Lab to Run Notebooks:

Instead of entering a shell, launch Jupyter Lab directly within the Poetry environment:

```bash
poetry run jupyter lab
uv run jupyter lab
```

## Additional Setup for Poetry

- **Install Poetry Plugins:**

To have full functionality with Poetry, add the following plugins:
### Optional extras:

```bash
poetry self add poetry-plugin-shell
poetry self add poetry-plugin-export
```

- **VS Code Integration:**
# Shiny dashboards
uv sync --group dev --extra shiny

To make the Poetry virtual environment available in VS Code, you might need to set Poetry to create in-project virtual environments. You can do this either by running:
# Numba optimization backend (CPU JIT)
uv sync --group dev --extra numba

```bash
poetry config virtualenvs.in-project true
# PyTorch optimization backend (GPU/MPS)
uv sync --group dev --extra torch
```

or by adding the following line to your .bashrc or .zshrc:
### VS Code Integration

```bash
poetry config virtualenvs.in-project true
```
uv creates a `.venv` directory in the project root by default. VS Code should auto-detect it. If not, point the Python interpreter to `.venv/bin/python`.

## Child Head Visualization

Expand Down
Binary file added data/NIRS/sample_1.snirf
Binary file not shown.
Binary file added data/NIRS/sample_2.snirf
Binary file not shown.
Binary file added data/NIRS/sample_3.snirf
Binary file not shown.
Binary file added data/NIRS/sample_4.snirf
Binary file not shown.
Loading
Loading