diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 2bbe40f..7ad8ce3 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -5,24 +5,24 @@ ci: skip: [pip-compile] repos: - repo: https://github.com/pycqa/isort - rev: 5.10.1 + rev: 7.0.0 hooks: - id: isort name: isort - - repo: https://github.com/psf/black - rev: 22.10.0 + - repo: https://github.com/psf/black-pre-commit-mirror + rev: 26.1.0 hooks: - id: black - repo: https://github.com/pre-commit/mirrors-mypy - rev: v0.991 + rev: v1.19.1 hooks: - id: mypy - repo: https://github.com/pycqa/flake8 - rev: 6.0.0 + rev: 7.3.0 hooks: - id: flake8 - repo: https://github.com/jazzband/pip-tools - rev: 6.10.0 + rev: v7.5.2 hooks: - id: pip-compile files: ^(pyproject\.toml|requirements\.txt)$ diff --git a/code_data/__init__.py b/code_data/__init__.py index c6f46e1..ad10bc4 100644 --- a/code_data/__init__.py +++ b/code_data/__init__.py @@ -1,6 +1,7 @@ """ Transform Python code objects into data, and vice versa. """ + from __future__ import annotations from collections import OrderedDict diff --git a/code_data/_blocks.py b/code_data/_blocks.py index f320722..8fcb91e 100644 --- a/code_data/_blocks.py +++ b/code_data/_blocks.py @@ -9,9 +9,8 @@ import dis import sys from dataclasses import dataclass, field, replace -from typing import Callable, Generic, Hashable, Iterable, Optional, Tuple, TypeVar - from opcode import HAVE_ARGUMENT +from typing import Callable, Generic, Hashable, Iterable, Optional, Tuple, TypeVar from . import ( AdditionalArgs, diff --git a/code_data/_code_data.py b/code_data/_code_data.py index d9f18ce..0ec87ef 100644 --- a/code_data/_code_data.py +++ b/code_data/_code_data.py @@ -115,7 +115,7 @@ def from_code_data(code_data: CodeData) -> CodeType: flags_data |= FN_FLAGS if code_data.type.type is not None: flags_data |= {code_data.type.type} - (code, line_mapping, names, varnames, cellvars, constants) = blocks_to_bytes( + code, line_mapping, names, varnames, cellvars, constants = blocks_to_bytes( code_data.blocks, code_data._additional_args, code_data.freevars, diff --git a/code_data/_flags_data.py b/code_data/_flags_data.py index d8cee99..7f145e3 100644 --- a/code_data/_flags_data.py +++ b/code_data/_flags_data.py @@ -2,6 +2,7 @@ We represent code flags as a set of literal strings, representing each compiler flag. """ + from __future__ import annotations import dis diff --git a/code_data/_line_mapping.py b/code_data/_line_mapping.py index 1319606..9d86432 100644 --- a/code_data/_line_mapping.py +++ b/code_data/_line_mapping.py @@ -184,9 +184,9 @@ def collapse_items(items: ExpandedItems, is_linetable: bool) -> CollapsedItems: """ collapsed_items = [ CollapsedLineTableItem( - line_offset=None - if is_linetable and i.line_offset == -128 - else i.line_offset, + line_offset=( + None if is_linetable and i.line_offset == -128 else i.line_offset + ), bytecode_offset=i.bytecode_offset, ) for i in items @@ -245,9 +245,11 @@ def expand_bytecode(): while bytecode_offset > MAX_BYTECODE: expanded_items.append( LineTableItem( - line_offset=(-128 if line_offset is None else line_offset) - if is_linetable - else 0, + line_offset=( + (-128 if line_offset is None else line_offset) + if is_linetable + else 0 + ), bytecode_offset=MAX_BYTECODE, ) ) diff --git a/code_data/_test_verify_code.py b/code_data/_test_verify_code.py index 455f47f..fbdcc7f 100644 --- a/code_data/_test_verify_code.py +++ b/code_data/_test_verify_code.py @@ -116,9 +116,11 @@ def code_to_primitives(code: CodeType) -> dict[str, object]: for a in code.co_consts ) if name == "co_consts" - else [(i.opname, i.argval) for i in _get_instructions_bytes(code.co_code)] - if name == "co_code" - else getattr(code, name) + else ( + [(i.opname, i.argval) for i in _get_instructions_bytes(code.co_code)] + if name == "co_code" + else getattr(code, name) + ) ) for name in code_attributes }