Recent Releases of Crowsetta
Crowsetta - 5.1.2
What's Changed
- Fix Annotation.init to handle length-zero Sequence, fixes #290 by @NickleDave in https://github.com/vocalpy/crowsetta/pull/291
Full Changelog: https://github.com/vocalpy/crowsetta/compare/5.1.1...5.1.2
Scientific Software - Peer-reviewed
- Python
Published by NickleDave 11 months ago
Crowsetta - 5.1.1
What's Changed
- CLN: Fix pandera imports, fixes #285 by @NickleDave in https://github.com/vocalpy/crowsetta/pull/286
- DEV: Require python gte 3p11 bump lower bounds scipy stack by @NickleDave in https://github.com/vocalpy/crowsetta/pull/289
Full Changelog: https://github.com/vocalpy/crowsetta/compare/5.1.0...5.1.1
Scientific Software - Peer-reviewed
- Python
Published by NickleDave 11 months ago
Crowsetta - 5.0.3
What's Changed
- BUG: Rename
pandera.SchemaModel-> DataFrameModel, fix #265 by @NickleDave in https://github.com/vocalpy/crowsetta/pull/266 - DEV: Bump lower bound on requires python to >=3.10 by @NickleDave in https://github.com/vocalpy/crowsetta/pull/268
Full Changelog: https://github.com/vocalpy/crowsetta/compare/5.0.2...5.0.3
Scientific Software - Peer-reviewed
- Python
Published by NickleDave almost 2 years ago
Crowsetta - 5.0.2
What's Changed
- docs: add sammlapp as a contributor for ideas by @allcontributors in https://github.com/vocalpy/crowsetta/pull/260
- CLN/MAINT: Vendor code, fix #262 by @NickleDave in https://github.com/vocalpy/crowsetta/pull/263
Full Changelog: https://github.com/vocalpy/crowsetta/compare/5.0.1...5.0.2
Scientific Software - Peer-reviewed
- Python
Published by NickleDave over 2 years ago
Crowsetta - 3.4.3
What's Changed
- Revert "Remove exceptions from birdsongrec.py" by @NickleDave in https://github.com/vocalpy/crowsetta/pull/256
Full Changelog: https://github.com/vocalpy/crowsetta/compare/3.4.2...3.4.3
Scientific Software - Peer-reviewed
- Python
Published by NickleDave about 3 years ago
Crowsetta -
5.0.0 -- 2023-03-29
This release is the approved version after a successful pyOpenSci review! :tada: https://github.com/pyOpenSci/software-submission/issues/68#issuecomment-1487440398
Added
- Add information on contributing and setting up a development environment #212. Fixes #30.
- Add method to convert generic sequence format to a pandas DataFrame #216.
- Add additional vignettes to docs: on removing "silent" labels from TextGrid annotations, on converting to the simple sequence and generic sequence formats #216. Fixes #152 and #197.
- Add format class for Audacity extended label track format #226. Fixes #222 and #213.
- Add the ability for a crowsetta.Annotation to have multiple sequences #243. Fixes #42.
- Rewrite TextGrid class to better handle file formats: parse both "short" and default format in either UTF-8 or UTF-16 encoding; remove empty intervals from interval tiers by default; can convert multiple interval tiers to a single crowsetta.Annotation with multiple crowsetta.Sequences #243. Fixes #241
Removed
Fixed
- Revise landing page of docs, and some vignettes. Make other changes to clean up the docs build process #216.
- Coerce path-like attributes of
GenericSeqdataframe schema to be strings. This helps ensure these columns are always native Pandas types #237. - Fix how the
crowsetta.Segmentclass converts onset sample and offset sample to int; correctly handle multiple numpy integer subtypes #238.
Huge thank yous to pyOpenSci reviewers @rhine3 @shaupert and to @YannickJadoul for your expert opinions on all things Praat TextGrid, and to @cmarmo for being the editor that brought it all together. Really appreciate all your contributions and the time you all put into this.
Scientific Software - Peer-reviewed
- Python
Published by NickleDave about 3 years ago
Crowsetta -
Second release candidate during pyOpenSci review
Scientific Software - Peer-reviewed
- Python
Published by NickleDave about 3 years ago
Crowsetta -
Initial release candidate during pyOpenSci review
Scientific Software - Peer-reviewed
- Python
Published by NickleDave about 3 years ago
Crowsetta -
changed
segmentsproperty of aSequenceis a tuple, not a list, so that class is immutable + hashable
fixed
__hash__implementation forSequenceclass- convert attributes that are
numpy.ndarrays into tuples before hashing
- convert attributes that are
- tests for
Sequence- no longer assert that calling
__hash__raisesNotImplementedError - test that
segmentsattribute is atuplenot alist
- no longer assert that calling
Scientific Software - Peer-reviewed
- Python
Published by NickleDave about 7 years ago
Crowsetta -
added
- implement hashing and equality for
Sequenceclass- this makes it possible to use with concurrency, e.g. with the Dask library
Scientific Software - Peer-reviewed
- Python
Published by NickleDave about 7 years ago
Crowsetta -
added
- entry point group
crowsetta.formatto make it possible to 'install' formats- removes special casing for built-in formats, they just get added via entry point
- instead of parsing a config.json file built into the package
- module for working with Praat Textgrid format
Metaclass which represents metadata about a format- such as file extension associated with it
- and the module / functions that a
Transcriberinstance should use to work with this format
changed
- Each instance of
Transcriberhas only one vocal annotation format that it handles- because it's annoying to type
file_formatevery time you call a method liketo_seq - instead you just make an instance of
Transcriberfor each format you want - This also works better with
crowsetta.formatentry points andMetaclass; when you instantiate aTranscriberfor a givenvoc_format, the__init__uses theMetafor that format to figure out which function to use forto_seq,to_csv, etc. - For this reason bumping to 1.0.0, new
Transcribernot backwards compatible - although this will be inconvenient for millions of people
- because it's annoying to type
Scientific Software - Peer-reviewed
- Python
Published by NickleDave about 7 years ago
Crowsetta -
added
- Sequence instances have attributes: labels, onsetss, offsetss, onsetsHz, offsetsHz, and file.
- Explanation of default
to_csvfunction for user formats inhowto-user-config.
changed
- Sequence class totally re-written
- no longer attrs-based
- because of somewhat complicated logic for validating arguments that was necessary in init (to prevent user from creating a 'bad' instance.)
- Sequences are immutable. Idea is they are just connectors between annotation and whatever user needs to do with it so you shouldn't need to change any attribute values after loading annotation
- Segment also immutable (by setting frozen=True in call to attr.s decorator)
- Transcriber.init uses config.json instead of config.ini to read defaults
- this makes init logic more readable since we don't have to convert userconfig dict to strings and then back again; default config just loads as a dict from the .json file and we add the userconfig dicts to it
Scientific Software - Peer-reviewed
- Python
Published by NickleDave about 7 years ago
Crowsetta -
added
datamodule that downloads small example datasets for each annotation format- includes
formatsfunction that is imported at package level and prints formats built in tocrowsetta
- includes
to_seq_func_to_csvthat takes ayourformat2seqfunction and returns a function that will convert the same format to csv files (just a wrapper around your function andseq2csv)- for docs, Makefile that generates
./notebooksfolder from./doc/notebooks
changed
- major revamp of docs
config_dicts foruser_configarg of Transcriber.init only requiremoduleandto_seqkeys;to_csvandto_formatare optional, can be specified PythonNoneor a string'None'
fixed
- Transcriber raises
NotImplementederror whento_csvorto_formatare None for a specified format (instead of crashing mysteriously) seq2csvandcsv2seqcan deal withNonevalues for one pair of onsets and offsets
Scientific Software - Peer-reviewed
- Python
Published by NickleDave about 7 years ago
Crowsetta -
changed
- fix failing tests
Scientific Software - Peer-reviewed
- Python
Published by NickleDave over 7 years ago
Crowsetta -
added
Segmentclass, attrs-based- has
asdictmethod (wrapper aroundattrsfunction) - has class variable
_FIELDSwhich is used in any place where we need to know how to go fromSegmentattributes to rows of a csv file, e.g. in src/crowsetta/csv.py and in tests
- has
changed
Sequenceclass is now attrs-based, has factory functions, is itself just a list ofSegments- now has
to_dictmethod
- now has
Crowsettaclass is now calledTranscriber
Scientific Software - Peer-reviewed
- Python
Published by NickleDave over 7 years ago
Crowsetta -
added
- add Crowsetta class with simple interface for converting any annotation to
- add ability to work with user-defined functions
- user passes an
extra_configdict when instantiating Crowsetta
- user passes an
- add docs
changed
- change package name to Crowsetta
- change function names so they are all
format2seqorformat2csvortoformatfor consistency
Scientific Software - Peer-reviewed
- Python
Published by NickleDave over 7 years ago