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
RepoProviderimplementation for MECA Bundles,MecaProvider, which should be added to the list of providers in the Binderhub installation. - A
repo2dockerContentProviderfor MECA bindles,MecaContentProvider, which should be added to the list of content providers in a customrepo2dockerinstallation.
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
MecaRepoProviderand add this torepo_providers - main.py - add to the
SPEC_NAMESlist - launch.json - add to the
providerenum - index.js - add
providerPrefix === 'meca'to the test alongside Zenodo etc..., that setsrefto 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.