Vak

Latest version: v1.0.3

Safety actively analyzes 693883 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 2 of 6

0.7.0

Added
- Add unit tests for `csv.has_unlabled`
[541](https://github.com/vocalpy/vak/pull/541).
Fixes [102](https://github.com/vocalpy/vak/issues/102).
- Add unit tests for `__main__`
[542](https://github.com/vocalpy/vak/pull/542).
Fixes [337](https://github.com/vocalpy/vak/issues/337).
- Add validation of `labels` argument to `vak.split.algorithms.brute_force`,
to prevent conditions where algorithm can fail to converge
because of bad input
[562](https://github.com/vocalpy/vak/pull/562).
Fixes [288](https://github.com/vocalpy/vak/issues/288).
- Add a "Frequently Asked Questions" page to the documentation,
and a page to the "Reference" section on file naming conventions
[564](https://github.com/vocalpy/vak/pull/564).
Fixes [524](https://github.com/vocalpy/vak/issues/524)
and [424](https://github.com/vocalpy/vak/issues/424).
- Add a new way for vak to map annotation files to annotated files
when preparing datasets, e.g. for training models.
For annotation formats that have one annotation file per
annotated file, vak can now recognize when
the annotation files are named by removing the
annotated file extension (e.g., .wav or .npz)
and replacing it with the annotation format extension,
e.g. .txt or .csv. (Other ways of relating annotations
and annotated files are still valid, e.g. by including
the original source audio file in both filenames.)
[572](https://github.com/vocalpy/vak/pull/572).
Fixes [563](https://github.com/vocalpy/vak/issues/563).
- Have runs from command-line interface log version to logfile
[587](https://github.com/vocalpy/vak/pull/587).
Fixes [216](https://github.com/vocalpy/vak/issues/216).

Changed
- Rewrite unit tests in `tests/test_cli/` to use mocks for `vak.core` functions
[544](https://github.com/vocalpy/vak/pull/544).
Fixes [543](https://github.com/vocalpy/vak/issues/543).
- It is now possible to load configuration files
and work with them programmatically even if the paths
they point to do not exist.
The `core` functions handle validation instead.
E.g., the `PrepConfig` class does not check whether
`output_dir` exist is a directory, but `vak.core.prep` does.
[550](https://github.com/vocalpy/vak/pull/550).
Fixes [459](https://github.com/vocalpy/vak/issues/459).
- Refactor and speed up logic for determining whether a
dataset with sequence annotations has unlabeled segments
that should be assigned a "background" label
[559](https://github.com/vocalpy/vak/pull/559).
Fixes [243](https://github.com/vocalpy/vak/issues/243).
- Adds a new sub-sub-package, `datasets.seq`
with a `validators` module, which is where the
re-written `has_unlabeled` function now lives.
Replaces the `vak.csv` module which was not well named.
- Also adds a `has_unlabeled` function to `vak.annotation`
that is used by `vak.datasets.seq.validators.has_unlabeled`;
this function handles edge cases outlined in
[243](https://github.com/vocalpy/vak/issues/243).
- Rename and refactor functions in `vak.annotation`
that map annotations to the files that they annotate,
so that the purpose of the functions is clearer,
and add clearer error messages with links to documentation
about file naming conventions
[566](https://github.com/vocalpy/vak/pull/566).
Fixes [525](https://github.com/vocalpy/vak/issues/525).
- Revise "autoannotate" tutorial to use .wav audio and .csv
annotation files from new release of Bengalese Finch Song
Repository, and to suggest that Windows users unpack
archives with tar, not other programs such as WinZip
[578](https://github.com/vocalpy/vak/pull/578).
Fixes [560](https://github.com/vocalpy/vak/issues/560)
and [576](https://github.com/vocalpy/vak/issues/576).
- Change `vak.files.find_fname` and `vak.files.spect.find_audio_fname`
so they work when spaces are in filename and/or path
[594](https://github.com/vocalpy/vak/pull/594).
Fixes [589](https://github.com/vocalpy/vak/issues/589).

Fixed
- Fix how `vak.core.prep` handles `labelset` parameter.
Add pre-condition that raises a ValueError
when `labelset` is `None` but the .toml config is one of
{'train', 'learncurve', 'eval'}
[545](https://github.com/vocalpy/vak/pull/545).
Avoids running computationally expensive step of generating
and validating spectrograms *before* crashing when trying to
split the dataset using `labelset`. Also avoids silent
failures for datasets that do not require splitting,
e.g., an 'eval' set that could contain labels not in the
training set.
Fixes [468](https://github.com/vocalpy/vak/issues/468).
- Fix how `cli` and `core` functions that have the `csv_path` parameter
handles it. The parameter points to a dataset .csv generated by `vak prep`
that other `core`/`cli` function use: `train`, `learncurve`, `eval`, `predict`.
They now validate that it exists, and if it doesn't, the `cli` functions
politely suggest running `vak prep` first; the `core` functions
raise a FileNotFoundError.
[546](https://github.com/vocalpy/vak/pull/546).
Fixes [469](https://github.com/vocalpy/vak/issues/469).
- Fix bug where `labelmap_path` parameter was ignored by `core.train`.
Change function so that either `labelmap_path` or `labelset` must
be passed in, both passing in both will raise an error.
Also change `cli.train` to only pass in one of those and set the other
to `None`.
[552](https://github.com/vocalpy/vak/pull/552).
Fixes [547](https://github.com/vocalpy/vak/issues/547).
- Fix `vak.annotation.has_unlabeled` to handle the edge case where an
annotation file has no annotated segments
[583](https://github.com/vocalpy/vak/pull/583).
Fixes [378](https://github.com/vocalpy/vak/issues/378).
- Fix `StandardizeSpect` method `fit_df` so that it computes
parameters for standardization from a specific
split of the dataset--the training split, by default--instead
of using the entire dataset, which could technically give rise
to data leakage
[584](https://github.com/vocalpy/vak/pull/583).
Fixes [575](https://github.com/vocalpy/vak/issues/575).
- Fix error message in `vak.core.eval`
[589](https://github.com/vocalpy/vak/pull/589).
Fixes [588](https://github.com/vocalpy/vak/issues/588).

0.6.0

Added
- better document `conda` install
[528](https://github.com/vocalpy/vak/pull/528).
Fixes [527](https://github.com/vocalpy/vak/issues/527).
- Add tests for console script, i.e., the command-line interface
[533](https://github.com/vocalpy/vak/pull/533).
Fixes [369](https://github.com/vocalpy/vak/issues/369).

Changed
- switch from using `make` to `nox` for running tasks
[532](https://github.com/vocalpy/vak/pull/532).
Fixes [440](https://github.com/vocalpy/vak/issues/440).
- Refactor logging so that it can be configured by `cli` functions
when running `vak` through command-line interface, and by users
that are working with the API directly
[535](https://github.com/vocalpy/vak/pull/535).

Fixed
- Fix bug that prevented creating spectrogram files with non-default keys
(e.g. 'spect' instead of the default 's'). Needed to pass keys from `spect_params`
into `spect.to_dataframe` inside `vak.io.dataframe.from_files`.
[531](https://github.com/vocalpy/vak/pull/531).
Fixes [412](https://github.com/vocalpy/vak/issues/412).
- Fix logging so a single message is not logged multiple times.
[535](https://github.com/vocalpy/vak/pull/535).
Fixes [258](https://github.com/vocalpy/vak/issues/258).
- Fix section of contributing docs on setting up a development environment.
[592](https://github.com/vocalpy/vak/pull/592).
Fixes [591](https://github.com/vocalpy/vak/issues/591).

0.5.0.post1

Fixed
- Put upper bound on `crowsetta` dependency
[89ee7b03](https://github.com/vocalpy/vak/commit/89ee7b03bade2c20da6d4c480cf8c799eacee9fb)

0.5.0

Added
- add ability to continue training from an existing checkpoint
[505](https://github.com/vocalpy/vak/pull/505).
Fixes [5](https://github.com/vocalpy/vak/issues/5).

Changed
- change minimum required Python to 3.8,
to adhere to [NEP-29](https://numpy.org/neps/nep-0029-deprecation_policy.html), in
[513](https://github.com/vocalpy/vak/pull/513).
Fixes [512](https://github.com/vocalpy/vak/issues/512).

Fixed
- fix explanation of naming convention for `'simple-seq'` format in how-to
on using annotation formats
[517](https://github.com/vocalpy/vak/pull/517).
Fixes [516](https://github.com/vocalpy/vak/issues/516).
- fix links to images in README so they show up on PyPI
[db98c30](https://github.com/vocalpy/vak/commit/db98c304db9c380086ef60f9a530cbcfd2a96330)

[0.4.2](https://github.com/vocalpy/vak/releases/tag/0.4.2) -- 2022-03-29
Added
- add a [Code of Conduct](https://github.com/vocalpy/vak/blob/main/CODE_OF_CONDUCT.md),
a [contributing guide on GitHub](https://github.com/vocalpy/vak/blob/main/.github/CONTRIBUTING.md),
and a
[Development section of the documentation](https://vak.readthedocs.io/en/latest/development/index.html)
[448](https://github.com/vocalpy/vak/pull/448).
Fixes [8](https://github.com/vocalpy/vak/issues/8) and
[56](https://github.com/vocalpy/vak/issues/56).
- add pull request templates on GitHub
[445](https://github.com/vocalpy/vak/pull/448).
Fixes [85](https://github.com/vocalpy/vak/issues/85).
- add links to page describing format for array files
containing spectrograms, on the reference index, and on
the how-to page on using your own spectrograms.
Also add a link to a small example dataset of
spectrogram files
[494](https://github.com/vocalpy/vak/pull/494).
Fixes [492](https://github.com/vocalpy/vak/issues/492).
- add more detail to explanation of how to use `'csv'` format
for annotation
[495](https://github.com/vocalpy/vak/pull/495).
Fixes [491](https://github.com/vocalpy/vak/issues/491).

Changed
- make minor revisions to docs
[443](https://github.com/vocalpy/vak/pull/443).
Fixes [439](https://github.com/vocalpy/vak/issues/439).
- rewrite docs in Markdown / `MyST` wherever possible;
install MyST parser for Sphinx
[463](https://github.com/vocalpy/vak/pull/463).
Fixes [384](https://github.com/vocalpy/vak/issues/384).
- require `crowsetta` version 3.4.0 or greater;
in this version, annotation format `'csv'` is now named `'generic-seq'`
(and the name `'csv'` will stop working in the next version);
format `'simple-csv'` renamed to `'simple-seq'`
[496](https://github.com/vocalpy/vak/pull/496).
Fixes [497](https://github.com/vocalpy/vak/issues/497).
- revise how-to page on annotation formats,
to include vignettes for the `'simple-seq'` and
`'generic-seq'` formats.
[498](https://github.com/vocalpy/vak/pull/498).
Fixes [429](https://github.com/vocalpy/vak/issues/429).

Fixed
- fix bug that caused `vak prep` to crash
when there was only one file in a data directory
[483](https://github.com/vocalpy/vak/pull/483).
Fixes [467](https://github.com/vocalpy/vak/issues/467).
- fix bug that caused `vak prep` to crash
when a `.not.mat` annotation file only had a single annotated segment
[488](https://github.com/vocalpy/vak/pull/488).
Fixes [466](https://github.com/vocalpy/vak/issues/466).

[0.4.1](https://github.com/vocalpy/vak/releases/tag/0.4.1) -- 2022-01-07
Changed
- switch to using `flit` to build/publish, drop `poetry`
[434](https://github.com/vocalpy/vak/pull/434).
Fixes [433](https://github.com/vocalpy/vak/issues/433).
- raise minimum required `pytorch` version to 1.7.1 and
minimum `crowsetta` version to 3.2.0'
[437](https://github.com/vocalpy/vak/pull/437).
- do various clean-up steps to development / CI workflows,
in the process of getting ready to publish `vak` on `conda-forge`
[437](https://github.com/vocalpy/vak/pull/437).
- resolve various minor docs issues
[438](https://github.com/vocalpy/vak/pull/438).

[0.4.0](https://github.com/vocalpy/vak/releases/tag/0.4.0) -- 2021-12-29
Added
- add a [CITATION.cff](https://citation-file-format.github.io/) file
[407](https://github.com/vocalpy/vak/pull/407).
- add an [all-contributors](https://allcontributors.org/) table to README,
using their bot to adopt the spec.
E.g., [395](https://github.com/vocalpy/vak/pull/395).
Fixes [387](https://github.com/vocalpy/vak/issues/387).
- add description of command-line interface to reference section of documentation.
[417](https://github.com/vocalpy/vak/pull/417).
Fixes [270](https://github.com/vocalpy/vak/issues/270).
- add how-to on using an annotation format that's not built in
[421](https://github.com/vocalpy/vak/pull/421).
Fixes [397](https://github.com/vocalpy/vak/issues/397).
- add how-to on using custom spectrograms
[421](https://github.com/vocalpy/vak/pull/421).
Fixes [413](https://github.com/vocalpy/vak/issues/413).

Changed
- updated the .toml configuration files in the tutorial
to match what was used for [TweetyNet paper](https://github.com/yardencsGitHub/tweetynet).
[416](https://github.com/vocalpy/vak/pull/416).
Fixes [414](https://github.com/vocalpy/vak/issues/414).
- move tutorial into "getting started" section of docs,
and revise landing page of docs
[419](https://github.com/vocalpy/vak/pull/419).
- revise the documentation for the configuration file format.
Show valid options for each section by including docstrings from the classes
that represents the different sections
[428](https://github.com/vocalpy/vak/pull/428).
Fixes [271](https://github.com/vocalpy/vak/issues/271).

Fixed
- make further fixes + add unit tests for handling predictions where all timebins
are the background "unlabeled" class [409](https://github.com/vocalpy/vak/pull/409).
Fixes bug in `remove_short_segments` [403](https://github.com/vocalpy/vak/issues/403).
Related to [393](https://github.com/vocalpy/vak/issues/393)
and [386](https://github.com/vocalpy/vak/issues/386).
- fix docs so entries appear in navbar
[427](https://github.com/vocalpy/vak/pull/427).
Fixes [426](https://github.com/vocalpy/vak/issues/426).

[0.4.0b6](https://github.com/vocalpy/vak/releases/tag/0.4.0b6) -- 2021-11-23
Changed
- bump minimum Python to 3.7
[388](https://github.com/vocalpy/vak/pull/388).
Fixes [380](https://github.com/vocalpy/vak/issues/380).

Fixed
- fix how `predict` handles annotations that are predicted to have no labeled segments,
i.e. where all time bins are predicted to have "background" / "unlabeled" class
[394](https://github.com/vocalpy/vak/pull/394).
For details, see [393](https://github.com/vocalpy/vak/issues/393) and
[386](https://github.com/vocalpy/vak/issues/386).

[0.4.0b5](https://github.com/vocalpy/vak/releases/tag/0.4.0b5) -- 2021-10-08
Changed
- change Python constraint to include 3.9
[368](https://github.com/vocalpy/vak/pull/368)

Fixed
- fix typo in `doc/reference/reference.rst` that broke a link
[363](https://github.com/vocalpy/vak/issues/363)
- fix bug in function `lbl_tb2labels` that affect calculation of segment error rate
for annotations with digits that had multiple characters (e.g. '21', '22').
[377](https://github.com/vocalpy/vak/pull/377).
For details see [373](https://github.com/vocalpy/vak/issues/373)

[0.4.0b4](https://github.com/vocalpy/vak/releases/tag/0.4.0b4) -- 2021-04-25
Added
- add `events2df` function to `tensorboard` module that converts an "events" file
(log) created during training into a `pandas.DataFrame`, to make it easier to
work directly with logged scalar values, e.g. plot training history showing loss
[346](https://github.com/vocalpy/vak/pull/346).
- add Dice loss, commonly used for segmentation problems, adapted from `kornia` library
for use with 1-D sequences [357](https://github.com/vocalpy/vak/pull/357).

Changed
- change name of `summary_writer` module to `tensorboard` to reflect that it contains
any function related to `tensorboard` [346](https://github.com/vocalpy/vak/pull/346).

Fixed
- fix bug in Levenshtein distance implementation
[356](https://github.com/vocalpy/vak/pull/342).
For details see issue [355](https://github.com/vocalpy/vak/issues/355).
Also added unit tests for Levenshtein distance and segment error rate
in [356](https://github.com/vocalpy/vak/pull/342).

[0.4.0b3](https://github.com/vocalpy/vak/releases/tag/0.4.0b3) -- 2021-04-04
Changed
- refactor unit tests so they can be run with `TeenyTweetyNet` on Github Actions
[339](https://github.com/vocalpy/vak/pull/339).
For details see issue [330](https://github.com/vocalpy/vak/issues/330).

Fixed
- fix how `train_dur_csv_paths.from_dir` orders replicates
[342](https://github.com/vocalpy/vak/pull/342).
For details see issue [340](https://github.com/vocalpy/vak/issues/340).

0.4.0b2

Added
- add built-in model `TeenyTweetyNet`
[329](https://github.com/vocalpy/vak/pull/329)
that will be used to speed up `vak` test suite.
For details see issue [308](https://github.com/vocalpy/vak/issues/308).
- make it so config does not validate other sections when running `vak prep`,
to avoid annoying errors due to options that are going to change anyway
[335](https://github.com/vocalpy/vak/pull/335).
For details see [314](https://github.com/vocalpy/vak/issues/314) and
[334](https://github.com/vocalpy/vak/issues/334).
- raise clear error message when running `vak prep` and the section that a
dataset is being `prep`ared for already has a `csv_path`. Ask user to
remove it if they really want to generate a new one
[335](https://github.com/vocalpy/vak/pull/335).
For details see [314](https://github.com/vocalpy/vak/issues/314) and
[333](https://github.com/vocalpy/vak/issues/333).
- add `split` parameter to `WindowDataset.spect_vectors_from_df`
[336](https://github.com/vocalpy/vak/pull/336).
For details see issue [328](https://github.com/vocalpy/vak/issues/328).

Changed
- refactor `config` sub-package
[335](https://github.com/vocalpy/vak/pull/335).
For details see [331](https://github.com/vocalpy/vak/issues/331),
[332](https://github.com/vocalpy/vak/issues/332).

Fixed
- change `model.load` method, so that `torch.load` uses `map_location` parameter
[324](https://github.com/vocalpy/vak/pull/324).
This way, loading a model trained on a GPU won't
cause a RuntimeError if only a CPU is available.
For details see issue [323](https://github.com/vocalpy/vak/issues/323).
- fix `train_dur_csv_paths.from_dir` so it uses correct dataset splits to
generate `spect_vector`s for `WindowDataset`
[336](https://github.com/vocalpy/vak/pull/336).
For details see issue [328](https://github.com/vocalpy/vak/issues/328).

0.4.0b1

Added
- add ability to save "raw outputs" of network, e.g. the "logits",
when running `vak predict` command
[320](https://github.com/vocalpy/vak/pull/320).
For details see issue [90](https://github.com/vocalpy/vak/issues/90).

Changed
- change `split.algorithms.validate.validate_split_durations_and_convert_nonnegative`
so that it no longer converts all durations to non-negative numbers, because the
functions that call it need to "see" when a target split duration is specified as
-1 (meaning "use any remaining vocalizations in this split") so they can determine
properly when they've finished dividing the dataset into splits.
Accordingly, rename to `split.algorithms.validate.validate_split_durations`.
[300](https://github.com/vocalpy/vak/pull/300)
- refactor code that programmatically builds `results_path` used in `core` and `cli`
functions that run `train` and `learncurve`
[304](https://github.com/vocalpy/vak/pull/304).
For details see
[comment on pull request](https://github.com/vocalpy/vak/pull/304#issue-576981330).
- refactor `vak.config.parse.from_toml` function into two others,
the original and a new `parse.from_toml_path`
[306](https://github.com/vocalpy/vak/pull/306).
For details see issue [305](https://github.com/vocalpy/vak/issues/305)
- switch to using `pytest` to run test suite [309](https://github.com/vocalpy/vak/pull/309).
- switch to using Github Actions for continuous integration
[312](https://github.com/vocalpy/vak/pull/312).
- parametrize `device` fixture so tests run on CPU and, when present, GPU
[313](https://github.com/vocalpy/vak/pull/313)
- refactor `cli.learncurve` module into a sub-package with separate module for
`train_csv_paths` helper functions used by `learning_curve`
[319](https://github.com/vocalpy/vak/pull/319)
- lower the lower bounds on dependencies, so that users can install with earlier
versions of `torch`, `torchvision`, etc.
[9c6ed46](https://github.com/vocalpy/vak/commit/9c6ed46822c53aaa25f66b050b6490657ec5005b)

Fixed
- fix `split.algorithms.bruteforce` so that it always returns either a list of
indices or `None` for each split, instead of sometimes returning an empty list
instead of a `None`. Also rewrite this function for clarity and to obey DRY
principle.
[300](https://github.com/vocalpy/vak/pull/300)
- fix unit tests [309](https://github.com/vocalpy/vak/pull/309).
- fix how runs of `learncurve` that use `previous_run_path` get the
"spect vectors" that determine valid windows that can grabbed from
the `WindowDataset`
[319](https://github.com/vocalpy/vak/pull/319).
For details see [316](https://github.com/vocalpy/vak/issues/316).
There was a bug with the first attempt to fix this, that was resolved by
[322](https://github.com/vocalpy/vak/pull/322).
For details see issue [321](https://github.com/vocalpy/vak/issues/321).

Page 2 of 6

© 2025 Safety CLI Cybersecurity Inc. All Rights Reserved.