repoproviders#
Module: binderhub.repoproviders
#
Classes for Repo providers.
Subclass the base class, RepoProvider
, to support different version
control services and providers.
Note
When adding a new repo provider, add it to the allowed values for repo providers in event-schemas/launch.json.
RepoProvider
#
- class binderhub.repoproviders.RepoProvider(**kwargs: Any)#
Base class for a repo provider
- banned_specs c.RepoProvider.banned_specs = List()#
No help string is provided.
- get_build_slug()#
Return a unique build slug
- get_repo_url()#
Return the git clone-able repo URL
- async get_resolved_ref_url()#
Return the URL of repository at this commit in history
- async get_resolved_spec()#
Return the spec with resolved ref.
- git_credentials c.RepoProvider.git_credentials = Unicode('')#
Credentials (if any) to pass to git when cloning.
- has_higher_quota()#
Return true if the given spec has a higher quota
- high_quota_specs c.RepoProvider.high_quota_specs = List()#
No help string is provided.
- is_banned()#
Return true if the given spec has been banned
- name Unicode('')#
Descriptive human readable name of this repo provider.
- repo_config(settings)#
Return configuration for this repository.
- spec Unicode('')#
The spec for this builder to parse
- spec_config c.RepoProvider.spec_config = List()#
No help string is provided.
GitHubRepoProvider
#
- class binderhub.repoproviders.GitHubRepoProvider(**kwargs: Any)#
Repo provider for the GitHub service
- access_token c.GitHubRepoProvider.access_token = Unicode('')#
GitHub access token for authentication with the GitHub API
Loaded from GITHUB_ACCESS_TOKEN env by default.
- api_base_path c.GitHubRepoProvider.api_base_path = Unicode('https://api.{hostname}')#
The base path of the GitHub API
Only necessary if not github.com, e.g. GitHub Enterprise.
Can use {hostname} for substitution, e.g. ‘https://{hostname}/api/v3’
- banned_specs c.GitHubRepoProvider.banned_specs = List()#
No help string is provided.
- client_id c.GitHubRepoProvider.client_id = Unicode('')#
GitHub client id for authentication with the GitHub API
For use with client_secret. Loaded from GITHUB_CLIENT_ID env by default.
- client_secret c.GitHubRepoProvider.client_secret = Unicode('')#
GitHub client secret for authentication with the GitHub API
For use with client_id. Loaded from GITHUB_CLIENT_SECRET env by default.
- get_build_slug()#
Return a unique build slug
- get_repo_url()#
Return the git clone-able repo URL
- async get_resolved_ref_url()#
Return the URL of repository at this commit in history
- async get_resolved_spec()#
Return the spec with resolved ref.
- git_credentials c.GitHubRepoProvider.git_credentials = Unicode('')#
Credentials (if any) to pass to git when cloning.
- high_quota_specs c.GitHubRepoProvider.high_quota_specs = List()#
No help string is provided.
- hostname c.GitHubRepoProvider.hostname = Unicode('github.com')#
The GitHub hostname to use
Only necessary if not github.com, e.g. GitHub Enterprise.
- spec_config c.GitHubRepoProvider.spec_config = List()#
No help string is provided.
GitLabRepoProvider
#
- class binderhub.repoproviders.GitLabRepoProvider(**kwargs: Any)#
GitLab provider.
GitLab allows nested namespaces (eg. root/project/component/repo) thus we need to urlescape the namespace of this repo. Users must provide a spec that matches the following form.
<url-escaped-namespace>/<unresolved_ref>
eg: group%2Fproject%2Frepo/main
- access_token c.GitLabRepoProvider.access_token = Unicode('')#
GitLab OAuth2 access token for authentication with the GitLab API
For use with client_secret. Loaded from GITLAB_ACCESS_TOKEN env by default.
- banned_specs c.GitLabRepoProvider.banned_specs = List()#
No help string is provided.
- get_build_slug()#
Return a unique build slug
- get_repo_url()#
Return the git clone-able repo URL
- async get_resolved_ref_url()#
Return the URL of repository at this commit in history
- async get_resolved_spec()#
Return the spec with resolved ref.
- git_credentials c.GitLabRepoProvider.git_credentials = Unicode('')#
Credentials (if any) to pass to git when cloning.
- high_quota_specs c.GitLabRepoProvider.high_quota_specs = List()#
No help string is provided.
- hostname c.GitLabRepoProvider.hostname = Unicode('gitlab.com')#
The host of the GitLab instance
For personal GitLab servers.
- private_token c.GitLabRepoProvider.private_token = Unicode('')#
GitLab private token for authentication with the GitLab API
Loaded from GITLAB_PRIVATE_TOKEN env by default.
- spec_config c.GitLabRepoProvider.spec_config = List()#
No help string is provided.
GistRepoProvider
#
- class binderhub.repoproviders.GistRepoProvider(**kwargs: Any)#
GitHub gist provider.
Users must provide a spec that matches the following form (similar to github)
[https://gist.github.com/]<username>/<gist-id>[/<ref>]
- The ref is optional, valid values are
a full sha1 of a ref in the history
HEAD for the latest ref (also allow ‘master’, ‘main’ as aliases for HEAD)
If HEAD or no ref is specified the latest revision will be used.
- access_token c.GistRepoProvider.access_token = Unicode('')#
GitHub access token for authentication with the GitHub API
Loaded from GITHUB_ACCESS_TOKEN env by default.
- allow_secret_gist c.GistRepoProvider.allow_secret_gist = Bool(False)#
Flag for allowing usages of secret Gists. The default behavior is to disallow secret gists.
- api_base_path c.GistRepoProvider.api_base_path = Unicode('https://api.{hostname}')#
The base path of the GitHub API
Only necessary if not github.com, e.g. GitHub Enterprise.
Can use {hostname} for substitution, e.g. ‘https://{hostname}/api/v3’
- banned_specs c.GistRepoProvider.banned_specs = List()#
No help string is provided.
- client_id c.GistRepoProvider.client_id = Unicode('')#
GitHub client id for authentication with the GitHub API
For use with client_secret. Loaded from GITHUB_CLIENT_ID env by default.
- client_secret c.GistRepoProvider.client_secret = Unicode('')#
GitHub client secret for authentication with the GitHub API
For use with client_id. Loaded from GITHUB_CLIENT_SECRET env by default.
- get_build_slug()#
Return a unique build slug
- get_repo_url()#
Return the git clone-able repo URL
- async get_resolved_ref_url()#
Return the URL of repository at this commit in history
- async get_resolved_spec()#
Return the spec with resolved ref.
- git_credentials c.GistRepoProvider.git_credentials = Unicode('')#
Credentials (if any) to pass to git when cloning.
- high_quota_specs c.GistRepoProvider.high_quota_specs = List()#
No help string is provided.
- spec_config c.GistRepoProvider.spec_config = List()#
No help string is provided.
ZenodoProvider
#
- class binderhub.repoproviders.ZenodoProvider(**kwargs: Any)#
Provide contents of a Zenodo record
Users must provide a spec consisting of the Zenodo DOI.
- banned_specs c.ZenodoProvider.banned_specs = List()#
No help string is provided.
- get_build_slug()#
Return a unique build slug
- get_repo_url()#
Return the git clone-able repo URL
- async get_resolved_ref_url()#
Return the URL of repository at this commit in history
- async get_resolved_spec()#
Return the spec with resolved ref.
- git_credentials c.ZenodoProvider.git_credentials = Unicode('')#
Credentials (if any) to pass to git when cloning.
- high_quota_specs c.ZenodoProvider.high_quota_specs = List()#
No help string is provided.
- spec_config c.ZenodoProvider.spec_config = List()#
No help string is provided.
DataverseProvider
#
- class binderhub.repoproviders.DataverseProvider(**kwargs: Any)#
- banned_specs c.DataverseProvider.banned_specs = List()#
No help string is provided.
- get_build_slug()#
Return a unique build slug
- get_repo_url()#
Return the git clone-able repo URL
- async get_resolved_ref_url()#
Return the URL of repository at this commit in history
- async get_resolved_spec()#
Return the spec with resolved ref.
- git_credentials c.DataverseProvider.git_credentials = Unicode('')#
Credentials (if any) to pass to git when cloning.
- high_quota_specs c.DataverseProvider.high_quota_specs = List()#
No help string is provided.
- spec_config c.DataverseProvider.spec_config = List()#
No help string is provided.
GitRepoProvider
#
- class binderhub.repoproviders.GitRepoProvider(**kwargs: Any)#
Bare bones git repo provider.
Users must provide a spec of the following form.
<url-escaped-namespace>/<unresolved_ref> <url-escaped-namespace>/<resolved_ref>
eg: https%3A%2F%2Fgithub.com%2Fbinder-examples%2Fconda/main https%3A%2F%2Fgithub.com%2Fbinder-examples%2Fconda/034931911e853252322f2309f1246a4f1076fd7d
This provider is typically used if you are deploying binderhub yourself and you require access to repositories that are not in one of the supported providers.
- allowed_protocols c.GitRepoProvider.allowed_protocols = Set()#
No help string is provided.
- banned_specs c.GitRepoProvider.banned_specs = List()#
No help string is provided.
- get_build_slug()#
Return a unique build slug
- get_repo_url()#
Return the git clone-able repo URL
- async get_resolved_ref_url()#
Return the URL of repository at this commit in history
- async get_resolved_spec()#
Return the spec with resolved ref.
- git_credentials c.GitRepoProvider.git_credentials = Unicode('')#
Credentials (if any) to pass to git when cloning.
- high_quota_specs c.GitRepoProvider.high_quota_specs = List()#
No help string is provided.
- spec_config c.GitRepoProvider.spec_config = List()#
No help string is provided.