Hide navigation sidebar
Hide table of contents sidebar
Skip to content
Back to top
View this page
Toggle table of contents sidebar

# semantic_release.hvcs.remote_hvcs_base module

Common functionality and interface for interacting with Git remote VCS

class semantic_release.hvcs.remote_hvcs_base.RemoteHvcsBase(remote_url: str, *_args: Any, **_kwargs: Any)

  Bases: `HvcsBase`

  Interface for subclasses interacting with a remote VCS

  This abstract class is defined to provide common helper functions and a set of basic methods that all remote VCS environments usually support.

  If the remote vcs implementation (via subclass) does not support a functionality then it can just call super()’s method which defaults as a non-supported log message and empty results. This is more straightforward than checking for NotImplemented around every function call in the core library code.

  DEFAULT_ENV_TOKEN_NAME = 'HVCS_TOKEN'
  property api_url: Url
  create_api_url(endpoint: str, auth: str | None = None, query: str | None = None, fragment: str | None = None) → str
  abstract create_or_update_release(tag: str, release_notes: str, prerelease: bool = False) → int | str

    Create or update a release for the given tag in a remote VCS, attaching the given changelog, if supported

  abstract create_release(tag: str, release_notes: str, prerelease: bool = False, assets: list[str] | None = None, noop: bool = False) → int | str

    Create a release in a remote VCS, if supported

    Which includes uploading any assets as part of the release

  create_repo_url(repo_path: str, query: str | None = None, fragment: str | None = None) → str
  create_server_url(path: str, auth: str | None = None, query: str | None = None, fragment: str | None = None) → str
  property hvcs_domain: Url
  abstract upload_dists(tag: str, dist_glob: str) → int

    Upload built distributions to a release on a remote VCS that supports such uploads