diff --git a/.github/workflows/format.yml b/.github/workflows/format.yml index 687854b..dee65eb 100644 --- a/.github/workflows/format.yml +++ b/.github/workflows/format.yml @@ -5,10 +5,7 @@ name: Format on: workflow_dispatch: - pull_request: push: - branches: - - master jobs: pre-commit: diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 3972f3e..89c6a80 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -41,16 +41,15 @@ repos: - id: ruff args: ["--fix", "--show-fixes"] - id: ruff-format - exclude: ^(docs) + exclude: ^(docs)|^(tests)|^(examples) -## Checking static types -#- repo: https://github.com/pre-commit/mirrors-mypy -# rev: "v1.10.0" -# hooks: -# - id: mypy -# files: "setup.py" -# args: [] -# additional_dependencies: [types-setuptools] +# Checking static types +- repo: https://github.com/pre-commit/mirrors-mypy + rev: "v1.10.0" + hooks: + - id: mypy + exclude: ^(tests)|^(examples) + additional_dependencies: [types-setuptools] # Changes tabs to spaces - repo: https://github.com/Lucas-C/pre-commit-hooks diff --git a/pythonbpf/codegen.py b/pythonbpf/codegen.py index ff20422..f7dfaa7 100644 --- a/pythonbpf/codegen.py +++ b/pythonbpf/codegen.py @@ -141,7 +141,7 @@ def compile() -> bool: success = True success = compile_to_ir(str(caller_file), str(ll_file)) and success - success = ( + success = bool( subprocess.run( [ "llc", diff --git a/pythonbpf/functions_pass.py b/pythonbpf/functions_pass.py index 2aef65f..aaebff0 100644 --- a/pythonbpf/functions_pass.py +++ b/pythonbpf/functions_pass.py @@ -1,13 +1,13 @@ from llvmlite import ir import ast - +from typing import Any from .bpf_helper_handler import helper_func_list, handle_helper_call from .type_deducer import ctypes_to_ir from .binary_ops import handle_binary_op from .expr_pass import eval_expr, handle_expr -local_var_metadata = {} +local_var_metadata: dict[str | Any, Any] = {} def get_probe_string(func_node): @@ -656,9 +656,9 @@ def _expr_type(e): except Exception: return type(e).__name__ - for node in ast.walk(func_node): - if isinstance(node, ast.Return): - t = _expr_type(node.value) + for walked_node in ast.walk(func_node): + if isinstance(walked_node, ast.Return): + t = _expr_type(walked_node.value) if found_type is None: found_type = t elif found_type != t: diff --git a/pythonbpf/maps/maps_utils.py b/pythonbpf/maps/maps_utils.py index c7f8203..ee3ad08 100644 --- a/pythonbpf/maps/maps_utils.py +++ b/pythonbpf/maps/maps_utils.py @@ -1,7 +1,11 @@ +from collections.abc import Callable +from typing import Any + + class MapProcessorRegistry: """Registry for map processor functions""" - _processors = {} + _processors: dict[str, Callable[..., Any]] = {} @classmethod def register(cls, map_type_name):