Skip to content

Conversation

@opaduchak
Copy link
Collaborator

@opaduchak opaduchak commented May 26, 2025

This pull request adds a new addon implementation for Zenodo and serves as a reference example for new contributors who want to integrate external services with OSF's addon service.


What's Included

  • ZenodoLinkImp class in addon_imps/link/zenodo.py:

    • Implements the LinkAddonHttpRequestorImp interface.
    • Supports:
      • Listing public depositions and their files.
      • Fetching metadata and building external URLs.
      • Resolving external account identity using the Zenodo API.
      • Mapping Zenodo resource types to SupportedResourceTypes.
  • Addon registration in addon_service/common/known_imps.py:

    • Added ZENODO to KnownAddonImps and AddonImpNumbers.

API Reference

Zenodo API documentation: https://developers.zenodo.org/


For New Contributors

If you're looking to add support for another external service, this PR is intended as a working template. It shows how to:

  • Implement the correct addon interface (LinkAddonHttpRequestorImp)
  • Parse and expose resources (e.g., files, metadata, external links)
  • Handle pagination and resource mapping
  • Register your implementation

Use this PR as a starting point for your own addon. Feel free to fork and adapt it!


Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant