### Install All Optional Dependencies Source: https://github.com/afuetterer/python-re3data/blob/main/docs/src/install.md Use this command to install all available optional dependencies for the python-re3data package. Ensure you have pip installed. ```bash python -m pip install "python-re3data[all]" ``` -------------------------------- ### Install python-re3data with uv Source: https://github.com/afuetterer/python-re3data/blob/main/docs/src/install.md Install the library and its dependencies using the 'uv' package installer within an activated virtual environment. ```bash uv add python-re3data ``` -------------------------------- ### Install python-re3data from source Source: https://github.com/afuetterer/python-re3data/blob/main/docs/src/install.md Install the library and its dependencies after cloning the repository and navigating into the project directory. ```bash python -m pip install . ``` -------------------------------- ### Install python-re3data with pip Source: https://github.com/afuetterer/python-re3data/blob/main/docs/src/install.md Use this command to install the library and its core dependencies. It's recommended to use a virtual environment. ```bash python -m pip install python-re3data ``` -------------------------------- ### Install Python Re3data Source: https://context7.com/afuetterer/python-re3data/llms.txt Commands to install the library with various optional feature sets or via Docker. ```bash # Basic installation pip install python-re3data # With CLI support pip install python-re3data[cli] # With CSV/DataFrame support pip install python-re3data[csv] # With all optional features pip install python-re3data[all] # Or use Docker docker pull ghcr.io/afuetterer/python-re3data:latest ``` -------------------------------- ### Generate Repository List Resources Source: https://github.com/afuetterer/python-re3data/blob/main/src/re3data/_resources/README.md Commands to install dependencies and generate repository list dataclasses from XML. ```console python -m pip install ".[cli]" "xsdata[cli]" re3data repository list --return-type=xml > repository_list.xml xsdata generate --config=src/re3data/_resources/.repository_list.xml repository_list.xml ``` -------------------------------- ### Use Command Line Interface Source: https://context7.com/afuetterer/python-re3data/llms.txt Perform repository lookups and list operations directly from the terminal. Requires the [cli] extra installation. ```bash # Show version re3data --version # List all repositories re3data repository list # List repositories with query filter re3data repository list --query "climate" # Get specific repository re3data repository get r3d100010468 # Output as JSON re3data repository list --return-type json # Output as CSV re3data repository list --return-type csv # Save output to file re3data repository list --return-type csv --outfile repositories.csv # Get count of repositories re3data repository list --count # Get help re3data --help re3data repository --help re3data repository list --help re3data repository get --help ``` -------------------------------- ### Install python-re3data with CLI support via pip Source: https://github.com/afuetterer/python-re3data/blob/main/docs/src/install.md Install the library with the optional command-line interface dependencies. Ensure you are in a virtual environment. ```bash python -m pip install "python-re3data[cli]" ``` -------------------------------- ### Synchronous Client: List All Repositories Source: https://context7.com/afuetterer/python-re3data/llms.txt Use the explicit Client class for managing the client lifecycle. This example shows how to list all repositories using the synchronous client. ```python from re3data import Client, ReturnType # Create client instance client = Client() # List all repositories repositories = client.repositories.list() print(f"Found {len(repositories)} repositories") ``` -------------------------------- ### Run re3data CLI tool using uvx Source: https://github.com/afuetterer/python-re3data/blob/main/docs/src/install.md Execute the 're3data' command-line tool with optional dependencies installed via 'uvx' without global installation. ```bash $ uvx --from "python-re3data[cli]" re3data --version ``` -------------------------------- ### Create a virtual environment with uv Source: https://github.com/afuetterer/python-re3data/blob/main/docs/src/install.md This command creates a new virtual environment in the current directory using the 'uv' package installer. ```bash uv venv ``` -------------------------------- ### Install python-re3data with CSV support via pip Source: https://github.com/afuetterer/python-re3data/blob/main/docs/src/install.md Install the library with the optional CSV export dependencies, which include the pandas library. ```bash python -m pip install "python-re3data[csv]" ``` -------------------------------- ### Get Repository List as pandas DataFrame Source: https://context7.com/afuetterer/python-re3data/llms.txt Retrieve the list of repositories as a pandas DataFrame. This requires the `python-re3data[csv]` extra to be installed and is suitable for data analysis tasks. ```python import re3data from re3data import ReturnType # Get repository list as DataFrame df = re3data.repositories.list(return_type=ReturnType.DATAFRAME) print(f"Shape: {df.shape}") print(df.head()) # Analyze repository data print(f"Columns: {df.columns.tolist()}") # Output: ['id', 'doi', 'name', 'link.href', 'link.rel'] # Filter and analyze zenodo = df[df['name'] == 'Zenodo'] print(zenodo) ``` -------------------------------- ### Get Single Repository Details Source: https://context7.com/afuetterer/python-re3data/llms.txt Fetch comprehensive metadata for a specific repository using its unique identifier. ```python import re3data # Get detailed repository information repository = re3data.repositories.get("r3d100010468") # Access repository properties print(f"Identifier: {repository.re3data_org_identifier}") print(f"Name: {repository.repository_name.value}") print(f"Language: {repository.repository_name.language}") print(f"URL: {repository.repository_url}") print(f"Identifiers: {repository.repository_identifier}") # Access nested data structures for description in repository.description: print(f"Description ({description.language}): {description.value[:100]}...") for subject in repository.subject: print(f"Subject: {subject.subject_text.value}") ``` -------------------------------- ### Get Repository Details Source: https://github.com/afuetterer/python-re3data/blob/main/README.md Fetches detailed metadata for a specific repository using its unique identifier. ```pycon >>> response = re3data.repositories.get("r3d100010468") >>> response Repository(re3data_org_identifier='r3d100010468', repository_name=RepositoryName(value='Zenodo', language=), additional_name=[], repository_url='https://zenodo.org/', repository_identifier=['FAIRsharing_doi:10.25504/FAIRsharing.wy4egf', 'RRID:SCR_004129', 'RRID:nlx_158614']) ... (remaining fields truncated) ``` -------------------------------- ### Get Single Repository as CSV String Source: https://context7.com/afuetterer/python-re3data/llms.txt Retrieve a specific repository's data as a CSV formatted string. This is useful for exporting individual repository details. ```python # Get single repository as CSV csv_repo = re3data.repositories.get("r3d100010468", return_type=ReturnType.CSV) with open("zenodo.csv", "w") as f: f.write(csv_repo) ``` -------------------------------- ### Handle ConverterWarning for Size Element Source: https://github.com/afuetterer/python-re3data/blob/main/src/re3data/_resources/README.md Example of an empty updated attribute causing conversion issues and the manual fix in the generated class. ```xml ``` ```console ConverterWarning: Failed to convert value `` to one of (, ) ``` ```python class Size: ... updated: None | XmlPeriod | XmlDate | str # str added manually ... ``` -------------------------------- ### Get Single Repository as JSON String Source: https://context7.com/afuetterer/python-re3data/llms.txt Retrieve a specific repository's data as a JSON string. This allows for easy parsing and access to individual repository details. ```python # Get single repository as JSON json_repo = re3data.repositories.get("r3d100010468", return_type=ReturnType.JSON) repo_data = json.loads(json_repo) print(f"Repository URL: {repo_data['repositoryURL']}") ``` -------------------------------- ### Synchronous Client: Get Specific Repository (Default Return Type) Source: https://context7.com/afuetterer/python-re3data/llms.txt Retrieve a specific repository by its ID using the synchronous client. By default, it returns a repository object with accessible attributes. ```python # Get specific repository with different return types repo = client.repositories.get("r3d100010468") print(f"Repository: {repo.repository_name.value}") ``` -------------------------------- ### Get Single Repository as pandas DataFrame Source: https://context7.com/afuetterer/python-re3data/llms.txt Retrieve a specific repository's data as a pandas DataFrame. This allows for detailed analysis of a single repository's attributes. ```python # Get single repository as DataFrame repo_df = re3data.repositories.get("r3d100010468", return_type=ReturnType.DATAFRAME) print(f"Repository columns: {repo_df.shape[1]}") ``` -------------------------------- ### Get Repository List as Python Dictionaries Source: https://context7.com/afuetterer/python-re3data/llms.txt Retrieve the list of repositories as Python dictionaries. This format is ideal for direct manipulation and data processing within your Python application. ```python import re3data from re3data import ReturnType # Get repository list as list of dictionaries repos_dict = re3data.repositories.list(return_type=ReturnType.DICT) for repo in repos_dict[:3]: print(f"ID: {repo['id']}, Name: {repo['name']}") ``` -------------------------------- ### re3data repository get Source: https://github.com/afuetterer/python-re3data/blob/main/docs/src/cli.md Retrieves the metadata for a specific repository using its ID. ```APIDOC ## `re3data repository get` ### Description Get the metadata of a specific repository. ### Usage ```console $ re3data repository get [OPTIONS] REPOSITORY_ID ``` ### Arguments #### Path Parameters * **REPOSITORY_ID** (string) - Required - The unique identifier of the repository. ``` -------------------------------- ### Get Single Repository as Python Dictionary Source: https://context7.com/afuetterer/python-re3data/llms.txt Retrieve a specific repository's data as a Python dictionary. This provides direct access to all repository attributes for programmatic use. ```python # Get single repository as dictionary repo_dict = re3data.repositories.get("r3d100010468", return_type=ReturnType.DICT) print(f"Identifier: {repo_dict['re3data.orgIdentifier']}") print(f"URL: {repo_dict['repositoryURL']}") # Access nested data if 'description' in repo_dict: print(f"Has {len(repo_dict.get('description', []))} descriptions") ``` -------------------------------- ### Get Repository List as JSON String Source: https://context7.com/afuetterer/python-re3data/llms.txt Retrieve the list of repositories as a JSON string. This is useful for web services or direct storage. The output can be parsed into a Python dictionary for further processing. ```python import re3data from re3data import ReturnType import json # Get repository list as JSON string json_list = re3data.repositories.list(return_type=ReturnType.JSON) print(json_list[:300]) # Parse JSON for further processing data = json.loads(json_list) print(f"First repository: {data[0]['name']}") ``` -------------------------------- ### Synchronous Client: Get Specific Repository as JSON Source: https://context7.com/afuetterer/python-re3data/llms.txt Retrieve a specific repository by its ID and specify the return type as JSON using the synchronous client. This provides the repository data in a JSON string format. ```python repo_json = client.repositories.get("r3d100010468", return_type=ReturnType.JSON) print(f"JSON response length: {len(repo_json)}") ``` -------------------------------- ### Get Repository List as CSV String Source: https://context7.com/afuetterer/python-re3data/llms.txt Retrieve the list of repositories as a CSV formatted string. This is useful for exporting data to spreadsheet applications or for use with other CSV-parsing tools. Requires `python-re3data[csv]`. ```python import re3data from re3data import ReturnType # Get repository list as CSV csv_list = re3data.repositories.list(return_type=ReturnType.CSV) print(csv_list[:200]) # id,doi,name,link.href,link.rel # r3d100010468,https://doi.org/10.17616/R3QP53,Zenodo,https://www.re3data.org/api/beta/repository/r3d100010468,self # ... # Save to file with open("repositories.csv", "w") as f: f.write(csv_list) ``` -------------------------------- ### Get Raw HTTP Response Object Source: https://context7.com/afuetterer/python-re3data/llms.txt Retrieve the raw HTTP Response object from the API. This allows access to low-level details such as status codes, headers, and the raw text content. ```python import re3data from re3data import ReturnType # Get raw Response object response = re3data.repositories.list(return_type=ReturnType.RESPONSE) print(f"Status Code: {response.status_code}") print(f"URL: {response.url}") print(f"Content-Type: {response.headers.get('content-type')}") # Access raw XML text xml_content = response.text print(f"Response length: {len(xml_content)} characters") ``` -------------------------------- ### List All Repositories Source: https://context7.com/afuetterer/python-re3data/llms.txt Retrieve a list of all registered research data repositories as RepositorySummary objects. ```python import re3data # List all repositories (returns list of RepositorySummary dataclass objects) repositories = re3data.repositories.list() # Access repository summary information for repo in repositories[:5]: print(f"ID: {repo.id}") print(f"Name: {repo.name}") print(f"DOI: {repo.doi}") print(f"Link: {repo.link.href}") print("---") ``` -------------------------------- ### Access Repository Convenience Attributes Source: https://github.com/afuetterer/python-re3data/blob/main/src/re3data/_resources/README.md Demonstrates accessing the identifier directly via a mixin on the Repository object. ```pycon >>> repository = re3data.repositories.get("r3d100010468") >>> repository.re3data_org_identifier 'r3d100010468' >>> repository.id # for convenience 'r3d100010468' ``` -------------------------------- ### Synchronous Client: Search Repositories Source: https://context7.com/afuetterer/python-re3data/llms.txt Perform a search for repositories using a query string with the synchronous client. This allows filtering results based on specific keywords. ```python # Search with query results = client.repositories.list(query="astronomy") print(f"Found {len(results)} astronomy repositories") ``` -------------------------------- ### Access RepositorySummary Convenience Attributes Source: https://github.com/afuetterer/python-re3data/blob/main/src/re3data/_resources/README.md Demonstrates accessing the href attribute directly via a mixin on the RepositorySummary object. ```pycon >>> repository_summary = re3data.repositories.list()[0] >>> repository_summary.link.href 'https://www.re3data.org/api/beta/repository/r3d100010468' >>> repository_summary.href # for convenience 'https://www.re3data.org/api/beta/repository/r3d100010468' ``` -------------------------------- ### CLI Usage Patterns Source: https://github.com/afuetterer/python-re3data/blob/main/docs/src/cli.md General usage patterns for the re3data command line tool and its subcommands. ```console $ re3data [OPTIONS] COMMAND [ARGS]... ``` ```console $ re3data repository [OPTIONS] COMMAND [ARGS]... ``` ```console $ re3data repository get [OPTIONS] REPOSITORY_ID ``` ```console $ re3data repository list [OPTIONS] ``` -------------------------------- ### Generate Repository Resources Source: https://github.com/afuetterer/python-re3data/blob/main/src/re3data/_resources/README.md Command to generate repository dataclasses from the re3data XSD schema. ```console xsdata generate --config=src/re3data/_resources/.repository.xml http://schema.re3data.org/2-2/re3dataV2-2.xsd ``` -------------------------------- ### Search Repositories Source: https://context7.com/afuetterer/python-re3data/llms.txt Filter repositories by query string or retrieve count-only results. ```python import re3data # Search for repositories matching a query results = re3data.repositories.list(query="biosharing") for repo in results: print(f"{repo.id}: {repo.name}") # Example output: # r3d100010142: FAIRsharing # Search for climate-related repositories climate_repos = re3data.repositories.list(query="climate") print(f"Found {len(climate_repos)} climate-related repositories") # Search and get count only count = re3data.repositories.list(query="genomics", count=True) print(f"Found {count} genomics repositories") ``` -------------------------------- ### Synchronous Client: Count Repositories Source: https://context7.com/afuetterer/python-re3data/llms.txt Count the total number of repositories available through the API using the synchronous client. Setting `count=True` optimizes the request for just the total count. ```python # Count repositories total = client.repositories.list(count=True) print(f"Total: {total}") ``` -------------------------------- ### Perform Asynchronous Repository Operations Source: https://context7.com/afuetterer/python-re3data/llms.txt Utilize the AsyncClient for non-blocking repository listing, searching, and retrieval. Ensure the client is awaited for all network-bound operations. ```python import asyncio from re3data import AsyncClient, ReturnType async def main(): # Create async client async_client = AsyncClient() # List repositories asynchronously repositories = await async_client.repositories.list() print(f"Found {len(repositories)} repositories") # Search with query results = await async_client.repositories.list(query="biosharing") for repo in results: print(f"{repo.id}: {repo.name}") # Get specific repository repo = await async_client.repositories.get("r3d100010468") print(f"Repository: {repo.repository_name.value}") print(f"URL: {repo.repository_url}") # Get as DataFrame df = await async_client.repositories.list(return_type=ReturnType.DATAFRAME) print(f"DataFrame shape: {df.shape}") # Count repositories count = await async_client.repositories.list(count=True) print(f"Total repositories: {count}") # Run async code asyncio.run(main()) ``` -------------------------------- ### Client Class Source: https://github.com/afuetterer/python-re3data/blob/main/docs/src/api.md Documentation for the Client class in the re3data library. ```APIDOC ## Client ::: re3data.Client ``` -------------------------------- ### Count Repositories Source: https://context7.com/afuetterer/python-re3data/llms.txt Retrieve the total count of repositories, optionally filtered by a query. ```python import re3data # Get total count of all repositories total_count = re3data.repositories.list(count=True) print(f"Total repositories in re3data: {total_count}") # Get count of repositories matching a query biology_count = re3data.repositories.list(query="biology", count=True) print(f"Biology-related repositories: {biology_count}") ``` -------------------------------- ### re3data CLI Usage Source: https://github.com/afuetterer/python-re3data/blob/main/docs/src/cli.md General usage instructions for the re3data command-line interface. ```APIDOC ## re3data CLI Usage ### Description Provides the main entry point for interacting with the re3data library via the command line. ### Usage ```console $ re3data [OPTIONS] COMMAND [ARGS]... ``` ### Options * `-V, --version`: Show python-re3data version and exit. * `--install-completion`: Install completion for the current shell. * `--show-completion`: Show completion for the current shell, to copy it or customize the installation. * `--help`: Show this message and exit. ``` -------------------------------- ### Run python-re3data Podman container Source: https://github.com/afuetterer/python-re3data/blob/main/docs/src/install.md Execute the python-re3data command-line interface within a Podman container. The container will be removed after execution. ```bash $ podman run --rm afuetterer/python-re3data --version ``` -------------------------------- ### AsyncClient Class Source: https://github.com/afuetterer/python-re3data/blob/main/docs/src/api.md Documentation for the AsyncClient class in the re3data library. ```APIDOC ## AsyncClient ::: re3data.AsyncClient ``` -------------------------------- ### Implement Error Handling Source: https://context7.com/afuetterer/python-re3data/llms.txt Manage API exceptions including repository lookup failures, HTTP status errors, and invalid parameter types. ```python import re3data from re3data import RepositoryNotFoundError, Re3dataError import httpx # Handle repository not found try: repo = re3data.repositories.get("invalid_id_xxx") except RepositoryNotFoundError as e: print(f"Repository not found: {e}") # Handle HTTP errors try: repos = re3data.repositories.list() except httpx.HTTPStatusError as e: print(f"HTTP error: {e.response.status_code}") except Re3dataError as e: print(f"re3data API error: {e}") # Handle invalid return type from re3data import ReturnType try: # Must use ReturnType enum, not string repos = re3data.repositories.list(return_type="json") # Wrong! except ValueError as e: print(f"Invalid return type: {e}") # Correct usage repos = re3data.repositories.list(return_type=ReturnType.JSON) ``` -------------------------------- ### BaseClient Class Source: https://github.com/afuetterer/python-re3data/blob/main/docs/src/api.md Documentation for the BaseClient class in the re3data library. ```APIDOC ## BaseClient ::: re3data._client.BaseClient ``` -------------------------------- ### Access Repository Metadata Source: https://context7.com/afuetterer/python-re3data/llms.txt Retrieve and iterate through detailed repository attributes such as subjects, institutions, data access policies, and API endpoints. ```python import re3data # Get detailed repository information repo = re3data.repositories.get("r3d100010468") # Basic information print(f"Name: {repo.repository_name.value}") print(f"URL: {repo.repository_url}") print(f"Start date: {repo.start_date}") # Descriptions (may have multiple languages) for desc in repo.description: print(f"Description ({desc.language}): {desc.value[:150]}...") # Subjects/disciplines print("Subjects:") for subject in repo.subject: print(f" - {subject.subject_text.value} (Scheme: {subject.subject_scheme})") # Content types print("Content types:") for content_type in repo.content_type: print(f" - {content_type.content_type_text.value}") # Institutions print("Institutions:") for institution in repo.institution: print(f" - {institution.institution_name.value}") print(f" Country: {institution.institution_country}") print(f" Type: {institution.institution_type}") # Data access information for data_access in repo.data_access: print(f"Data access type: {data_access.data_access_type}") if data_access.data_access_restriction: print(f" Restrictions: {data_access.data_access_restriction}") # APIs available for api in repo.api: print(f"API: {api.api_type} - {api.value}") # Certificates for cert in repo.certificate: print(f"Certificate: {cert}") ``` -------------------------------- ### Execute Concurrent Async Requests Source: https://context7.com/afuetterer/python-re3data/llms.txt Fetch multiple repository records simultaneously using asyncio.gather to improve performance when querying multiple IDs. ```python import asyncio from re3data import AsyncClient async def fetch_multiple_repositories(): async_client = AsyncClient() # List of repository IDs to fetch repo_ids = ["r3d100010468", "r3d100010142", "r3d100010371"] # Fetch all repositories concurrently tasks = [async_client.repositories.get(repo_id) for repo_id in repo_ids] repositories = await asyncio.gather(*tasks) for repo in repositories: print(f"{repo.re3data_org_identifier}: {repo.repository_name.value}") print(f" URL: {repo.repository_url}") asyncio.run(fetch_multiple_repositories()) ``` -------------------------------- ### Clone python-re3data repository Source: https://github.com/afuetterer/python-re3data/blob/main/docs/src/install.md Download the source code of the python-re3data project from GitHub using Git. ```bash git clone https://github.com/afuetterer/python-re3data.git ``` -------------------------------- ### List Repositories Source: https://github.com/afuetterer/python-re3data/blob/main/README.md Retrieves a list of research data repositories available via the re3data API. ```pycon >>> import re3data >>> response = re3data.repositories.list() >>> response [RepositorySummary(id='r3d100010468', doi='https://doi.org/10.17616/R3QP53', name='Zenodo', link=Link(href='https://www.re3data.org/api/beta/repository/r3d100010468', rel='self'))] ... (remaining repositories truncated) ``` -------------------------------- ### re3data repository Commands Source: https://github.com/afuetterer/python-re3data/blob/main/docs/src/cli.md Documentation for the 'repository' command group, which handles repository metadata operations. ```APIDOC ## `re3data repository` Commands ### Description Manages repository metadata, allowing users to retrieve or list repository information. ### Usage ```console $ re3data repository [OPTIONS] COMMAND [ARGS]... ``` ### Options * `--help`: Show this message and exit. ``` -------------------------------- ### Pull the official python-re3data Podman image Source: https://github.com/afuetterer/python-re3data/blob/main/docs/src/install.md Fetch the latest official Docker image for python-re3data from GHCR using Podman. This image includes the CLI. ```bash podman pull ghcr.io/afuetterer/python-re3data:latest ``` -------------------------------- ### Retrieve Raw XML Responses Source: https://context7.com/afuetterer/python-re3data/llms.txt Request raw XML data from the API by specifying the ReturnType. ```python import re3data from re3data import ReturnType # Get repository list as XML xml_list = re3data.repositories.list(return_type=ReturnType.XML) print(xml_list[:500]) # Get single repository as XML xml_repo = re3data.repositories.get("r3d100010468", return_type=ReturnType.XML) print(xml_repo[:500]) ``` -------------------------------- ### Run python-re3data Docker container Source: https://github.com/afuetterer/python-re3data/blob/main/docs/src/install.md Execute the python-re3data command-line interface within a Docker container. The container will be removed after execution. ```bash $ docker run --rm afuetterer/python-re3data --version ``` -------------------------------- ### AsyncRepositoryManager Class Source: https://github.com/afuetterer/python-re3data/blob/main/docs/src/api.md Documentation for the AsyncRepositoryManager class in the re3data library. ```APIDOC ## AsyncRepositoryManager ::: re3data._client.AsyncRepositoryManager ``` -------------------------------- ### Pull the official python-re3data Docker image Source: https://github.com/afuetterer/python-re3data/blob/main/docs/src/install.md Fetch the latest official Docker image for python-re3data from GHCR. This image includes the CLI. ```bash docker pull ghcr.io/afuetterer/python-re3data:latest ``` -------------------------------- ### RepositoryManager Class Source: https://github.com/afuetterer/python-re3data/blob/main/docs/src/api.md Documentation for the RepositoryManager class in the re3data library. ```APIDOC ## RepositoryManager ::: re3data._client.RepositoryManager ``` -------------------------------- ### re3data repository list Source: https://github.com/afuetterer/python-re3data/blob/main/docs/src/cli.md Lists the metadata of all repositories available in the re3data API. ```APIDOC ## `re3data repository list` ### Description List the metadata of all repositories in the re3data API. ### Usage ```console $ re3data repository list [OPTIONS] ``` ### Options * `--help`: Show this message and exit. ``` -------------------------------- ### Response Class Source: https://github.com/afuetterer/python-re3data/blob/main/docs/src/api.md Documentation for the Response class in the re3data library. ```APIDOC ## Response ::: re3data.Response ``` -------------------------------- ### Define Size Element in XSD Source: https://github.com/afuetterer/python-re3data/blob/main/src/re3data/_resources/README.md The original XML schema definition for the size element with an updated attribute. ```xsd The number of items contained in the research data repository. The date of the last update of the research data repository size. ``` -------------------------------- ### Correct SoftwareNames Enum Spelling Source: https://github.com/afuetterer/python-re3data/blob/main/src/re3data/_resources/README.md Adjusting the generated Enum to match the API's lowercase spelling instead of the schema's uppercase. ```xsd ... ``` ```python class SoftwareNames(Enum): ... DATA_VERSE = "Dataverse" # lowercase v ... ``` === COMPLETE CONTENT === This response contains all available snippets from this library. No additional content exists. Do not make further requests.