EasyDataverse — это библиотека Python, используемая для взаимодействия с установками Dataverse и динамического создания объектов Python, совместимых с конфигурацией блоков метаданных, заданной при установке Dataverse. Кроме того, EasyDataverse позволяет экспортировать и импортировать наборы данных в различные форматы данных и обратно.
Начните работу с EasyDataverse, выполнив следующую команду
# Using PyPI
pip install easyDataverse
Или построить по исходному коду
pip install git+https://github.com/gdcc/easyDataverse.git
EasyDataverse способен подключаться к определенной установке Dataverse и получать все поля метаданных и их свойства. Это позволяет вам создать объект набора данных со всеми полями метаданных и их свойствами, заданными при установке Dataverse.
from easyDataverse import Dataverse
# Connect to a Dataverse installation
dataverse = Dataverse (
server_url = "https://demo.dataverse.org" ,
api_token = "MY_API_TOKEN" ,
)
# Initialize a dataset
dataset = dataverse . create_dataset ()
# Fill metadata blocks
dataset . citation . title = "My dataset"
dataset . citation . subject = [ "Other" ]
dataset . citation . add_author ( name = "John Doe" )
dataset . citation . add_dataset_contact ( name = "John Doe" , email = "[email protected]" )
dataset . citation . add_ds_description ( value = "This is a description of the dataset" )
# Upload files or directories
dataset . add_file ( local_path = "./my.file" , dv_dir = "some/dir" )
dataset . add_directory ( dirpath = "./my_directory" , dv_dir = "some/dir" )
# Upload to the dataverse instance
dataset . upload ( "my_dataverse_id" )
EasyDataset позволяет загружать наборы данных из любой установки Dataverse. Загруженный набор данных представлен как объектно-ориентированная структура и может использоваться для обновления метаданных/файлов, экспорта набора данных в различные форматы или использования его в последующих приложениях.
# Method 1: Download a dataset by its DOI
dataverse = Dataverse ( "https://demo.dataverse.org" )
dataset = dataverse . load_dataset (
pid = "doi:10.70122/FK2/W5AGKD" ,
version = "1" ,
filedir = "place/for/data" ,
)
# Method 2: Download via URL
dataset , dataverse = Dataverse . from_ds_url (
url = "https://demo.dataverse.org/dataset.xhtml?persistentId=doi:10.70122/XX/XXXXX&version=DRAFT" ,
api_token = "MY_API_TOKEN"
)
# Display the content of the dataset
print ( dataset )
# Update metadata
dataset . citation . title = "My even nicer dataset"
# Synchronize with the dataverse instance
dataset . update ()
Подробный пример блокнота вы можете найти в каталоге примеров. В этом блокноте демонстрируются основные понятия EasyDataverse и способы его использования на практике.
EasyDataverse
— бесплатное программное обеспечение с открытым исходным кодом, лицензированное по лицензии MIT.