Skip to main content

Converters for EnviDat metadata

Project description

EnviDat Converters

This project features converters made for EnviDat metadata.

  • EnviDat to JSON-LD
  • EnviDat to DataCite XML
  • EnviDat to RIS
  • EnviDat to DIF
  • EnviDat to ISO 19139
  • EnviDat to BIBTEX
  • EnviDat to DCAT-AP
  • EnviDat to Signposting

It also offers a way to download EnviDat metadata.

The output from the EnviDat to JSON-LD converter is also compatible with the POLDER JSON-LD format. POLDER is an international multidiscplinary Polar Data Search portal created to aid the search for polar data.

Additionally, the project includes a DataCite to OpenDataSwiss (a variant of DCAT AP CH) converter as well as a DataCite to Ro-Crate converter - please note, we currently only support a handful of publishers and the metadata has to be of the ETH metadata standard.

So how do I use it?

All you need to do is install the package.

Clone the repository in a folder of your choosing. Then install it. Easy!

We recommend using a virtual environment as described here, but in theory you can also just run the last command.

# Create virtual environment:
python -m venv <virtual-environment-name>

# Activate virtual environment (depends on your OS)
# Linux/MacOS
source <virtual-environment-name>\bin\activate
# Windows
<virtual-environment-name>\Scripts\activate.bat

# Install the package.
pip install .

If you have set this up before and come back to the project at a different time, the only step you need to do is activate the virtual environment.

Once this project is on PyPi, I will add the according instructions here.

Command Line Usage

Command Line Usage

Open your favourite terminal. So far, you have two main functionalities:

  • Getting the metadata directly from EnviDat
  • Converting that metadata to a format of your choosing

Both have the option to either just print the output or save it as a file.

EnviDat metadata

To show or download the metadata, use the following command:

(python) envidat-converter get-data <query>

Query is your search term. It can be a DOI, a dataset name or a dataset ID.

Optional:

To download the dataset, use the --download flag. This will save the file in your current directory.

If you want to specify the path, you can do that with the --outputdir flag.

Examples:

(python) envidat-converter get-data labes

... will print the dataset with the name "labes" in your terminal.

(python) envidat-converter get-data "10.16904/envidat.228" --download --outputdir ".\foldername"

... will save the dataset with the DOI 10.16904/envidat.228 in a new folder called "foldername".

Convert metadata

So far you can convert to the following formats:

  • Datacite (XML)
  • Json LD in the style of Zenodo (JSON)

To use the converter, use:

(python) envidat-converter convert <query> --converter <converter>

Let's break that down:

  • query: query is your search term. It can be a DOI, a dataset name or a dataset ID.
  • converter: this can currently be "datacite", "jsonld", "bibtex", "dif", "ris", "iso", or "dcatap"

Optional:

To download the dataset, use the --download flag. This will save the file in your current directory.

If you want to specify the path, you can do that with the --outputdir flag.

Examples:

(python) envidat-converter convert labes --converter datacite

... will print the dataset with the name "labes" in the datacite format in your terminal.

(python) envidat-converter convert "10.16904/envidat.228" --converter jsonld --download --outputdir ".\foldername"

... will save the dataset with the DOI 10.16904/envidat.228 in a new folder called "foldername".

API usage

API usage

Make sure you have uvicorn installed. Then it's as simple as running

uvicorn envidat_converters.main:app --port 8080

It should load up under http://localhost:8080/. Note that you can always change the port number to whatever fits your needs.

The docs should open up and help you use the API.

  • To convert metadata, use the convert-metadata endpoint. You can use IDs, package names, or DOIs as query.
  • To simply get the EnviDat metadata, use the get-data endpoint. You can use IDs, package names, or DOIs as query.

Addtional information

This repository was tested against Python Versions 3.8, 3.9, 3.10, 3.11, 3.12, 3.13. Version 3.8 and 3.9 did not work due to dependency issues.

config.ini

If you are not just handling production data but, for example, have a local database that you want to test, you can add the environment to config.ini. There is no need to restart or reinstall after making changes.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

envidat_converter-0.4.3.tar.gz (68.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

envidat_converter-0.4.3-py3-none-any.whl (72.1 kB view details)

Uploaded Python 3

File details

Details for the file envidat_converter-0.4.3.tar.gz.

File metadata

  • Download URL: envidat_converter-0.4.3.tar.gz
  • Upload date:
  • Size: 68.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.13

File hashes

Hashes for envidat_converter-0.4.3.tar.gz
Algorithm Hash digest
SHA256 ff4029a680211cc695740c84e7d28222f64b8b1f5745efffcba7b190d132dded
MD5 05118e875a17c71ee681eda2578c3cf8
BLAKE2b-256 6afc3d1cb25bf3a419dfdf5bf2ae8b6033ba4886a3451e9318e9ae8b514a01e8

See more details on using hashes here.

File details

Details for the file envidat_converter-0.4.3-py3-none-any.whl.

File metadata

File hashes

Hashes for envidat_converter-0.4.3-py3-none-any.whl
Algorithm Hash digest
SHA256 8b3e27beeba15d47ce8e5761d36ec769e9e34f112675b56838cd8d177010f42e
MD5 b8d9742d2f3cf43d2914ae92fee32ee0
BLAKE2b-256 c5ced4d9014e73131d43a8f42aadc01f26df708b24cb5e55fad8c71e99a9331d

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page