Releases: vocalpy/crowsetta
Releases · vocalpy/crowsetta
3.0.0
bump version to 3.0.0
2.3.0
bump version to 2.3.0
2.2.0
bump version to 2.2.0
2.1.0
bump version to 2.1.0 in crowsetta/__about__.py
2.0.0
bump version in crowsetta/__about__.py to 2.0.0
1.1.1
changed
segments
property of aSequence
is a tuple, not a list, so that class is immutable + hashable
fixed
__hash__
implementation forSequence
class- convert attributes that are
numpy.ndarray
s into tuples before hashing
- convert attributes that are
- tests for
Sequence
- no longer assert that calling
__hash__
raisesNotImplementedError
- test that
segments
attribute is atuple
not alist
- no longer assert that calling
1.1.0
added
- implement hashing and equality for
Sequence
class- this makes it possible to use with concurrency, e.g. with the Dask library
1.0.0
added
- entry point group
crowsetta.format
to 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
Meta
class which represents metadata about a format- such as file extension associated with it
- and the module / functions that a
Transcriber
instance should use
to work with this format
changed
- Each instance of
Transcriber
has only one vocal annotation format that it handles- because it's annoying to type
file_format
every time you call a method liketo_seq
- instead you just make an instance of
Transcriber
for each format you want - This also works better with
crowsetta.format
entry points andMeta
class;
when you instantiate aTranscriber
for a givenvoc_format
, the__init__
uses theMeta
for that format to figure out which function to use forto_seq
,
to_csv
, etc. - For this reason bumping to 1.0.0, new
Transcriber
not backwards compatible- although this will be inconvenient for millions of people
- because it's annoying to type
0.2.0a5
added
- Sequence instances have attributes: labels, onsets_s, offsets_s, onsets_Hz,
offsets_Hz, and file. - Explanation of default
to_csv
function 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
user_config dict to strings and then back again; default config just loads as
a dict from the .json file and we add the user_config dicts to it
- this makes init logic more readable since we don't have to convert
0.2.0a4
added
data
module that downloads small example datasets for each annotation format- includes
formats
function that is imported at package level
and prints formats built in tocrowsetta
- includes
to_seq_func_to_csv
that takes ayourformat2seq
function 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
./notebooks
folder from./doc/notebooks
changed
- major revamp of docs
config_dict
s foruser_config
arg of Transcriber.init only require
module
andto_seq
keys;to_csv
andto_format
are optional, can be
specified PythonNone
or a string'None'
fixed
- Transcriber raises
NotImplemented
error whento_csv
orto_format
are
None for a specified format (instead of crashing mysteriously) seq2csv
andcsv2seq
can deal withNone
values for one pair of onsets and offsets