entities

class zenodo_rest.entities.Deposition(*, created: str, doi: str = None, doi_url: str = None, files: list[zenodo_rest.entities.deposition_file.DepositionFile] = None, id: str, links: dict, metadata: zenodo_rest.entities.metadata.Metadata, modified: str, owner: int, record_id: int, record_url: str = None, state: str, submitted: bool, title: str)

Bases: pydantic.main.BaseModel

static create(metadata: Optional[zenodo_rest.entities.metadata.Metadata] = None, prereserve_doi: Optional[bool] = None, token: Optional[str] = None, base_url: Optional[str] = None) zenodo_rest.entities.deposition.Deposition

Create a deposition on the server, but do not publish it.

Parameters
  • metadata (Metadata) – The metadata to be used when creating the deposition. (defaults to an empty Metadata object with placeholders in required fields)

  • prereserve_doi (Optional[bool]) – Whether to prereserve a DOI or not, Zenodo seems to do it always, but documented this.

  • token (Optional[str]) – Your zenodo token

  • base_url (Optional[str]) – The url for the target zenodo server

Returns

The Deposition object created (now containing server side created properties)

Return type

Deposition

created: str
delete_file(file_id: str, token: Optional[str] = None, base_url: Optional[str] = None) int

Delete a file from this deposition if it is not yet published

Parameters
  • file_id (str) – The id of the file to be deleted, which is stored in this deposition’s bucket.

  • token (Optional[str] (defaults to ZENODO_TOKEN envvar)) – Your zenodo token

  • base_url (Optional[str]) – The base url of the zenodo server (defaults to ZENODO_URL envvar)

Returns

The HTTP response code of the deletion request.

Return type

int

delete_files(token: Optional[str] = None, base_url: Optional[str] = None) list[int]

Delete all files from this deposition if it is not yet published

Parameters
  • token (Optional[str] (defaults to ZENODO_TOKEN envvar)) – Your zenodo token

  • base_url (Optional[str]) – The base url of the zenodo server (defaults to ZENODO_URL envvar)

Returns

A list of the HTTP response codes of the file deletion requests

Return type

list[int]

doi: Optional[str]
doi_url: Optional[str]
files: Optional[list[zenodo_rest.entities.deposition_file.DepositionFile]]
get_bucket() str
get_latest(token: Optional[str] = None) zenodo_rest.entities.deposition.Deposition

Gets the latest published version of this deposition

Parameters

token (Optional[str]) – Your zenodo token

Returns

The latest published version of this deposition.

Return type

Deposition

get_latest_draft(token: Optional[str] = None) zenodo_rest.entities.deposition.Deposition

Retrieve the latest draft related to this deposition

Parameters

token (Optional[str]) – Your zenodo token

Returns

The latest draft related to this deposition, or a NoDraftFound exception.

Return type

Deposition

id: str
metadata: zenodo_rest.entities.metadata.Metadata
modified: str
owner: int
record_id: int
record_url: Optional[str]
refresh(token: Optional[str] = None) zenodo_rest.entities.deposition.Deposition

Refresh this deposition

Parameters

token (Optional[str]) – Your zenodo token

Returns

Refreshes this deposition from the remote

Return type

Deposition

static retrieve(deposition_id: str, token: Optional[str] = None, base_url: Optional[str] = None) zenodo_rest.entities.deposition.Deposition

Fetch a deposition by id from the remote

Parameters
  • deposition_id (str) –

  • token (Optional[str]) – Your zenodo token

  • base_url (Optional[str]) – The url for the target zenodo server

Returns

The deposition fetched by the remote

Return type

Deposition

state: str
submitted: bool
title: str
upload_file(path_or_file: str, token: Optional[str] = None) zenodo_rest.entities.bucket_file.BucketFile

Upload or overwrite a file or path attachment for a deposition

Parameters
  • path_or_file (str) – A path to zip and upload or a file_path to upload

  • token (Optional[str]) – Your zenodo token

