# \[ANN\] Schemata.jl v2 New API, new features

**URL:** https://discourse.julialang.org/t/ann-schemata-jl-v2-new-api-new-features/30386
**Category:** Package Announcements
**Created:** [October 28, 2019, 2:45am UTC](https://discourse.julialang.org/t/ann-schemata-jl-v2-new-api-new-features/30386 "2019-10-28T02:45:24Z")
**Posts on this page:** 1
**Page:** 1

<div class="post-metadata">

### Author: ![jocklawrie](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/jocklawrie/32/33616_2.png) [@jocklawrie](https://discourse.julialang.org/u/jocklawrie)
#### Post date: [October 28, 2019, 2:45am UTC](https://discourse.julialang.org/t/ann-schemata-jl-v2-new-api-new-features/30386/1 "2019-10-28T02:45:24Z")

</div>

Hi all,

Version 2 of [Schemata.jl](https://github.com/JockLawrie/Schemata.jl) brings some new features and breaking changes, chiefly:

- `diagnose` and `enforce_schema` have been replaced with the simpler `compare`, which compares a table to its schema.
- `compare` handles tables that are too big for RAM, as well as tables that are in memory.
- `compare` allows for user-defined parsers, so that data in non-standard formats can be parsed.
- You can also specify intra-row constraints to test for. For example, you may require that a medical appointment date is after the patient’s birth date.
- The reporting format has changed for improved clarity.

It’s also pretty fast thanks to the great work @quinnj has done on CSV.jl and Parsers.jl.

Feedback welcome, happy coding!
