# DwC-A / DwC-DP CLI validator?

**URL:** <https://discourse.gbif.org/t/dwc-a-dwc-dp-cli-validator/6230>\
**Category:** Miscellaneous\
**Created:** [February 10, 2026, 7:50pm UTC](https://discourse.gbif.org/t/dwc-a-dwc-dp-cli-validator/6230 "2026-02-10T19:50:47Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![kueda](https://sea1.discourse-cdn.com/gbif1/user_avatar/discourse.gbif.org/kueda/32/377_2.png) [@kueda](https://discourse.gbif.org/u/kueda)\
**Post date:** [February 10, 2026, 7:50pm UTC](https://discourse.gbif.org/t/dwc-a-dwc-dp-cli-validator/6230/1 "2026-02-10T19:50:47Z")

</div>

Are there any command line validators for DarwinCore Archives and/or DarwinCore Data Packages? A GBIF-specific one would be cool, but I’m mostly interested in one that verifies the structure of the archive, e.g. do the metadata files conform to their declared schemas, do the files declared in the metadata exist, do those files have the declared columns, etc.

---

<div class="post-metadata">

**Author:** ![datafixer](https://sea1.discourse-cdn.com/gbif1/user_avatar/discourse.gbif.org/datafixer/32/956_2.png) [@datafixer](https://discourse.gbif.org/u/datafixer)\
**Post date:** [February 11, 2026, 3:09am UTC](https://discourse.gbif.org/t/dwc-a-dwc-dp-cli-validator/6230/2 "2026-02-11T03:09:12Z")

</div>

@kueda I looked for one late in 2024 when trying to work with the perfectly awful ALA archives:

[Getting ALA data to the usable stage](https://discourse.gbif.org/t/getting-ala-data-to-the-usable-stage/5413)

but didn’t find one. It would be pretty easy to write a checking function with AWK and other shell tools.

---

<div class="post-metadata">

**Author:** ![pieter](https://avatars.discourse-cdn.com/v4/letter/p/82dd89/32.png) [@pieter](https://discourse.gbif.org/u/pieter)\
**Post date:** [March 20, 2026, 8:48am UTC](https://discourse.gbif.org/t/dwc-a-dwc-dp-cli-validator/6230/3 "2026-03-20T08:48:45Z")

</div>

I wonder if the new DwC-A data package edition could be validated with the frictionless validator, I don’t see why not.

> **[Validating Data | Frictionless Framework](https://framework.frictionlessdata.io/docs/guides/validating-data.html)**
>
> Tabular data validation is a process of identifying problems that have occured in your data so you can correct them. Let's explore how Frictionless helps to achieve this task using an invalid data table example:

---

<div class="post-metadata">

**Author:** ![kueda](https://sea1.discourse-cdn.com/gbif1/user_avatar/discourse.gbif.org/kueda/32/377_2.png) [@kueda](https://discourse.gbif.org/u/kueda)\
**Post date:** [May 27, 2026, 1:08am UTC](https://discourse.gbif.org/t/dwc-a-dwc-dp-cli-validator/6230/4 "2026-05-27T01:08:08Z")

</div>

@Kate and @trobertson, either of you know of such a tool? I posted this in anticipation of getting [https://cuanto.bio](https://cuanto.bio) to the point of needing data export, and now I’m there, so an “official” way to validate the DwC-DPs that I export would be helpful. Maybe that’s still pending locking down the standard?

@pieter using the `frictionless validate` command looks useful, but it’s not immediately clear to me that it will check the DwC-specific rules. I’ll check it out. Thanks!

---

<div class="post-metadata">

**Author:** ![kueda](https://sea1.discourse-cdn.com/gbif1/user_avatar/discourse.gbif.org/kueda/32/377_2.png) [@kueda](https://discourse.gbif.org/u/kueda)\
**Post date:** [May 29, 2026, 7:13pm UTC](https://discourse.gbif.org/t/dwc-a-dwc-dp-cli-validator/6230/5 "2026-05-29T19:13:29Z")

</div>

FWIW, I had Claude make one: [https://github.com/kueda/dwc-dp-validate](https://github.com/kueda/dwc-dp-validate). I’m not actually sure it does a good job so if anyone finds problems, please let me know. As far as I can tell `frictionless validate` checks for basic CSV validity and that `datapackage.json`’s requirements are met by the content, but it doesn’t ensure that `datapackage.json` actually conforms to [https://raw.githubusercontent.com/gbif/dwc-dp/0.1/dwc-dp/dwc-dp-profile.json](https://raw.githubusercontent.com/gbif/dwc-dp/0.1/dwc-dp/dwc-dp-profile.json). It does get you most of the way there, though.

---

<div class="post-metadata">

**Author:** ![nreibke](https://avatars.discourse-cdn.com/v4/letter/n/e95f7d/32.png) [@nreibke](https://discourse.gbif.org/u/nreibke)\
**Post date:** [June 1, 2026, 11:50am UTC](https://discourse.gbif.org/t/dwc-a-dwc-dp-cli-validator/6230/6 "2026-06-01T11:50:58Z")

</div>

Hi @kueda good timing.

We are work in progress with Darwin Core Data Packages, but do have made a small CLI analyser which both explores the validation aspects you describe and some statistics.

I have made a release on github, so you fetch it: [Release dwc-dp-analyser-0.0.6 - Runner CLI · gbif/dwc-dp-analyser · GitHub](https://github.com/gbif/dwc-dp-analyser/releases/tag/dwc-dp-analyser-0.0.6)

The README.md in the repository should contain description on how to run it. (requires java)

---

<div class="post-metadata">

**Author:** ![kueda](https://sea1.discourse-cdn.com/gbif1/user_avatar/discourse.gbif.org/kueda/32/377_2.png) [@kueda](https://discourse.gbif.org/u/kueda)\
**Post date:** [June 1, 2026, 5:08pm UTC](https://discourse.gbif.org/t/dwc-a-dwc-dp-cli-validator/6230/7 "2026-06-01T17:08:51Z")

</div>

Perfect, exactly what I was looking for. Thank you!