Returns

The object for a successfully uploaded file

Return type

BucketFile

class zenodo_rest.entities.Metadata(*, upload_type: zenodo_rest.entities.metadata.UploadType = UploadType.other, publication_type: zenodo_rest.entities.metadata.PublicationType = None, image_type: zenodo_rest.entities.metadata.ImageType = None, publication_date: str = '2022-05-05', title: str = 'Placeholder', creators: list[zenodo_rest.entities.creator.Creator] = [Creator(name='Placeholder', affiliation=None, orcid=None, gnd=None)], description: str = 'Placeholder', access_right: zenodo_rest.entities.metadata.AccessRight = AccessRight.open, license: str = None, embargo_date: datetime.date = None, access_conditions: str = None, doi: str = None, prereserve_doi: Optional[Union[zenodo_rest.entities.doi.Doi, bool]] = None, keywords: list[str] = None, notes: str = None, related_identifiers: list[object] = None, contributors: list[zenodo_rest.entities.creator.Contributor] = None, references: list[str] = None, communities: list[zenodo_rest.entities.community.Community] = None, grants: list[zenodo_rest.entities.grant.Grant] = None, journal_title: str = None, journal_volume: str = None, journal_issue: str = None, journal_pages: str = None, conference_title: str = None, conference_acronym: str = None, conference_dates: str = None, conference_place: str = None, conference_url: str = None, conference_session: str = None, conference_session_part: str = None, imprint_publisher: str = None, imprint_isbn: str = None, imprint_place: str = None, partof_title: str = None, partof_pages: str = None, thesis_supervisors: list[zenodo_rest.entities.creator.Creator] = None, thesis_university: str = None, subjects: list[zenodo_rest.entities.subject.Subject] = None, version: str = None, language: str = None, locations: list[zenodo_rest.entities.location.Location] = None, dates: list[zenodo_rest.entities.date_interval.DateInterval] = None, method: str = None)

Bases: pydantic.main.BaseModel

access_conditions: Optional[str]
access_right: zenodo_rest.entities.metadata.AccessRight
communities: Optional[list[zenodo_rest.entities.community.Community]]
conference_acronym: Optional[str]
conference_dates: Optional[str]
conference_place: Optional[str]
conference_session: Optional[str]
conference_session_part: Optional[str]
conference_title: Optional[str]
conference_url: Optional[str]
contributors: Optional[list[zenodo_rest.entities.creator.Contributor]]
creators: list[zenodo_rest.entities.creator.Creator]
dates: Optional[list[zenodo_rest.entities.date_interval.DateInterval]]
description: str
doi: Optional[str]
embargo_date: Optional[datetime.date]
grants: Optional[list[zenodo_rest.entities.grant.Grant]]
image_type: Optional[zenodo_rest.entities.metadata.ImageType]
imprint_isbn: Optional[str]
imprint_place: Optional[str]
imprint_publisher: Optional[str]
journal_issue: Optional[str]
journal_pages: Optional[str]
journal_title: Optional[str]
journal_volume: Optional[str]
keywords: Optional[list[str]]
language: Optional[str]
license: Optional[str]
locations: Optional[list[zenodo_rest.entities.location.Location]]
method: Optional[str]
notes: Optional[str]
partof_pages: Optional[str]
partof_title: Optional[str]
prereserve_doi: Optional[Union[zenodo_rest.entities.doi.Doi, bool]]
publication_date: str
publication_type: Optional[zenodo_rest.entities.metadata.PublicationType]
references: Optional[list[str]]
related_identifiers: Optional[list[object]]
subjects: Optional[list[zenodo_rest.entities.subject.Subject]]
thesis_supervisors: Optional[list[zenodo_rest.entities.creator.Creator]]
thesis_university: Optional[str]
title: str
upload_type: zenodo_rest.entities.metadata.UploadType
version: Optional[str]