Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
23 commits
Select commit Hold shift + click to select a range
eeb6b65
Merge pull request #119 from MitchellAcoustics/dev
MitchellAcoustics May 15, 2025
585f82e
Remove pyproject.toml version verification from Release action
MitchellAcoustics May 15, 2025
0edf274
Remove unneeded files from package build
MitchellAcoustics May 15, 2025
74f6889
Include data files in publish
MitchellAcoustics May 15, 2025
675fe20
Enable package data inclusion in setuptools configuration
MitchellAcoustics May 15, 2025
cb208fa
Remove [all] download in pypi test - R env not available.
MitchellAcoustics May 15, 2025
037ac75
Update documentation and dependencies in various files
MitchellAcoustics Sep 17, 2025
9155f85
docs: small updates to tutorials
MitchellAcoustics Sep 24, 2025
be98cac
Update SPI module docstring
MitchellAcoustics Sep 24, 2025
b91de96
Add CircE package support to R wrapper module
MitchellAcoustics Sep 24, 2025
63383e6
wip: Add CircE wrapper for circumplex model fitting
MitchellAcoustics Sep 24, 2025
9efa767
Add function to extract fit statistics from BFGS model objects
MitchellAcoustics Sep 25, 2025
625abab
Expose CircE model fitting functionality in SPI module
MitchellAcoustics Sep 26, 2025
fd04548
Refactor CircE model handling: move classes to new circe.py module an…
MitchellAcoustics Sep 29, 2025
aa02bbd
Type hint update
MitchellAcoustics Sep 30, 2025
88a5bd9
feat: Add SATP module and refactor r wrappers
MitchellAcoustics Oct 1, 2025
feaea24
fix: update tests
MitchellAcoustics Oct 1, 2025
1a41b35
chore: fix linting errors and update tests
MitchellAcoustics Oct 1, 2025
cd19025
feat: add RTHORR package support and update R session handling
MitchellAcoustics Oct 2, 2025
d9d71f2
fix: update doctest syntax from xdoctest to doctest
MitchellAcoustics Oct 2, 2025
e620fee
feat: add warnings for experimental SATP and SPI analysis modules
MitchellAcoustics Oct 2, 2025
74e7226
fix: update factor list in test matrix to include 'r'
MitchellAcoustics Oct 2, 2025
b1a2422
fix: run pre-commit linting
MitchellAcoustics Oct 2, 2025
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
26 changes: 8 additions & 18 deletions .github/workflows/tag-release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -47,16 +47,6 @@ jobs:
exit 1
fi

- name: Verify version matches pyproject.toml
run: |
VERSION_STR=${{ steps.release.outputs.version_str }}
TOML_VERSION=$(grep -oP '^version = "\K[^"]+' pyproject.toml)

if [ "${VERSION_STR}" != "${TOML_VERSION}" ]; then
echo "Error: Tag version (${VERSION_STR}) does not match pyproject.toml version (${TOML_VERSION})"
exit 1
fi

setup_and_build:
needs:
- details
Expand Down Expand Up @@ -127,14 +117,14 @@ jobs:
command: python -m pip install "soundscapy[audio]==${{ needs.details.outputs.version_str }}"
- run: python -c "import soundscapy; print(soundscapy.__version__); from soundscapy import Binaural"

- name: Install soundscapy[all] from TestPyPI
uses: nick-fields/retry@v3
with:
timeout_minutes: 5
max_attempts: 3
retry_wait_seconds: 30
command: python -m pip install "soundscapy[all]==${{ needs.details.outputs.version_str }}"
- run: python -c "import soundscapy; print(soundscapy.__version__); from soundscapy import Binaural"
# - name: Install soundscapy[all] from TestPyPI
# uses: nick-fields/retry@v3
# with:
# timeout_minutes: 5
# max_attempts: 3
# retry_wait_seconds: 30
# command: python -m pip install "soundscapy[all]==${{ needs.details.outputs.version_str }}"
# - run: python -c "import soundscapy; print(soundscapy.__version__); from soundscapy import Binaural"

github_release:
name: Create GitHub Release
Expand Down
16 changes: 8 additions & 8 deletions .github/workflows/test-tag-release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -114,11 +114,11 @@ jobs:
command: python -m pip install --index-url https://test.pypi.org/simple/ --extra-index-url https://pypi.org/simple/ "soundscapy[audio]==${{ needs.details.outputs.version_str }}"
- run: python -c "import soundscapy; print(soundscapy.__version__); from soundscapy import Binaural"

