setuptools-scm API reference
63 public APIs from setuptools-scm (pypa/setuptools-scm) — 22 classes, 30 functions, 11 methods. Signatures extracted by static analysis of the actual source.
Repository: pypa/setuptools-scm
| Kind | Count |
|---|---|
| Classes | 22 |
| Functions | 30 |
| Methods | 11 |
API list
func
setuptools-scm.check_api.main() -> intRun griffe API check with proper configuration.
class
setuptools-scm.src.setuptools_scm._integration.build_py.build_pyDefault build_py with version file writing.
class
setuptools-scm.src.setuptools_scm._integration.egg_info.ScmEggInfoMixinMixin for the ``egg_info`` command.
func
setuptools-scm.src.setuptools_scm._integration.setup_cfg.read_setup_cfg(input:str | os.PathLike[str]='setup.cfg') -> SetuptoolsBasicDataParse setup.cfg and return unified data.
func
setuptools-scm.src.setuptools_scm._integration.setuptools.get_keyword_overrides(value:bool | dict[str, Any] | Callable[[], dict[str, Any]]) -> dict[str, Any]normalize the version keyword input
class
setuptools-scm.src.setuptools_scm._integration.version_inference.VersionInferenceConfigConfiguration for version inference.
method
setuptools-scm.src.setuptools_scm._integration.version_inference.VersionInferenceConfig.apply(dist:Distribution) -> NoneApply version inference to the distribution.
class
setuptools-scm.src.setuptools_scm._integration.version_inference.VersionInferenceNoOpNo operation result - silent skip.
method
setuptools-scm.src.setuptools_scm._integration.version_inference.VersionInferenceNoOp.apply(dist:Distribution) -> NoneApply no-op to the distribution.
func
src.vcs_versioning_workspace.create_release_proposal.check_existing_pr(repo:Repository, source_branch:str) -> tuple[str, int | None]Check for existing release PR.
func
src.vcs_versioning_workspace.create_release_proposal.find_fragments(project_dir:Path) -> list[Path]Find changelog fragments in a project directory.
func
src.vcs_versioning_workspace.create_release_proposal.run_towncrier(project_dir:Path, version:str, *draft:bool=False) -> boolRun towncrier build for a project.
func
vcs-versioning.src.vcs_versioning._backends._discover_vcs.discover(path:Path, *config:Configuration) -> ScmWorkdir | NoneProbe *path* for jj, git, hg, or hg-git markers.
class
vcs-versioning.src.vcs_versioning._backends._git.GitPreParseAvailable git pre-parse functions
class
vcs-versioning.src.vcs_versioning._backends._git.GitWorkdirexperimental, may change at any time
method
vcs-versioning.src.vcs_versioning._backends._git.GitWorkdir.list_tracked_files(path:Path | str='') -> list[str]List files tracked by git, honoring export-ignore.
func
vcs-versioning.src.vcs_versioning._backends._git.fail_on_shallow(wd:GitWorkdir) -> Noneexperimental, may change at any time
func
vcs-versioning.src.vcs_versioning._backends._git.fetch_on_shallow(wd:GitWorkdir) -> Noneexperimental, may change at any time
func
vcs-versioning.src.vcs_versioning._backends._git.get_working_directory(config:Configuration, root:_t.PathT) -> GitWorkdir | NoneReturn the working directory (``GitWorkdir``).
func
vcs-versioning.src.vcs_versioning._backends._git.warn_on_shallow(wd:GitWorkdir) -> Noneexperimental, may change at any time
class
vcs-versioning.src.vcs_versioning._backends._jj.JjWorkdirWork directory backed by Jujutsu (jj).
func
vcs-versioning.src.vcs_versioning._backends._jj.get_working_directory(config:Configuration, root:_t.PathT) -> JjWorkdir | NoneReturn the working directory (``JjWorkdir``).
func
vcs-versioning.src.vcs_versioning._backends._jj.parse(root:_t.PathT, config:Configuration) -> ScmVersion | NoneParse version from a Jujutsu repository.
class
vcs-versioning.src.vcs_versioning._backends._scm_workdir.ScmWorkdirBase class for VCS work directories.
class
vcs-versioning.src.vcs_versioning._cli._args.CliNamespaceTyped namespace for CLI arguments.
func
vcs-versioning.src.vcs_versioning._compat.entry_points(**params:str) -> list[EntryPoint]Backport of entry_points(group=...) for Python 3.8/3.9.
func
vcs-versioning.src.vcs_versioning._compat.norm_real(path:PathT) -> strNormalize and resolve a path (combining normcase and realpath).
func
vcs-versioning.src.vcs_versioning._compat.normalize_path_for_assertion(path:str) -> strNormalize path separators for cross-platform assertions.
class
vcs-versioning.src.vcs_versioning._config.ConfigurationGlobal configuration model
class
vcs-versioning.src.vcs_versioning._config.GitConfigurationGit-specific configuration options
class
vcs-versioning.src.vcs_versioning._config.ScmConfigurationSCM-specific configuration options
method
vcs-versioning.src.vcs_versioning._config.ScmConfiguration.from_data(data:dict[str, Any] | None) -> ScmConfigurationCreate ScmConfiguration from configuration data
class
vcs-versioning.src.vcs_versioning._config.TagConfigurationTag matching configuration options.
method
vcs-versioning.src.vcs_versioning._config.TagConfiguration.from_data(data:dict[str, Any] | None) -> TagConfigurationCreate TagConfiguration from configuration data.
func
vcs-versioning.src.vcs_versioning._discover.match_entrypoint(root:_t.PathT, name:str) -> boolConsider a ``root`` as entry-point.
func
vcs-versioning.src.vcs_versioning._discover.walk_potential_roots(root:_t.PathT, search_parents:bool=True) -> Iterator[Path]Iterate though a path and each of its parents.
class
vcs-versioning.src.vcs_versioning._dump_version.DummyScmVersionPlaceholder for when no ScmVersion is available.
func
vcs-versioning.src.vcs_versioning._file_finders._git.git_find_files(path:_t.PathT='') -> list[str]Find files tracked in a Git repository
func
vcs-versioning.src.vcs_versioning._file_finders._hg.hg_find_files(path:str='') -> list[str]Find files tracked in a Mercurial repository
func
vcs-versioning.src.vcs_versioning._file_finders._jj.jj_find_files(path:_t.PathT='') -> list[str]Find files tracked in a Jujutsu repository.
func
vcs-versioning.src.vcs_versioning._file_finders.find_files(path:_t.PathT='') -> list[str]Discover files using registered file finder entry points.
func
vcs-versioning.src.vcs_versioning._get_version_impl.parse_version(config:Configuration) -> ScmVersion | NoneBackward-compat shim for setuptools-scm <=10.0.x.
func
vcs-versioning.src.vcs_versioning._log.enable_debug(handler:logging.Handler | None=None) -> Iterator[None]Enable debug logging for all SCM loggers.
class
vcs-versioning.src.vcs_versioning._paths.ResolvedPathsCanonical resolved paths for a Configuration.
func
vcs-versioning.src.vcs_versioning._paths.resolve_paths(*relative_to:_t.PathT | None, *root:_t.PathT='.', *project_path:str | None=None) -> ResolvedPathsCompute canonical paths from config inputs.
class
vcs-versioning.src.vcs_versioning._pyproject_reading.PyProjectDataCore pyproject.toml data structure
func
vcs-versioning.src.vcs_versioning._pyproject_reading.has_build_package(requires:Sequence[str], canonical_build_package_name:str) -> boolCheck if a package is in build requirements.
class
vcs-versioning.src.vcs_versioning._scm_metadata.ScmVersionDataSerializable SCM version metadata.
func
vcs-versioning.src.vcs_versioning._scm_metadata.write_scm_file_list(target_dir:Path, files:list[str]) -> PathWrite ``scm_file_list.json`` into *target_dir*.
func
vcs-versioning.src.vcs_versioning._scm_metadata.write_scm_version_data(target_dir:Path, data:ScmVersionData) -> PathWrite ``scm_version.json`` into *target_dir*.
class
vcs-versioning.src.vcs_versioning._scm_version.ScmVersionrepresents a parsed version from scm
method
vcs-versioning.src.vcs_versioning._scm_version.ScmVersion.short_node() -> str | NoneReturn the node formatted for output.
class
vcs-versioning.src.vcs_versioning._scm_version.VersionExpectationsExpected properties for ScmVersion matching.
class
vcs-versioning.src.vcs_versioning._test_utils.WorkDira simple model for a
method
vcs-versioning.src.vcs_versioning._test_utils.WorkDir.create_basic_setup_cfg(name:str='test-package') -> NoneCreate a basic setup.cfg file with metadata.
method
vcs-versioning.src.vcs_versioning._test_utils.WorkDir.create_tag(tag:str='1.0.0') -> NoneCreate a tag using the configured tag_command.
method
vcs-versioning.src.vcs_versioning._test_utils.WorkDir.setup_git(monkeypatch:pytest.MonkeyPatch | None=None, *init:bool=True) -> WorkDirSet up git SCM for this WorkDir.
method
vcs-versioning.src.vcs_versioning._test_utils.WorkDir.setup_hg(*init:bool=True) -> WorkDirSet up mercurial SCM for this WorkDir.
method
vcs-versioning.src.vcs_versioning._test_utils.WorkDir.setup_jj(*init:bool=True) -> WorkDirSet up Jujutsu (jj) SCM for this WorkDir.
class
vcs-versioning.src.vcs_versioning._toml.InvalidTomlErrorRaised when TOML data cannot be parsed.
class
vcs-versioning.src.vcs_versioning._version_cls.NonNormalizedVersionA non-normalizing version handler.
func
vcs-versioning.src.vcs_versioning._version_schemes.format_version(version:ScmVersion) -> strFormat a ScmVersion into a final version string.
func
vcs-versioning.src.vcs_versioning._worktree_discovery.discover_workdir(config:Configuration) -> AnyWorkdir | NoneDiscover the workdir for the given configuration.
About this data
These signatures were extracted from the public source of pypa/setuptools-scm
using Python's ast module. Argument names, default values,
type annotations and return types are taken verbatim from the code.
Implementation bodies are never stored. See
how it works for details.