Skip to content

Reduce dependencies for library use - #13

Merged
danigb merged 4 commits into
danigb:mainfrom
mkreu:main
Oct 2, 2026
Merged

danigb merged 4 commits into
danigb:mainfrom
mkreu:main

Conversation

@mkreu

@mkreu mkreu commented Aug 16, 2026

Copy link
Copy Markdown
Contributor

Hey there,

while trying out this crate as a dependency, I noticed that it pulls in a lot of dependencies (such as clap) which are only needed by the CLI. I moved those behind a cli feature. Furthermore I added a decode feature which gates import functions requiring the symphonia crate and serde for Searialize / Deserialize implementation of Tensor

All features are still enabled by default, so backwards compatibility is kept. But you can now do

[dependencies]
beat-this = { version = "1", default-features = false }

for a much reduced dependency footprint.

@danigb
danigb merged commit d006a41 into danigb:main Oct 2, 2026
@danigb

danigb commented Oct 2, 2026

Copy link
Copy Markdown
Owner

Hey! Thanks for the PR ❤️ and sorry for the late reply: I've miss it completely until today 🙏

danigb added a commit that referenced this pull request Oct 2, 2026
Resolve the audio.rs conflict by keeping #13's `decode` submodule and 1.1.0's
early `drop(samples)` in `load_audio`. Gate the 1.1.0-only tests
(identity_v1_0_0, stream_integration) and the crate-level doc example on
`decode`, add a `--no-default-features` clippy/test step to CI, note the new
features in the CHANGELOG and date the 1.1.0 entry.
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.

2 participants