touchstone 0.14.2

Touchstone (s2p, etc.) file parser, plotter, and more
Documentation
# list recipes
help:
    just --list

# format the code
fmt:
    cargo fmt --all

# alias for fmt
format: fmt

# check formatting without writing changes
fmt-check:
    cargo fmt --all -- --check

# lint the code without writing changes
lint:
    cargo clippy --all-targets --all-features -- -D warnings

# apply automatic clippy fixes
lint-fix:
    cargo clippy --all-targets --all-features --fix -- -D warnings

# run tests
test:
    cargo test --all-features

# check documentation with rustdoc warnings denied
doc-check:
    RUSTDOCFLAGS="-D warnings" cargo doc --all-features --no-deps

# verify package contents without publishing
package:
    cargo package

# build the crate
build:
    cargo build --release

# format, lint, test, document, and package like CI
check: fmt-check lint test doc-check package

# run the same checks and build mirrored by CI
ci: check build

# Cut a GitHub release for an explicit SemVer version.
cut-release *args:
    ./scripts/cut-release.sh {{args}}

# run the CLI against a Touchstone file or directory
dev target="files/ntwk3.s2p":
    cargo run -- "{{target}}"

# build the crate for release
release: build

# plot a single Touchstone file
plot file="files/ntwk3.s2p":
    cargo run -- "{{file}}"

# plot all Touchstone files in a directory
plot-dir dir="files/":
    cargo run -- "{{dir}}"

# cascade two 2-port networks
cascade first="files/ntwk1.s2p" second="files/ntwk2.s2p":
    cargo run -- cascade "{{first}}" "{{second}}"

# generate and open API docs
doc:
    cargo doc --open