pyscaffold.contrib.setuptools_scm package

Submodules

pyscaffold.contrib.setuptools_scm.config module

configuration

class pyscaffold.contrib.setuptools_scm.config.Configuration(relative_to=None, root='.', version_scheme='guess-next-dev', local_scheme='node-and-date', write_to=None, write_to_template=None, tag_regex='^(?:[\w-]+-)?(?P<version>[vV]?\d+(?:\.\d+){0, 2}[^\+]*)(?:\+.*)?$', parentdir_prefix_version=None, fallback_version=None, fallback_root='.', parse=None, git_describe_command=None)[source]

Bases: object

Global configuration model

absolute_root
fallback_root
classmethod from_file(name='pyproject.toml')[source]

Read Configuration from pyproject.toml (or similar). Raises exceptions when file is not found or toml is not installed or the file has invalid format or does not contain the [tool.setuptools_scm] section.

relative_to
root
tag_regex

pyscaffold.contrib.setuptools_scm.discover module

pyscaffold.contrib.setuptools_scm.discover.iter_matching_entrypoints(path, entrypoint)[source]

pyscaffold.contrib.setuptools_scm.file_finder module

pyscaffold.contrib.setuptools_scm.file_finder.scm_find_files(path, scm_files, scm_dirs)[source]

setuptools compatible file finder that follows symlinks

  • path: the root directory from which to search
  • scm_files: set of scm controlled files and symlinks (including symlinks to directories)
  • scm_dirs: set of scm controlled directories (including directories containing no scm controlled files)

scm_files and scm_dirs must be absolute with symlinks resolved (realpath), with normalized case (normcase)

Spec here: http://setuptools.readthedocs.io/en/latest/setuptools.html# adding-support-for-revision-control-systems

pyscaffold.contrib.setuptools_scm.file_finder_git module

pyscaffold.contrib.setuptools_scm.file_finder_git.git_find_files(path='')[source]

pyscaffold.contrib.setuptools_scm.file_finder_hg module

pyscaffold.contrib.setuptools_scm.file_finder_hg.hg_find_files(path='')[source]

pyscaffold.contrib.setuptools_scm.git module

class pyscaffold.contrib.setuptools_scm.git.GitWorkdir(path)[source]

Bases: object

experimental, may change at any time

count_all_nodes()[source]
do_ex(cmd)[source]
fetch_shallow()[source]
classmethod from_potential_worktree(wd)[source]
get_branch()[source]
is_dirty()[source]
is_shallow()[source]
node()[source]
pyscaffold.contrib.setuptools_scm.git.fail_on_shallow(wd)[source]

experimental, may change at any time

pyscaffold.contrib.setuptools_scm.git.fetch_on_shallow(wd)[source]

experimental, may change at any time

pyscaffold.contrib.setuptools_scm.git.parse(root, describe_command='git describe --dirty --tags --long --match *.*', pre_parse=<function warn_on_shallow>, config=None)[source]
Parameters:pre_parse – experimental pre_parse action, may change at any time
pyscaffold.contrib.setuptools_scm.git.warn_on_shallow(wd)[source]

experimental, may change at any time

pyscaffold.contrib.setuptools_scm.hacks module

pyscaffold.contrib.setuptools_scm.hacks.fallback_version(root, config=None)[source]
pyscaffold.contrib.setuptools_scm.hacks.parse_pip_egg_info(root, config=None)[source]
pyscaffold.contrib.setuptools_scm.hacks.parse_pkginfo(root, config=None)[source]

pyscaffold.contrib.setuptools_scm.hg module

pyscaffold.contrib.setuptools_scm.hg.archival_to_version(data, config=None)[source]
pyscaffold.contrib.setuptools_scm.hg.get_graph_distance(root, rev1, rev2='.')[source]
pyscaffold.contrib.setuptools_scm.hg.get_latest_normalizable_tag(root)[source]
pyscaffold.contrib.setuptools_scm.hg.parse(root, config=None)[source]
pyscaffold.contrib.setuptools_scm.hg.parse_archival(root, config=None)[source]

pyscaffold.contrib.setuptools_scm.integration module

pyscaffold.contrib.setuptools_scm.integration.find_files(path='')[source]
pyscaffold.contrib.setuptools_scm.integration.infer_version(dist)[source]
pyscaffold.contrib.setuptools_scm.integration.version_keyword(dist, keyword, value)[source]

pyscaffold.contrib.setuptools_scm.utils module

utils

class pyscaffold.contrib.setuptools_scm.utils.UTC[source]

