github - GitHub storage

The github storage uses GitHub’s API to store your metadata as a Git repository on GitHub. It uses Git revisions and tags to keep track of changes, and will even automatically create Git LFS pointers and configuration if applicable.

GitHub Credentials

Currently, metastore-lib’s GitHub backend supports authentication using a GitHub username and password (not recommended), or a Personal Access Token.

For more information on Personal Access Tokens and how to obtain them, see the relevant section in the GitHub Documentation

The following example demonstrates instantiating a GitHub storage backend with username / password authentication:

import metastore

# Using your user name and password to authenticate with GitHub 
config = {"github_options": {"login_or_token": "mr_username",
                             "password": "s0mena5tys3c4et!!1one"}}
backend = metastore.create_metastore('github', config) 

The following example demonstrates doing the same but using a personal access token instead:

import metastore

# Using a generated Personal Access Token to authenticate with GitHub 
config = {"github_options": {"login_or_token": "averylongtokenthatwasgeneratedespeciallyforthis"}}
backend = metastore.create_metastore('github', config) 

In the future, we plan to add support for GitHub App based authentication. See this issue for discussion and progress details.

Other Configuration Options

TBD

Git LFS Support

TBD