Skip to content

refactor: rename src to sysaudio & Standardize Build System#7

Merged
JacksonFergusonDev merged 9 commits into
mainfrom
package
Jan 31, 2026
Merged

refactor: rename src to sysaudio & Standardize Build System#7
JacksonFergusonDev merged 9 commits into
mainfrom
package

Conversation

@JacksonFergusonDev

@JacksonFergusonDev JacksonFergusonDev commented Jan 31, 2026

Copy link
Copy Markdown
Owner

Summary

This PR refactors the internal Python package from src to sysaudio to resolve naming conflicts and establishes a standard build system using setuptools. It also fixes the CI pipeline by ensuring the package is installed in editable mode (pip install -e .) before running tests and notebooks, preventing ModuleNotFoundError in the test runner.

Changes

📦 Package & Build

  • Renamed: oscilloscope-rp2040/src/oscilloscope-rp2040/sysaudio/.
  • Build System: Added [build-system] to pyproject.toml and configured tool.setuptools.packages.find to correctly locate the nested package.
  • CI: Updated .github/workflows/ci.yml to explicitly install the local package (uv pip install -e .) so that nbmake and pytest can import sysaudio.
  • Ignore: Added *.egg-info/ to .gitignore.

🛠 Scripts & Notebooks

  • Refactor: Removed sys.path modification boilerplate from all scripts (e.g., record.py) in favor of standard imports.
  • Imports: Updated all from src import ... statements to from sysaudio import ....
  • Notebooks: Updated imports in notebooks 01 through 04 to match the new package name.

📚 Documentation

  • Root README: Added a "Getting Started" section explicitly documenting the uv pip install -e . workflow.
  • Scope README: Updated architecture diagrams to reflect sysaudio, added documentation for new tools (master_transfer.py, fun/, joyplot), and clarified the usage of scripts vs. notebooks.

Impact

This change ensures that both local development (using uv) and CI environments (GitHub Actions) use the same robust installation method, eliminating path hacks and ensuring consistent test results.

Include explicit instructions for editable install using `uv` to ensure proper `sysaudio` package resolution for notebooks and scripts.
…ew tools

* Architecture: Renamed `src/` reference to `sysaudio/` and expanded library documentation to include `experiments`, `io`, and `plots`.
* Scripts: Added documentation for `master_transfer.py`, `stream.py`, and visualization tools (`joyplot`, `playback_scope`). Introduced `fun/` directory.
* Notebooks: Updated descriptions for notebooks 03 (Transfer Acquisition) and 04 (Analysis) to match current implementation status.
* Quick Start: Revised installation and execution steps to run from project root using editable install (`-e .`).
@JacksonFergusonDev JacksonFergusonDev merged commit 597d672 into main Jan 31, 2026
2 checks passed
@JacksonFergusonDev JacksonFergusonDev deleted the package branch January 31, 2026 04:23
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant