diff --git a/mecha/api.py b/mecha/api.py index ab8f4fb..d782e85 100644 --- a/mecha/api.py +++ b/mecha/api.py @@ -257,9 +257,12 @@ def prepare_token_stream( multiline: Optional[bool] = None, ) -> Iterator[TokenStream]: """Prepare the token stream for parsing.""" - with stream.reset(*stream.data), stream.provide( - spec=self.spec, - multiline=self.spec.multiline if multiline is None else multiline, + with ( + stream.reset(*stream.data), + stream.provide( + spec=self.spec, + multiline=self.spec.multiline if multiline is None else multiline, + ), ): with stream.reset_syntax(comment=r"#.*$", literal=AstLiteral.regex.pattern): with stream.indent(skip=["comment"]), stream.ignore("indent", "dedent"): @@ -276,8 +279,7 @@ def parse( multiline: Optional[bool] = None, provide: Optional[JsonDict] = None, preprocessor: Optional[Preprocessor] = None, - ) -> AstRoot: - ... + ) -> AstRoot: ... @overload def parse( @@ -290,8 +292,7 @@ def parse( multiline: Optional[bool] = None, provide: Optional[JsonDict] = None, preprocessor: Optional[Preprocessor] = None, - ) -> AstNodeType: - ... + ) -> AstNodeType: ... @overload def parse( @@ -304,8 +305,7 @@ def parse( multiline: Optional[bool] = None, provide: Optional[JsonDict] = None, preprocessor: Optional[Preprocessor] = None, - ) -> Any: - ... + ) -> Any: ... def parse( self, @@ -393,8 +393,7 @@ def compile( readonly: Optional[bool] = None, initial_step: int = 0, report: Optional[DiagnosticCollection] = None, - ) -> PackType: - ... + ) -> PackType: ... @overload def compile( @@ -407,8 +406,7 @@ def compile( readonly: Optional[bool] = None, initial_step: int = 0, report: Optional[DiagnosticCollection] = None, - ) -> None: - ... + ) -> None: ... @overload def compile( @@ -423,8 +421,7 @@ def compile( readonly: Optional[bool] = None, initial_step: int = 0, report: Optional[DiagnosticCollection] = None, - ) -> TextFileType: - ... + ) -> TextFileType: ... @overload def compile( @@ -439,8 +436,7 @@ def compile( readonly: Optional[bool] = None, initial_step: int = 0, report: Optional[DiagnosticCollection] = None, - ) -> Function: - ... + ) -> Function: ... def compile( self, @@ -616,15 +612,19 @@ def log_reported_diagnostics(self): def format_perf(self) -> List[List[str]]: """Format perf report.""" step_headers = [ - "Lint" - if step is self.lint - else "Transform" - if step is self.transform - else "Optimize" - if step is self.optimize - else "Check" - if step is self.check - else repr(step) + ( + "Lint" + if step is self.lint + else ( + "Transform" + if step is self.transform + else ( + "Optimize" + if step is self.optimize + else "Check" if step is self.check else repr(step) + ) + ) + ) for step in self.steps ] diff --git a/mecha/ast.py b/mecha/ast.py index cbc3e9c..a321d50 100644 --- a/mecha/ast.py +++ b/mecha/ast.py @@ -183,14 +183,16 @@ def dump( + ( "\n" + ("\n".join((f"{prefix} {type(child)}" if shallow else child.dump(prefix + " ", shallow, exclude)) for child in attribute) if attribute else prefix + " ") # type: ignore if isinstance(attribute := getattr(self, f.name), AbstractChildren) - else "\n" - + ( - f"{prefix} {type(attribute)}" - if shallow - else attribute.dump(prefix + " ", shallow, exclude) + else ( + "\n" + + ( + f"{prefix} {type(attribute)}" + if shallow + else attribute.dump(prefix + " ", shallow, exclude) + ) + if isinstance(attribute, AbstractNode) + else f" {attribute!r}" ) - if isinstance(attribute, AbstractNode) - else f" {attribute!r}" ) for f in fields(self) if not exclude or f.name not in exclude @@ -700,23 +702,19 @@ def evaluate(self) -> Any: @overload @classmethod - def from_value(cls, value: Union[bool, int, float, str]) -> "AstNbtValue": - ... + def from_value(cls, value: Union[bool, int, float, str]) -> "AstNbtValue": ... @overload @classmethod - def from_value(cls, value: Mapping[Any, Any]) -> "AstNbtCompound": - ... + def from_value(cls, value: Mapping[Any, Any]) -> "AstNbtCompound": ... @overload @classmethod - def from_value(cls, value: Sequence[Any]) -> "AstNbtList": - ... + def from_value(cls, value: Sequence[Any]) -> "AstNbtList": ... @overload @classmethod - def from_value(cls, value: Any) -> "AstNbt": - ... + def from_value(cls, value: Any) -> "AstNbt": ... @classmethod def from_value(cls, value: Any) -> "AstNbt": @@ -1039,9 +1037,9 @@ class AstSelectorAdvancementMatch(AstNode): """Ast selector advancement match node.""" key: AstResourceLocation = required_field() - value: Union[ - AstBool, AstChildren[AstSelectorAdvancementPredicateMatch] - ] = required_field() + value: Union[AstBool, AstChildren[AstSelectorAdvancementPredicateMatch]] = ( + required_field() + ) @dataclass(frozen=True, slots=True) diff --git a/mecha/contrib/annotate_diagnostics.py b/mecha/contrib/annotate_diagnostics.py index f91ad75..51e901d 100644 --- a/mecha/contrib/annotate_diagnostics.py +++ b/mecha/contrib/annotate_diagnostics.py @@ -1,6 +1,5 @@ """Plugin that inserts comments containing mecha diagnostics.""" - __all__ = [ "annotate_diagnostics", ] diff --git a/mecha/contrib/bake_macros.py b/mecha/contrib/bake_macros.py index ea8881d..3d21a79 100644 --- a/mecha/contrib/bake_macros.py +++ b/mecha/contrib/bake_macros.py @@ -1,6 +1,5 @@ """Plugin for baking static macro invocations.""" - __all__ = [ "bake_macros", "BakeMacrosOptions", @@ -85,8 +84,7 @@ def __call__( source: TextFileBase[Any], *, preprocessor: Preprocessor, - ) -> AstRoot: - ... + ) -> AstRoot: ... @dataclass diff --git a/mecha/contrib/clear_diagnostics.py b/mecha/contrib/clear_diagnostics.py index aa3df2d..8f0ecd9 100644 --- a/mecha/contrib/clear_diagnostics.py +++ b/mecha/contrib/clear_diagnostics.py @@ -1,6 +1,5 @@ """Plugin that clears diagnostics.""" - from beet import Context from mecha import Mecha diff --git a/mecha/contrib/debug_ast.py b/mecha/contrib/debug_ast.py index 31c040e..e2bbb0d 100644 --- a/mecha/contrib/debug_ast.py +++ b/mecha/contrib/debug_ast.py @@ -1,6 +1,5 @@ """Plugin for emitting ast.""" - __all__ = [ "DebugAstOptions", "DebugAstEmitter", diff --git a/mecha/contrib/embed.py b/mecha/contrib/embed.py index e6f1c02..4327103 100644 --- a/mecha/contrib/embed.py +++ b/mecha/contrib/embed.py @@ -1,6 +1,5 @@ """Plugin for parsing and resolving embeds in json and nbt strings.""" - __all__ = [ "AstJsonValueEmbed", "AstNbtValueEmbed", @@ -64,15 +63,13 @@ def __call__( *, using: str, preprocessor: Preprocessor, - ) -> AstNode: - ... + ) -> AstNode: ... class EmbedSerializeCallback(Protocol): """Callback required for serializing embed.""" - def __call__(self, node: AstNode) -> str: - ... + def __call__(self, node: AstNode) -> str: ... class EmbedHandler: diff --git a/mecha/contrib/implicit_execute.py b/mecha/contrib/implicit_execute.py index 3d7dfcc..ef60f0e 100644 --- a/mecha/contrib/implicit_execute.py +++ b/mecha/contrib/implicit_execute.py @@ -1,6 +1,5 @@ """Plugin that handles implicit execute commands.""" - __all__ = [ "ImplicitExecuteParser", ] diff --git a/mecha/contrib/inline_function_tag.py b/mecha/contrib/inline_function_tag.py index 44cc795..8211909 100644 --- a/mecha/contrib/inline_function_tag.py +++ b/mecha/contrib/inline_function_tag.py @@ -1,6 +1,5 @@ """Plugin for declaring function tags inline.""" - __all__ = [ "InlineFunctionTagHandler", ] diff --git a/mecha/contrib/json_files.py b/mecha/contrib/json_files.py index 9cefa61..9dba264 100644 --- a/mecha/contrib/json_files.py +++ b/mecha/contrib/json_files.py @@ -1,6 +1,5 @@ """Plugin for compiling json files with mecha.""" - __all__ = [ "JsonFileCompilation", "AstJsonRoot", diff --git a/mecha/contrib/messages.py b/mecha/contrib/messages.py index fefba2e..ed33574 100644 --- a/mecha/contrib/messages.py +++ b/mecha/contrib/messages.py @@ -1,6 +1,5 @@ """Plugin for handling message references in commands.""" - __all__ = [ "AstMessageReference", "AstMessageReferencePath", diff --git a/mecha/contrib/nested_location.py b/mecha/contrib/nested_location.py index b2f6ac1..cbe55b6 100644 --- a/mecha/contrib/nested_location.py +++ b/mecha/contrib/nested_location.py @@ -1,6 +1,5 @@ """Plugin for handling lexically nested resource locations.""" - __all__ = [ "AstNestedLocation", "UnresolvedNestedLocation", diff --git a/mecha/contrib/nested_resources.py b/mecha/contrib/nested_resources.py index 55f0d00..5ae7bcf 100644 --- a/mecha/contrib/nested_resources.py +++ b/mecha/contrib/nested_resources.py @@ -1,6 +1,5 @@ """Plugin for handling nested resources.""" - __all__ = [ "NestedResources", "NestedResourcesTransformer", @@ -80,9 +79,11 @@ def __init__( } self.text_resources = { - f"{file_type.snake_name}_file" - if file_type.snake_name in should_disambiguate - else file_type.snake_name: file_type + ( + f"{file_type.snake_name}_file" + if file_type.snake_name in should_disambiguate + else file_type.snake_name + ): file_type for pack in packs for file_type in pack.get_file_types(extend=TextFileBase) } @@ -292,9 +293,11 @@ def nested_resources(self, node: AstRoot): continue file_instance = file_type( - content.evaluate() - if isinstance(content, AstJson) - else content.value, + ( + content.evaluate() + if isinstance(content, AstJson) + else content.value + ), original=self.database.current.original, ) diff --git a/mecha/contrib/nested_yaml.py b/mecha/contrib/nested_yaml.py index 386a6a5..d37b5ea 100644 --- a/mecha/contrib/nested_yaml.py +++ b/mecha/contrib/nested_yaml.py @@ -1,6 +1,5 @@ """Plugin for handling nested yaml.""" - __all__ = [ "BaseYamlObjectCollector", "BaseYamlArrayCollector", @@ -243,16 +242,22 @@ def __call__(self, stream: TokenStream) -> Any: with stream.reset("nested_yaml"): return self.original_parser(stream) - with stream.intercept("newline"), stream.syntax( - colon=r":", - dash=r"\-", - key=r"[a-zA-Z0-9._+-]+", + with ( + stream.intercept("newline"), + stream.syntax( + colon=r":", + dash=r"\-", + key=r"[a-zA-Z0-9._+-]+", + ), ): if consume_line_continuation(stream): return self.parse_yaml(stream) - with stream.ignore("newline"), stream.syntax( - string=r'"(?:\\.|[^\\\n])*?"' "|" r"'(?:\\.|[^\\\n])*?'", + with ( + stream.ignore("newline"), + stream.syntax( + string=r'"(?:\\.|[^\\\n])*?"' "|" r"'(?:\\.|[^\\\n])*?'", + ), ): if token := stream.get("string"): return self.string_collector( diff --git a/mecha/contrib/raw.py b/mecha/contrib/raw.py index c7efcb8..e8a2ba3 100644 --- a/mecha/contrib/raw.py +++ b/mecha/contrib/raw.py @@ -1,6 +1,5 @@ """Plugin for inserting raw commands.""" - __all__ = [ "RawCommandSerializer", ] diff --git a/mecha/contrib/relative_location.py b/mecha/contrib/relative_location.py index 71c8334..4432bf3 100644 --- a/mecha/contrib/relative_location.py +++ b/mecha/contrib/relative_location.py @@ -1,6 +1,5 @@ """Plugin that resolves relative resource locations.""" - __all__ = [ "RelativeResourceLocationParser", "resolve_using_database", diff --git a/mecha/contrib/source_map.py b/mecha/contrib/source_map.py index c6e8834..9b56cf9 100644 --- a/mecha/contrib/source_map.py +++ b/mecha/contrib/source_map.py @@ -1,6 +1,5 @@ """Plugin that emits source mapping information.""" - __all__ = [ "AstSourceMap", "SourceMapOptions", @@ -31,7 +30,9 @@ class SourceMapOptions(BaseModel): - header: str = "# [source_map] {{ compilation_unit.filename or compilation_unit.resource_location }}" + header: str = ( + "# [source_map] {{ compilation_unit.filename or compilation_unit.resource_location }}" + ) class Config: extra = "forbid" diff --git a/mecha/contrib/statistics.py b/mecha/contrib/statistics.py index 1dc2598..7729c6e 100644 --- a/mecha/contrib/statistics.py +++ b/mecha/contrib/statistics.py @@ -1,6 +1,5 @@ """Plugin that gathers statistics.""" - __all__ = [ "Analyzer", "Summary", @@ -51,9 +50,9 @@ class Statistics(BaseModel): lambda: defaultdict(int) ) scoreboard_references: DefaultDict[str, int] = defaultdict(int) - scoreboard_fake_player_references: DefaultDict[ - str, DefaultDict[str, int] - ] = defaultdict(lambda: defaultdict(int)) + scoreboard_fake_player_references: DefaultDict[str, DefaultDict[str, int]] = ( + defaultdict(lambda: defaultdict(int)) + ) scoreboard_objectives: Dict[str, str] = {} @@ -214,15 +213,19 @@ def format_commands(self) -> Dict[Tuple[str, ...], List[Tuple[str, ...]]]: return { ( - f"Total commands ({total_commands_behind_execute} behind execute)" - if total_commands_behind_execute - else "Total commands", + ( + f"Total commands ({total_commands_behind_execute} behind execute)" + if total_commands_behind_execute + else "Total commands" + ), str(total_commands), ): [ ( - f"{label} ({behind_execute} behind execute)" - if behind_execute - else label, + ( + f"{label} ({behind_execute} behind execute)" + if behind_execute + else label + ), str(count), ) for command, stats in sorted( @@ -280,9 +283,11 @@ def format_selectors(self) -> Dict[Tuple[str, ...], List[Tuple[str, ...]]]: def format_scoreboard(self) -> Dict[Tuple[str, ...], List[Tuple[str, ...]]]: objectives = { ( - f"{objective} ({criteria})" - if (criteria := self.stats.scoreboard_objectives.get(objective)) - else objective, + ( + f"{objective} ({criteria})" + if (criteria := self.stats.scoreboard_objectives.get(objective)) + else objective + ), count, ): [ (f"{' ' * len(objective)} {fake_player}", fake_player_count) @@ -328,9 +333,11 @@ def format_row( ) -> str: row = ((not header) * self.indent + row[0],) + row[1:] return " | ".join( - (h.rjust(col) if h.isnumeric() else h.ljust(col)) - if len(h) < col - else h[: col - 3] + "..." + ( + (h.rjust(col) if h.isnumeric() else h.ljust(col)) + if len(h) < col + else h[: col - 3] + "..." + ) for h, col in zip(row, cols) ) diff --git a/mecha/contrib/validation/mcdoc.py b/mecha/contrib/validation/mcdoc.py index 5c17237..551d898 100644 --- a/mecha/contrib/validation/mcdoc.py +++ b/mecha/contrib/validation/mcdoc.py @@ -86,8 +86,12 @@ PATTERN_FLOAT: str = r"[-+]?(?:[0-9]*\.[0-9]+|[0-9]+)(?:[eE][-+]?[0-9]+)?" PATTERN_TYPED_NUMBER: str = rf"{PATTERN_FLOAT}[bBdDfFlLsS]?" PATTERN_RANGE_DELIMITER: str = r" McdocAttributeTree: close_pattern = ( ("brace", ")") if open_tree.match("brace") - else ("bracket", "]") - if open_tree.match("bracket") - else ("curly", "}") + else ("bracket", "]") if open_tree.match("bracket") else ("curly", "}") ) positional_values: List[McdocAttributeValue] = [] diff --git a/mecha/database.py b/mecha/database.py index b2ad695..f713dd3 100644 --- a/mecha/database.py +++ b/mecha/database.py @@ -182,8 +182,7 @@ def __call__( self, pack: Union[ResourcePack, DataPack], match: Optional[List[str]] = None, - ) -> Iterable[Tuple[TextFileBase[Any], CompilationUnit]]: - ... + ) -> Iterable[Tuple[TextFileBase[Any], CompilationUnit]]: ... @dataclass diff --git a/mecha/dispatch.py b/mecha/dispatch.py index ad9d5bd..21b64d4 100644 --- a/mecha/dispatch.py +++ b/mecha/dispatch.py @@ -94,15 +94,13 @@ def bake(self, *args: Any, **kwargs: Any) -> "Rule": @overload -def rule(func: Callable[..., Any]) -> Rule: - ... +def rule(func: Callable[..., Any]) -> Rule: ... @overload def rule( *args: Type[AbstractNode], **kwargs: Any -) -> Callable[[Callable[..., Any]], Rule]: - ... +) -> Callable[[Callable[..., Any]], Rule]: ... def rule(*args: Any, **kwargs: Any) -> Any: @@ -217,9 +215,11 @@ def dispatch( if value := self.rules.get(node_type): for match_fields, callbacks in value.items(): if all( - node == value - if name == "self" - else hasattr(node, name) and getattr(node, name) == value + ( + node == value + if name == "self" + else hasattr(node, name) and getattr(node, name) == value + ) for name, value in match_fields ): for priority, name, callback in callbacks: diff --git a/mecha/parse.py b/mecha/parse.py index 14ea5ea..2651dcf 100644 --- a/mecha/parse.py +++ b/mecha/parse.py @@ -553,13 +553,11 @@ def __init__(self, parser: str): @overload -def delegate(parser: str) -> Parser: - ... +def delegate(parser: str) -> Parser: ... @overload -def delegate(parser: str, stream: TokenStream) -> Any: - ... +def delegate(parser: str, stream: TokenStream) -> Any: ... def delegate(parser: str, stream: Optional[TokenStream] = None) -> Any: @@ -659,9 +657,12 @@ def parse_command(stream: TokenStream) -> AstCommand: choices.append(("", tree)) for (name, child), alternative in stream.choose(*choices): - with alternative, stream.provide( - scope=scope + (name,), - line_indentation=level, + with ( + alternative, + stream.provide( + scope=scope + (name,), + line_indentation=level, + ), ): literal = None argument = None @@ -709,9 +710,12 @@ def parse_command(stream: TokenStream) -> AstCommand: if tree.executable and (not stream.peek() or stream.get("newline", "eof")): break subcommand_scope = tree.redirect if tree.redirect is not None else scope - with stream.alternative(bool(target and target.children)), stream.provide( - scope=subcommand_scope, - line_indentation=level, + with ( + stream.alternative(bool(target and target.children)), + stream.provide( + scope=subcommand_scope, + line_indentation=level, + ), ): node = delegate("command", stream) arguments.append(node) @@ -1064,7 +1068,9 @@ class NbtParser: curly_pattern: str = r"\{|\}" bracket_pattern: str = r"\[|\]" quoted_string_pattern: str = NBT_QUOTED_STRING_PATTERN - number_pattern: str = r"[+-]?(?:[0-9]*?\.[0-9]+|[0-9]+\.[0-9]*?|[1-9][0-9]*|0)(?:[eE][+-]?[0-9]+)?[bslfdBSLFD]?\b" + number_pattern: str = ( + r"[+-]?(?:[0-9]*?\.[0-9]+|[0-9]+\.[0-9]*?|[1-9][0-9]*|0)(?:[eE][+-]?[0-9]+)?[bslfdBSLFD]?\b" + ) string_pattern: str = r"[a-zA-Z0-9._+-]+" colon_pattern: str = r":" comma_pattern: str = r"," @@ -1446,7 +1452,9 @@ def __call__(self, stream: TokenStream) -> Any: class RangeParser: """Parser for ranges.""" - pattern: str = rf"\.\.{NUMBER_PATTERN}|{NUMBER_PATTERN}\.\.(?:{NUMBER_PATTERN})?|{NUMBER_PATTERN}" + pattern: str = ( + rf"\.\.{NUMBER_PATTERN}|{NUMBER_PATTERN}\.\.(?:{NUMBER_PATTERN})?|{NUMBER_PATTERN}" + ) def __call__(self, stream: TokenStream) -> AstRange: with stream.syntax(range=self.pattern): @@ -1806,9 +1814,12 @@ def parse_message(stream: TokenStream) -> AstMessage: with stream.intercept("whitespace"): stream.get("whitespace") - with stream.intercept("newline"), stream.syntax( - selector=r"@[praes]", - text=r"[^\n@]+", + with ( + stream.intercept("newline"), + stream.syntax( + selector=r"@[praes]", + text=r"[^\n@]+", + ), ): fragments: List[Any] = [] @@ -1938,8 +1949,9 @@ def parse_macro_line(stream: TokenStream) -> AstMacroLine: has_variable = False arguments: List[AstNode] = [] - with stream.intercept("newline", "whitespace"), stream.syntax( - open_variable=r"\$\(" + with ( + stream.intercept("newline", "whitespace"), + stream.syntax(open_variable=r"\$\("), ): for _ in stream.peek_until("newline", "eof"): if open_variable := stream.get("open_variable"): diff --git a/mecha/spec.py b/mecha/spec.py index fec2166..182a4e6 100644 --- a/mecha/spec.py +++ b/mecha/spec.py @@ -18,8 +18,7 @@ class Parser(Protocol): """Protocol describing parser signature.""" - def __call__(self, stream: TokenStream) -> Any: - ... + def __call__(self, stream: TokenStream) -> Any: ... @dataclass diff --git a/poetry.lock b/poetry.lock index 8de7e2d..180b07a 100644 --- a/poetry.lock +++ b/poetry.lock @@ -41,30 +41,34 @@ image = ["Pillow"] [[package]] name = "black" -version = "23.11.0" +version = "24.2.0" description = "The uncompromising code formatter." category = "dev" optional = false python-versions = ">=3.8" files = [ - {file = "black-23.11.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:dbea0bb8575c6b6303cc65017b46351dc5953eea5c0a59d7b7e3a2d2f433a911"}, - {file = "black-23.11.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:412f56bab20ac85927f3a959230331de5614aecda1ede14b373083f62ec24e6f"}, - {file = "black-23.11.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d136ef5b418c81660ad847efe0e55c58c8208b77a57a28a503a5f345ccf01394"}, - {file = "black-23.11.0-cp310-cp310-win_amd64.whl", hash = "sha256:6c1cac07e64433f646a9a838cdc00c9768b3c362805afc3fce341af0e6a9ae9f"}, - {file = "black-23.11.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:cf57719e581cfd48c4efe28543fea3d139c6b6f1238b3f0102a9c73992cbb479"}, - {file = "black-23.11.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:698c1e0d5c43354ec5d6f4d914d0d553a9ada56c85415700b81dc90125aac244"}, - {file = "black-23.11.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:760415ccc20f9e8747084169110ef75d545f3b0932ee21368f63ac0fee86b221"}, - {file = "black-23.11.0-cp311-cp311-win_amd64.whl", hash = "sha256:58e5f4d08a205b11800332920e285bd25e1a75c54953e05502052738fe16b3b5"}, - {file = "black-23.11.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:45aa1d4675964946e53ab81aeec7a37613c1cb71647b5394779e6efb79d6d187"}, - {file = "black-23.11.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:4c44b7211a3a0570cc097e81135faa5f261264f4dfaa22bd5ee2875a4e773bd6"}, - {file = "black-23.11.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2a9acad1451632021ee0d146c8765782a0c3846e0e0ea46659d7c4f89d9b212b"}, - {file = "black-23.11.0-cp38-cp38-win_amd64.whl", hash = "sha256:fc7f6a44d52747e65a02558e1d807c82df1d66ffa80a601862040a43ec2e3142"}, - {file = "black-23.11.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:7f622b6822f02bfaf2a5cd31fdb7cd86fcf33dab6ced5185c35f5db98260b055"}, - {file = "black-23.11.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:250d7e60f323fcfc8ea6c800d5eba12f7967400eb6c2d21ae85ad31c204fb1f4"}, - {file = "black-23.11.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5133f5507007ba08d8b7b263c7aa0f931af5ba88a29beacc4b2dc23fcefe9c06"}, - {file = "black-23.11.0-cp39-cp39-win_amd64.whl", hash = "sha256:421f3e44aa67138ab1b9bfbc22ee3780b22fa5b291e4db8ab7eee95200726b07"}, - {file = "black-23.11.0-py3-none-any.whl", hash = "sha256:54caaa703227c6e0c87b76326d0862184729a69b73d3b7305b6288e1d830067e"}, - {file = "black-23.11.0.tar.gz", hash = "sha256:4c68855825ff432d197229846f971bc4d6666ce90492e5b02013bcaca4d9ab05"}, + {file = "black-24.2.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:6981eae48b3b33399c8757036c7f5d48a535b962a7c2310d19361edeef64ce29"}, + {file = "black-24.2.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:d533d5e3259720fdbc1b37444491b024003e012c5173f7d06825a77508085430"}, + {file = "black-24.2.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:61a0391772490ddfb8a693c067df1ef5227257e72b0e4108482b8d41b5aee13f"}, + {file = "black-24.2.0-cp310-cp310-win_amd64.whl", hash = "sha256:992e451b04667116680cb88f63449267c13e1ad134f30087dec8527242e9862a"}, + {file = "black-24.2.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:163baf4ef40e6897a2a9b83890e59141cc8c2a98f2dda5080dc15c00ee1e62cd"}, + {file = "black-24.2.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:e37c99f89929af50ffaf912454b3e3b47fd64109659026b678c091a4cd450fb2"}, + {file = "black-24.2.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4f9de21bafcba9683853f6c96c2d515e364aee631b178eaa5145fc1c61a3cc92"}, + {file = "black-24.2.0-cp311-cp311-win_amd64.whl", hash = "sha256:9db528bccb9e8e20c08e716b3b09c6bdd64da0dd129b11e160bf082d4642ac23"}, + {file = "black-24.2.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:d84f29eb3ee44859052073b7636533ec995bd0f64e2fb43aeceefc70090e752b"}, + {file = "black-24.2.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:1e08fb9a15c914b81dd734ddd7fb10513016e5ce7e6704bdd5e1251ceee51ac9"}, + {file = "black-24.2.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:810d445ae6069ce64030c78ff6127cd9cd178a9ac3361435708b907d8a04c693"}, + {file = "black-24.2.0-cp312-cp312-win_amd64.whl", hash = "sha256:ba15742a13de85e9b8f3239c8f807723991fbfae24bad92d34a2b12e81904982"}, + {file = "black-24.2.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:7e53a8c630f71db01b28cd9602a1ada68c937cbf2c333e6ed041390d6968faf4"}, + {file = "black-24.2.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:93601c2deb321b4bad8f95df408e3fb3943d85012dddb6121336b8e24a0d1218"}, + {file = "black-24.2.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a0057f800de6acc4407fe75bb147b0c2b5cbb7c3ed110d3e5999cd01184d53b0"}, + {file = "black-24.2.0-cp38-cp38-win_amd64.whl", hash = "sha256:faf2ee02e6612577ba0181f4347bcbcf591eb122f7841ae5ba233d12c39dcb4d"}, + {file = "black-24.2.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:057c3dc602eaa6fdc451069bd027a1b2635028b575a6c3acfd63193ced20d9c8"}, + {file = "black-24.2.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:08654d0797e65f2423f850fc8e16a0ce50925f9337fb4a4a176a7aa4026e63f8"}, + {file = "black-24.2.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ca610d29415ee1a30a3f30fab7a8f4144e9d34c89a235d81292a1edb2b55f540"}, + {file = "black-24.2.0-cp39-cp39-win_amd64.whl", hash = "sha256:4dd76e9468d5536abd40ffbc7a247f83b2324f0c050556d9c371c2b9a9a95e31"}, + {file = "black-24.2.0-py3-none-any.whl", hash = "sha256:e8a6ae970537e67830776488bca52000eaa37fa63b9988e8c487458d9cd5ace6"}, + {file = "black-24.2.0.tar.gz", hash = "sha256:bce4f25c27c3435e4dace4815bcb2008b87e167e3bf4ee47ccdc5ce906eb4894"}, ] [package.dependencies] @@ -78,7 +82,7 @@ typing-extensions = {version = ">=4.0.1", markers = "python_version < \"3.11\""} [package.extras] colorama = ["colorama (>=0.4.3)"] -d = ["aiohttp (>=3.7.4)"] +d = ["aiohttp (>=3.7.4)", "aiohttp (>=3.7.4,!=3.9.0)"] jupyter = ["ipython (>=7.8.0)", "tokenize-rt (>=3.2.0)"] uvloop = ["uvloop (>=0.15.2)"] @@ -1565,4 +1569,4 @@ testing = ["big-O", "jaraco.functools", "jaraco.itertools", "more-itertools", "p [metadata] lock-version = "2.0" python-versions = "^3.10" -content-hash = "9052030970b734bb2470a86c27ba0e83295d0d6d4c963d33f0f5f67584943c6e" +content-hash = "4ba5234c3311fda6cc19d68120b3755cf701e608a09fefbf298bf4c5c49fb2d3" diff --git a/pyproject.toml b/pyproject.toml index 09d8963..15b2bbb 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -27,7 +27,7 @@ beet = ">=0.100.0" tokenstream = "^1.7.0" [tool.poetry.group.dev.dependencies] -black = "^23.11.0" +black = "^24.2.0" pytest = "^7.4.3" isort = "^5.12.0" python-semantic-release = "^7.33.3"