.dockstore.yml for Notebooks Templates (version 1.2)

Note

Support for notebooks is in preview mode.

Two templates are provided here, one for you to quickly copy-paste into your repository, and one with a complete explanation of the possible fields and values you can use.

Simple template

version: 1.2
notebooks:
  - format: <JUPYTER>
    language: <PYTHON | R | JAVASCRIPT | SCALA | JULIA | OTHER>
    path: <String>
    kernel: <String>
    otherFiles: <String Array>
    testParameterFiles: <String Array>
    readMePath: <String>
    authors:
      - name: <String>
        email: <String>
    # Publish must be set to true in order for you to view your notebook on Dockstore in preview mode
    publish: true

Full template with explanation of all available fields

# The first line refers to the version 1.2 of the .dockstore.yml schema
version: 1.2

# An array of notebooks. Each element corresponds to a notebook on Dockstore.
notebooks:

  # The optional notebook name for a notebook, which may only consist of alphanumerics
  # and internal underscores and hyphens, but no spaces or other characters. Names may not exceed 256 characters.
  # If using a .dockstore.yml with multiple notebooks, this field is required
  # to uniquely identify notebooks in the repository.
  #
  # It should be noted that having the name come first is an arbitrary decision.
  # You could use subclass instead, for instance. Provided arrays are not broken
  # up, the order of fields within a .dockstore.yml is not important.
  - name: <String>

    # The format used for the notebook. This cannot be changed once the notebook is registered.
    # Currently, only Jupyter is supported.
    # If not provided, the format will default to Jupyter.
    format: <Jupyter>

    # The programming language of the code contained in the notebook. This cannot be changed once the notebook is registered.
    # If not provided, the language will default to Python.
    language: <Python | R | Javascript | Scala | Julia | other>

    # The absolute path to the notebook file in the Git repository.
    # - For Jupyter notebooks, the notebook is a .ipynb file.
    path: <String>

    # Notebook-wide setting that will affect ALL branches/tags; only set this as needed in a main branch.
    # Set to true to publish an unpublished notebook, or false to unpublish a published notebook.
    # Omitting the publish setting leaves the publish-state unchanged (recommended for all non-primary branches).
    publish: <Boolean>

    # An optional array of absolute paths to other files in the Git repository that should be read and included with the notebook.
    otherFiles: <String Array>

    # An optional path to a notebook-specific readme in the Git repository. If not provided, Dockstore will show
    # the readme.md present at the root of the Git repository if it is present.
    # If you have multiple notebooks in a single Git repository, it is recommend to give each one a readme.
    readMePath: <String>

    # An optional array of authorship information.
    # Note that if orcid is present, then all other fields will be ignored, as information will be taken from orcid.
    # If orcid is not present, make sure to at a minimum include the name field for each author.
    authors:
      - orcid: <String>
      - name: <String>
        email: <String>
        role: <String>
        affiliation: <String>

    # A boolean that will change the default version to be displayed on Dockstore. Default: False.
    # A value of true will automatically display the latest tag updated as default.
    # A value of false will retain the default version that has been specified via the Dockstore UI.
    latestTagAsDefault: <Boolean>

    # The optional filters section allow specifying sets of Git branches and tags to include for the notebook.
    # If no filters are given, all branches and tags are included.
    # Branches and tags are arrays of pattern-strings.
    # Pattern-strings use Unix-style Glob syntax by default (Ex: `develop`, `mynotebook/**`)
    # https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/nio/file/FileSystem.html#getPathMatcher(java.lang.String)
    # or RegEx when the string is surrounded by / (Ex: `/develop/`, `/mynotebook\/.*/`).
    filters:
      branches: <String Array>
      tags: <String Array>

See Also