Skip to content

Split into core library and CLI crates, release 0.4.1 - #51

Merged
andrewchen5678 merged 1 commit into
mainfrom
workspace-split
Oct 6, 2026
Merged

andrewchen5678 merged 1 commit into
mainfrom
workspace-split

Conversation

@andrewchen5678

Copy link
Copy Markdown
Collaborator

Turns the repo into a Cargo workspace:

  • crates/core — audio-pattern-detector-core (lib audio_pattern_detector_core): detector, audio I/O, ffmpeg helper and the PyO3 bindings (python feature). No clap dependency.
  • crates/cli — audio-pattern-detector: the audio-pattern-detector binary, depending on the core crate.

Other changes:

  • Version shared via [workspace.package], bumped to 0.4.1.
  • pyproject.toml sets manifest-path = "crates/core/Cargo.toml" and module-name = "audio_pattern_detector". The wheel layout is unchanged compared to main.
  • Integration tests moved with their crate and reference the repo-root sample_audios/ as ../../sample_audios/.... The test that runs the CLI with no ffmpeg on PATH moved to the CLI crate.
  • CI, release workflow, Dockerfile and docs updated. The Python clippy/build steps now use -p audio-pattern-detector-core.

Verified locally: cargo clippy --all-targets -- -D warnings, cargo test (287 passed), maturin build and the Python binding tests against the built wheel.

🤖 Generated with Claude Code

Turn the repo into a Cargo workspace:

- crates/core: audio-pattern-detector-core (lib audio_pattern_detector_core)
  with the detector, audio I/O and the PyO3 bindings. No clap dependency.
- crates/cli: audio-pattern-detector, the binary, depending on the core crate.

The version is shared via [workspace.package]. pyproject.toml points maturin
at the core crate and keeps the Python module name audio_pattern_detector.
Integration tests moved with their crate and reference the repo-root
sample_audios/ as ../../sample_audios/. The no-ffmpeg CLI test moved to the
CLI crate since it needs the binary.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@andrewchen5678
andrewchen5678 merged commit 47b29b6 into main Oct 6, 2026
2 checks passed
@andrewchen5678
andrewchen5678 deleted the workspace-split branch October 6, 2026 21:42
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