Pennsieve code publishing

Pennsieve integrates with GitHub to enable users to publish code and workflows.

In addition to publishing datasets, Pennsieve provides mechanisms to publish your code through integration with GitHub. Pennsieve is a data platform and we do not recommend publishing code within a dataset. Instead, we recommend users to use GitHub to version and manage their code and enable our GitHub integration to publish versions of the code.

GitHub is great for versioning and managing code in a systematic and sustainable way. However, GitHub does not provide mechanism to assign Data Object Identifiers (DOIs) with specific versions of a repository. Publishing a specific release of a GitHub repository with Pennsieve will assign a citable DOI for that version of the repository, create a dedicated landing page associated with this DOI and archives the files associated with the specific version external to GitHub.

Features

A published GitHub repository on Pennsieve includes some similar features to a published dataset, such as:

  1. Each version will have a DOI associated with the publication which can be used to cite code in publications
  2. Each version will have a public landing page on Pennsieve Discover which summarizes the version and the repository.
  3. Each published version will be made available as a set of public files on AWS S3

How does this work on Pennsieve?

Users can register their GitHub accounts with their Pennsieve profile. This will install the Pennsieve App in their GitHub account and configures GitHub to send Pennsieve notifications about new releases in their repositories. On Pennsieve, users select which GitHub releases they want to automatically publish on new releases and specify which workspace should manage these code publications.

During the first release of a GitHub repository, the user will need to confirm a set of meta-data records associated with the release, such as: 1) a license, 2) the collaborator list, 3) a banner image, and tags associated with the release. Where possible, Pennsieve automatically retrieves this directly from the GitHub repository.

The diagram below provides a simplified overview of the user-workflow to publish code on Pennsieve.