Providers enabling a BinderHub installation to work from URLs to MECA Bundles.
This in a minimal python package that can be installed and imported into a custom BinderHub installation.
The package contains:
- A Binderhub
RepoProvider
implementation for MECA Bundles,MecaProvider
, which should be added to the list of providers in the Binderhub installation. - A
repo2docker
ContentProvider
for MECA bindles,MecaContentProvider
, which should be added to the list of content providers in a customrepo2docker
installation.
python -m venv env
source env/bin/activate
python -m pip install -e .[all]
Run tests
pytest
with watch
ptw
Currently this requires manual modification of binderhub:
- app.py - import
MecaRepoProvider
and add this torepo_providers
- main.py - add to the
SPEC_NAMES
list - launch.json - add to the
provider
enum - index.js - add
providerPrefix === 'meca'
to the test alongside Zenodo etc..., that setsref
to an empty string - index.html - add information on meca as you like
Currently this needs manual modifications to repo2docker/repo2docker/app.py
in order import the MecaContentProvider
class an add it to the content_providers
list.
This package was developed as part of the AGU (American Geophysical Union) NotebooksNow! initiative. The aim of the project is to elevate Computational Notebooks as part of the scientific record and the MECA (Manuscript Exchange Common Approach) bundle format, along with JATS xml has been used to ensure notebooks can be represented as scholarly objects independent of the toolchain that produced them. Read more about the JATS+MECA specification work that was undertaken here.
This package was developed by Curvenote as part of the NotebookNow! pilot project in 2023,. This work was supported by a grant from the Alfred P. Sloan Foundation, and in kind support from Curvenote and AGU.