##// END OF EJS Templates
branchcache: add a "pure topological head" fast path...
branchcache: add a "pure topological head" fast path In a narrow but actually quick common case, all topological heads are all on the same branch and all open. In this case, computing the branch map is very simple. We can quickly detect situation where this situation will not change. So we update the V3 format to be able to express this situation and upgrade the update code to detect we remains in that mode. The branch cache is populated with the actual value when the branch map is accessed, but the update_disk method can do the update without needing to populate it.

File last commit:

r50538:e1c586b9 default
r52429:718f28ea default
Show More
__init__.py
79 lines | 1.6 KiB | text/x-python | PythonLexer
Matt Harbison
attr: vendor 22.1.0...
r50538 # SPDX-License-Identifier: MIT
import sys
from functools import partial
Siddharth Agarwal
thirdparty: vendor attrs...
r34398
Matt Harbison
attr: vendor 22.1.0...
r50538 from . import converters, exceptions, filters, setters, validators
from ._cmp import cmp_using
from ._config import get_run_validators, set_run_validators
from ._funcs import asdict, assoc, astuple, evolve, has, resolve_types
Siddharth Agarwal
thirdparty: vendor attrs...
r34398 from ._make import (
Matt Harbison
attr: vendor 22.1.0...
r50538 NOTHING,
Siddharth Agarwal
thirdparty: vendor attrs...
r34398 Attribute,
Factory,
Matt Harbison
attr: vendor 22.1.0...
r50538 attrib,
attrs,
Siddharth Agarwal
thirdparty: vendor attrs...
r34398 fields,
Matt Harbison
attr: vendor 22.1.0...
r50538 fields_dict,
Siddharth Agarwal
thirdparty: vendor attrs...
r34398 make_class,
validate,
)
Matt Harbison
attr: vendor 22.1.0...
r50538 from ._version_info import VersionInfo
Siddharth Agarwal
thirdparty: vendor attrs...
r34398
Matt Harbison
attr: vendor 22.1.0...
r50538 __version__ = "22.1.0"
__version_info__ = VersionInfo._from_version_string(__version__)
Siddharth Agarwal
thirdparty: vendor attrs...
r34398
__title__ = "attrs"
__description__ = "Classes Without Boilerplate"
Matt Harbison
attr: vendor 22.1.0...
r50538 __url__ = "https://www.attrs.org/"
__uri__ = __url__
Siddharth Agarwal
thirdparty: vendor attrs...
r34398 __doc__ = __description__ + " <" + __uri__ + ">"
__author__ = "Hynek Schlawack"
__email__ = "hs@ox.cx"
__license__ = "MIT"
__copyright__ = "Copyright (c) 2015 Hynek Schlawack"
Matt Harbison
attr: vendor 22.1.0...
r50538 s = attributes = attrs
ib = attr = attrib
dataclass = partial(attrs, auto_attribs=True) # happy Easter ;)
Siddharth Agarwal
thirdparty: vendor attrs...
r34398
__all__ = [
"Attribute",
"Factory",
"NOTHING",
"asdict",
"assoc",
"astuple",
"attr",
"attrib",
"attributes",
"attrs",
Matt Harbison
attr: vendor 22.1.0...
r50538 "cmp_using",
Siddharth Agarwal
thirdparty: vendor attrs...
r34398 "converters",
"evolve",
"exceptions",
"fields",
Matt Harbison
attr: vendor 22.1.0...
r50538 "fields_dict",
Siddharth Agarwal
thirdparty: vendor attrs...
r34398 "filters",
"get_run_validators",
"has",
"ib",
"make_class",
Matt Harbison
attr: vendor 22.1.0...
r50538 "resolve_types",
Siddharth Agarwal
thirdparty: vendor attrs...
r34398 "s",
"set_run_validators",
Matt Harbison
attr: vendor 22.1.0...
r50538 "setters",
Siddharth Agarwal
thirdparty: vendor attrs...
r34398 "validate",
"validators",
]
Matt Harbison
attr: vendor 22.1.0...
r50538
if sys.version_info[:2] >= (3, 6):
from ._next_gen import define, field, frozen, mutable # noqa: F401
__all__.extend(("define", "field", "frozen", "mutable"))