Skip to content

GBIF EML Profile - #268

Merged
tomkralidis merged 3 commits into
geopython:masterfrom
nicokant:gbif-eml
Sep 16, 2026
Merged

tomkralidis merged 3 commits into
geopython:masterfrom
nicokant:gbif-eml

Conversation

@nicokant

@nicokant nicokant commented Apr 24, 2025 •

Copy link
Copy Markdown
Contributor

Add support for importing and transforming from GBIF EML profile of metadata.

fixes #259

@nicokant

Copy link
Copy Markdown
Contributor Author

I'm not sure of how to deal with additional metadata that this format requires, @tomkralidis do you have any advice on how to deal with such values and to provide some validation?

@tomkralidis

Copy link
Copy Markdown
Member

I'm not sure of how to deal with additional metadata that this format requires, @tomkralidis do you have any advice on how to deal with such values and to provide some validation?

(sorry for the delay/late response)

Simply add the values in the MCF as you see fit. You will want to document them and add a schema definition. Using WCMP2 as an example:

As for validation, would this mean validating the MCF with the EML extensions, or the EML output, or both? We currently only have core MCF validation, but could add validation as needed. Please feel free to chime in on #264.

@nicokant

Copy link
Copy Markdown
Contributor Author

Thank you :)

I meant validating the MCF with EML extension.

My main focus now is to allow converting a EML document to other metadata formats (so mostly the import_ method), rather than producing a fully validated EML. But I'd still like to keep somewhere the additional metadata.
Would it be ok if this PR only provides an import feature rather than a bidirectional conversion?

@tomkralidis

Copy link
Copy Markdown
Member

Would it be ok if this PR only provides an import feature rather than a bidirectional conversion?

Yes, this is fine.

@nicokant
nicokant force-pushed the gbif-eml branch 2 times, most recently from 69501a8 to 2682ca9 Compare October 29, 2025 10:17
@nicokant nicokant changed the title WIP: GBIF EML Profile GBIF EML Profile Jan 13, 2026
@nicokant
nicokant force-pushed the gbif-eml branch 3 times, most recently from 628712d to b3c2b22 Compare January 13, 2026 21:17
@tomkralidis

Copy link
Copy Markdown
Member

@nicokant let us know when this PR is ready for review.

@pvgenuchten

Copy link
Copy Markdown
Contributor

Hi @nicokant, nice work here, set pr as ready for review, when you want us to have a look, thanx

@nicokant
nicokant force-pushed the gbif-eml branch 2 times, most recently from 6541cd2 to 5a79f7b Compare September 15, 2026 21:08
@nicokant

Copy link
Copy Markdown
Contributor Author

@pvgenuchten sorry it's been a while, but I've rebased now and the PR is ready for a review :)

@pvgenuchten

Copy link
Copy Markdown
Contributor

Hi @nicokant, thanx for the work. One comment though, if you use mcf[‘identification’][‘doi’] python assumes this value will always be available, consider to use mcf[‘identification’].get(‘doi’) instead.

Comment thread pygeometa/schemas/gbif_eml/__init__.py
Comment thread pygeometa/schemas/__init__.py Outdated
Comment thread tests/run_tests.py Outdated
Comment thread pyproject.toml
Comment thread uv.lock Outdated
@nicokant

Copy link
Copy Markdown
Contributor Author

Hi @nicokant, thanx for the work. One comment though, if you use mcf[‘identification’][‘doi’] python assumes this value will always be available, consider to use mcf[‘identification’].get(‘doi’) instead.

Thank you for the feedback, I noticed with a search that this pattern is also used in wmo_cmp so you might want to fix it also there

Comment thread pygeometa/schemas/gbif_eml/__init__.py Outdated
@tomkralidis

Copy link
Copy Markdown
Member

CI failures unrelated.

@tomkralidis
tomkralidis merged commit d92218c into geopython:master Sep 16, 2026
1 of 2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Add Support for EML (Ecological Metadata Language)

3 participants