# Crowsetta version 4.0.0 released!

**URL:** <https://forum.vocalpy.org/t/crowsetta-version-4-0-0-released/33>\
**Category:** Announcements\
**Tags:** crowsetta\
**Created:** [June 25, 2022, 5:02pm UTC](https://forum.vocalpy.org/t/crowsetta-version-4-0-0-released/33 "2022-06-25T17:02:38Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![nicholdav](https://yyz2.discourse-cdn.com/flex032/user_avatar/forum.vocalpy.org/nicholdav/32/5_2.png) [@nicholdav](https://forum.vocalpy.org/u/nicholdav)\
**Post date:** [June 25, 2022, 5:02pm UTC](https://forum.vocalpy.org/t/crowsetta-version-4-0-0-released/33/1 "2022-06-25T17:02:38Z")

</div>

Hi all,

A new version of `crowsetta` is released, 4.0.0.

> **[crowsetta](https://pypi.org/project/crowsetta/4.0.0.post2/)**
>
> A Python tool to work with any format for annotating animal vocalizations and bioacoustics data

High level: the new version helps take a big step towards an app that can work with many different formats for annotating

I hope it’s also just useful in general for any tasks that require working with these formats.

Check out the re-vamped docs here!

> **[Installation](https://crowsetta.readthedocs.io/en/latest/)**
>
> A Python tool to work with any format for annotating animal vocalizations and bioacoustics data. crowsetta provides a Pythonic way to work with annotation formats for animal vocalizations and bioac...

Low-level: here’s the to-do list with most of the things that went into the new version 🙂 😫

> <https://github.com/vocalpy/crowsetta/issues/146>
>
> making an issue that's the to-do list for version 4.0 that tracks what issues to… close, and puts them roughly in some order
> 
> \- \[x\] rewrite API #120
> \- \[x\] add formats bass class #105 
> \- \[x\] write annotations as attrs classes #99 
> - \[x\] refactor existing formats in process 
> - \[x\] refactor generic-seq format, use \`pandas\` #63 
> - \[x\] #154 
> - \[x\] #134 
> \- \[x\] add formats sub-package #109 
> \- \[x\] change how annotation formats are listed #92 
> - would be good to have a convenient way to list the string names. \`crowsetta.formats.names\`?
> \- \[x\] refactor Transcriber class #144
> \- \[x\] remove entry points #94 
> \- \[x\] clean up \`Annotation\` class(es)
> - \[x\] rename \`Annotation.audio\_path\` attribute to \`notated\_path\` #148 
> - \[x\] why is seq attribute on Annotation optional? #149
> - \[x\] separate Annotation classes for SeqLike and BboxLike? #150
> \- \[x\] #156 
> \- \[x\] decide if we want to use \`register\_format\` decorator #119 
> \- \[x\] remove \`Stack\` class for now #170
> \- \[x\] remove \`'csv'\` format (alias) #171
> \- \[x\] add example annotation files to package #90 
> \- \[x\] rewrite docs #152
> - \[x\] #157 
> - \[x\] #158 
> \- \[x\] add logo #17 
> \- \[x\] #21