Bases: datetime.tzinfo

dst(dt)[source]

datetime -> DST offset as timedelta positive east of UTC.

tzname(dt)[source]

datetime -> string name of time zone.

utcoffset(dt)[source]

datetime -> timedelta showing offset from UTC, negative values indicating West of UTC

pyscaffold.contrib.setuptools_scm.utils.data_from_mime(path)[source]
pyscaffold.contrib.setuptools_scm.utils.do(cmd, cwd='.')[source]
pyscaffold.contrib.setuptools_scm.utils.do_ex(cmd, cwd='.')[source]
pyscaffold.contrib.setuptools_scm.utils.ensure_stripped_str(str_or_bytes)[source]
pyscaffold.contrib.setuptools_scm.utils.function_has_arg(fn, argname)[source]
pyscaffold.contrib.setuptools_scm.utils.has_command(name)[source]
pyscaffold.contrib.setuptools_scm.utils.no_git_env(env)[source]
pyscaffold.contrib.setuptools_scm.utils.trace(*k)[source]
pyscaffold.contrib.setuptools_scm.utils.trace_exception()[source]

pyscaffold.contrib.setuptools_scm.version module

class pyscaffold.contrib.setuptools_scm.version.ScmVersion(tag_version, distance=None, node=None, dirty=False, preformatted=False, branch=None, config=None, **kw)[source]

Bases: object

exact
extra
format_choice(clean_format, dirty_format, **kw)[source]
format_next_version(guess_next, fmt='{guessed}.dev{distance}', **kw)[source]
format_with(fmt, **kw)[source]
exception pyscaffold.contrib.setuptools_scm.version.SetuptoolsOutdatedWarning[source]

Bases: Warning

pyscaffold.contrib.setuptools_scm.version.callable_or_entrypoint(group, callable_or_name)[source]
pyscaffold.contrib.setuptools_scm.version.format_version(version, **config)[source]
pyscaffold.contrib.setuptools_scm.version.get_local_dirty_tag(version)[source]
pyscaffold.contrib.setuptools_scm.version.get_local_node_and_date(version)[source]
pyscaffold.contrib.setuptools_scm.version.get_local_node_and_timestamp(version, fmt='%Y%m%d%H%M%S')[source]
pyscaffold.contrib.setuptools_scm.version.get_no_local_node(_)[source]
pyscaffold.contrib.setuptools_scm.version.guess_next_dev_version(version)[source]
pyscaffold.contrib.setuptools_scm.version.guess_next_simple_semver(version, retain, increment=True)[source]
pyscaffold.contrib.setuptools_scm.version.guess_next_version(tag_version)[source]
pyscaffold.contrib.setuptools_scm.version.meta(tag, distance=None, dirty=False, node=None, preformatted=False, branch=None, config=None, **kw)[source]
pyscaffold.contrib.setuptools_scm.version.postrelease_version(version)[source]
pyscaffold.contrib.setuptools_scm.version.release_branch_semver(version)[source]
pyscaffold.contrib.setuptools_scm.version.release_branch_semver_version(version)[source]
pyscaffold.contrib.setuptools_scm.version.simplified_semver_version(version)[source]
pyscaffold.contrib.setuptools_scm.version.tag_to_version(tag, config=None)[source]

take a tag that might be prefixed with a keyword and return only the version part :param config: optional configuration object

pyscaffold.contrib.setuptools_scm.version.tags_to_versions(tags, config=None)[source]

take tags that might be prefixed with a keyword and return only the version part :param tags: an iterable of tags :param config: optional configuration object

pyscaffold.contrib.setuptools_scm.win_py31_compat module

Module contents

copyright:2010-2015 by Ronny Pfannschmidt
license:MIT
pyscaffold.contrib.setuptools_scm.dump_version(root, version, write_to, template=None)[source]
pyscaffold.contrib.setuptools_scm.get_version(root='.', version_scheme='guess-next-dev', local_scheme='node-and-date', write_to=None, write_to_template=None, relative_to=None, tag_regex='^(?:[\\w-]+-)?(?P<version>[vV]?\\d+(?:\\.\\d+){0, 2}[^\\+]*)(?:\\+.*)?$', parentdir_prefix_version=None, fallback_version=None, fallback_root='.', parse=None, git_describe_command=None)[source]

If supplied, relative_to should be a file from which root may be resolved. Typically called by a script or module that is not in the root of the repository to direct setuptools_scm to the root of the repository by supplying __file__.

pyscaffold.contrib.setuptools_scm.version_from_scm(root)[source]