- name: Install soundscapy[all] from TestPyPI
uses: nick-fields/retry@v3
with:
timeout_minutes: 5
max_attempts: 3
retry_wait_seconds: 30
command: python -m pip install --index-url https://test.pypi.org/simple/ --extra-index-url https://pypi.org/simple/ "soundscapy[all]==${{ needs.details.outputs.version_str }}"
- run: python -c "import soundscapy; print(soundscapy.__version__); from soundscapy import Binaural"
# - name: Install soundscapy[all] from TestPyPI
# uses: nick-fields/retry@v3
# with:
# timeout_minutes: 5
# max_attempts: 3
# retry_wait_seconds: 30
# command: python -m pip install --index-url https://test.pypi.org/simple/ --extra-index-url https://pypi.org/simple/ "soundscapy[all]==${{ needs.details.outputs.version_str }}"
# - run: python -c "import soundscapy; print(soundscapy.__version__); from soundscapy import Binaural"
2 changes: 1 addition & 1 deletion .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ jobs:
fail-fast: false
matrix:
python-version: ["3.10", "3.11", "3.12"]
factor: [core, audio, spi, all, tutorials]
factor: [core, audio, r, all, tutorials]

steps:
- name: Checkout repository
Expand Down
2 changes: 1 addition & 1 deletion CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -250,7 +250,7 @@ Each environment is configured to run the appropriate tests:

Test selection is implemented using pytest's keyword-based filtering to precisely target the right tests:

```python
```bash
# Core tests only
pytest -k "not optional_deps"

Expand Down
10 changes: 10 additions & 0 deletions MANIFEST.in
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
recursive-include included *
include pyproject.toml
include MANIFEST.in
include src/soundscapy/data/*

recursive-exclude excluded *
exclude test/test_audio_files/trimmed_CT101.wav
exclude test/test_audio_files/trimmed_CT102.wav
exclude test/test_audio_files/trimmed_CT103.wav
exclude test/test_audio_files/trimmed_CT104.wav
21 changes: 11 additions & 10 deletions conftest.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
"""Configure pytest for soundscapy testing."""

import importlib
import os

import pytest
Expand All @@ -15,8 +16,8 @@ def _check_dependencies(group: str) -> bool:
if group not in _dependency_cache:
try:
if group == "audio":
# Try importing audio-related modules using importlib.util for availability check
import importlib.util
# Try importing audio-related modules
# using importlib.util for availability check

deps = ["mosqito", "maad", "tqdm", "acoustic_toolbox"]
all_available = all(
Expand All @@ -27,13 +28,11 @@ def _check_dependencies(group: str) -> bool:
logger.debug(f"{group} dependencies found")
else:
logger.debug(f"{group} dependencies missing")
elif group == "spi":
# Check SPI dependencies
import importlib.util

spi_available = importlib.util.find_spec("rpy2") is not None
_dependency_cache[group] = spi_available
if spi_available:
elif group in {"r", "spi", "satp"}:
# Check R dependencies
r_available = importlib.util.find_spec("rpy2") is not None
_dependency_cache[group] = r_available
if r_available:
logger.debug(f"{group} dependencies found")
else:
logger.debug(f"{group} dependencies missing")
Expand All @@ -53,7 +52,9 @@ def pytest_ignore_collect(collection_path):
# Map module paths to their dependency groups
module_deps = {
"audio/": "audio",
"r_wrapper/": "r",
"spi/": "spi",
"satp/": "satp",
# Add new optional module paths here
}

Expand All @@ -77,7 +78,7 @@ def pytest_configure(config):
)

# Define known dependency groups
dependency_groups = ["audio", "spi"]
dependency_groups = ["audio", "r", "spi", "satp"]
for group in dependency_groups:
env_var = f"{group.upper()}_DEPS"
os.environ[env_var] = "1" if _check_dependencies(group) else "0"
Expand Down
4 changes: 0 additions & 4 deletions docs/reference/api.md

This file was deleted.

23 changes: 0 additions & 23 deletions docs/reference/audio.md

This file was deleted.

11 changes: 0 additions & 11 deletions docs/reference/databases.md

This file was deleted.

13 changes: 0 additions & 13 deletions docs/reference/plotting.md

This file was deleted.

6 changes: 0 additions & 6 deletions docs/reference/plotting/defaults.md

This file was deleted.

4 changes: 0 additions & 4 deletions docs/reference/plotting/iso_plot.md

This file was deleted.

6 changes: 0 additions & 6 deletions docs/reference/plotting/layers.md

This file was deleted.

6 changes: 0 additions & 6 deletions docs/reference/plotting/likert.md

This file was deleted.

6 changes: 0 additions & 6 deletions docs/reference/plotting/param_models.md

This file was deleted.

6 changes: 0 additions & 6 deletions docs/reference/plotting/plot_context.md

This file was deleted.

4 changes: 0 additions & 4 deletions docs/reference/plotting/plot_functions.md

This file was deleted.

11 changes: 0 additions & 11 deletions docs/reference/spi.md

This file was deleted.

6 changes: 0 additions & 6 deletions docs/reference/spi/msn.md

This file was deleted.

11 changes: 0 additions & 11 deletions docs/reference/surveys.md

This file was deleted.

Loading