Skip to main content

The Pythonic client for the re3data API.

Project description

python-re3data: The Pythonic client for the re3data API.

⚠️ Please note that this project is currently under active development. As such, it is considered a work in progress, and breaking changes may be introduced at any time. We encourage users to frequently check back for updates and to exercise caution when using this project in production environments. Contributions and feedback are welcome to help move the project towards a more stable release (v1.0.0).

CI pre-commit.ci status ci coverage codeql
Docs docs
Package pypi-status pypi-version pypi-python-versions all-downloads monthly-downloads
Meta doi OpenSSF Scorecard hatch ruff mypy License

python-re3data is a Python library that simplifies interacting with the re3data (Registry of Research Data Repositories) REST API, allowing you to easily retrieve and process metadata about research data repositories in a convenient and Pythonic way.

>>> import re3data
>>> response = re3data.repositories.list()
>>> print(response)
<?xml version="1.0" encoding="UTF-8"?>
<list>
  <repository>
    <id>r3d100010468</id>
    <doi>https://doi.org/10.17616/R3QP53</doi>
    <name>Zenodo</name>
    <link href="https://www.re3data.org/api/beta/repository/r3d100010468" rel="self" />
  </repository>
... (remaining repositories truncated)
>>> response = re3data.repositories.get("r3d100010468")
>>> print(response)
<?xml version="1.0" encoding="utf-8"?>
<!--re3data.org Schema for the Description of Research Data Repositories. Version 2.2, December 2014. doi:10.2312/re3.006-->
<r3d:re3data xmlns:r3d="http://www.re3data.org/schema/2-2" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.re3data.org/schema/2-2 http://schema.re3data.org/2-2/re3dataV2-2.xsd">
  <r3d:repository>
    <r3d:re3data.orgIdentifier>r3d100010468</r3d:re3data.orgIdentifier>
    <r3d:repositoryName language="eng">Zenodo</r3d:repositoryName>
    <r3d:repositoryURL>https://zenodo.org/</r3d:repositoryURL>
... (remaining fields truncated)

Features

  • Pythonic API interactions: Interact with the re3data API in a Pythonic way, without having to worry about low-level HTTP requests or XML parsing.
  • Repository metadata retrieval: Easily fetch and process metadata about research data repositories using re3data.repositories.list().
  • Repository details retrieval: Get detailed information about a specific repository using re3data.repositories.get(repository_id).

Requirements

Python >= 3.10

python-re3data is built with:

  • httpx for issuing HTTP requests
  • typer for its CLI

Installation

You can install python-re3data via pip from PyPI:

python -m pip install python-re3data

Documentation

The documentation is made with Material for MkDocs and is hosted by GitHub Pages.

Similar Projects

There are a couple of similar projects available on GitHub, e.g. via the topic re3data. Among them are these implementations in Python:

Project Description Last commit
py3data py3data is a lightweight and thin Python interface to the beta version of the API. last-commit

License

python-re3data is distributed under the terms of the MIT License.

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

python_re3data-0.3.0.tar.gz (9.0 kB view details)

Uploaded Source

Built Distribution

python_re3data-0.3.0-py3-none-any.whl (8.7 kB view details)

Uploaded Python 3

File details

Details for the file python_re3data-0.3.0.tar.gz.

File metadata

  • Download URL: python_re3data-0.3.0.tar.gz
  • Upload date:
  • Size: 9.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.0.0 CPython/3.12.3

File hashes

Hashes for python_re3data-0.3.0.tar.gz
Algorithm Hash digest
SHA256 d57636cca772b248f46ac8244defc7d37c62485ef93a03b5b0e4052c67d954eb
MD5 e7ac370db2d54850d73c22f7ee622b8d
BLAKE2b-256 26631c8e39ac7179443a5c7a09d68dcbd69e8a513d52e37a54f08b1f73ff4e2a

See more details on using hashes here.

File details

Details for the file python_re3data-0.3.0-py3-none-any.whl.

File metadata

File hashes

Hashes for python_re3data-0.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 03a8688f200fac2cacf05f479b7ba7b59c53b89f6660d23317bdde06b1bfbdf6
MD5 083015ce0505070fbc0c9110ba729e2b
BLAKE2b-256 21d8ada94665a7c4288cf9a6678a1ce9648ab43130b54792d8c15ad143d9ea50

See more details on using hashes here.

Supported by

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