Version scheme plugins¶
Built-in¶
Standard¶
See the documentation for versioning.
Configuration¶
The version scheme plugin name is standard.
[tool.hatch.version]
scheme = "standard"
[version]
scheme = "standard"
  VersionSchemeInterface (ABC)  ¶
 Example usage:
from hatchling.version.scheme.plugin.interface import VersionSchemeInterface
class SpecialVersionScheme(VersionSchemeInterface):
    PLUGIN_NAME = 'special'
    ...
from hatchling.plugin import hookimpl
from .plugin import SpecialVersionScheme
@hookimpl
def hatch_register_version_scheme():
    return SpecialVersionScheme
Source code in hatchling/version/scheme/plugin/interface.py
 class VersionSchemeInterface(ABC):  # no cov
    """
    Example usage:
    === ":octicons-file-code-16: plugin.py"
        ```python
        from hatchling.version.scheme.plugin.interface import VersionSchemeInterface
        class SpecialVersionScheme(VersionSchemeInterface):
            PLUGIN_NAME = 'special'
            ...
        ```
    === ":octicons-file-code-16: hooks.py"
        ```python
        from hatchling.plugin import hookimpl
        from .plugin import SpecialVersionScheme
        @hookimpl
        def hatch_register_version_scheme():
            return SpecialVersionScheme
        ```
    """
    PLUGIN_NAME = ''
    """The name used for selection."""
    def __init__(self, root, config):
        self.__root = root
        self.__config = config
    @property
    def root(self):
        """
        The root of the project tree as a string.
        """
        return self.__root
    @property
    def config(self):
        """
        === ":octicons-file-code-16: pyproject.toml"
            ```toml
            [tool.hatch.version]
            ```
        === ":octicons-file-code-16: hatch.toml"
            ```toml
            [version]
            ```
        """
        return self.__config
    @abstractmethod
    def update(self, desired_version: str, original_version: str, version_data: dict):
        """
        This should return a normalized form of the desired version and verify that it
        is higher than the original version.
        """
 PLUGIN_NAME ¶
 The name used for selection.
 config  property readonly  ¶
 [tool.hatch.version]
[version]
 root  property readonly  ¶
 The root of the project tree as a string.
 update(self, desired_version: str, original_version: str, version_data: dict) ¶
 This should return a normalized form of the desired version and verify that it is higher than the original version.
Source code in hatchling/version/scheme/plugin/interface.py
 @abstractmethod
def update(self, desired_version: str, original_version: str, version_data: dict):
    """
    This should return a normalized form of the desired version and verify that it
    is higher than the original version.
    """
  Last update: April 28, 2022