Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions dissect/executable/__init__.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
from __future__ import annotations

from dissect.executable.elf.elf import ELF
from dissect.executable.pe.pe import PE

Expand Down
2 changes: 2 additions & 0 deletions dissect/executable/elf/__init__.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
from __future__ import annotations

from dissect.executable.elf.elf import (
ELF,
Section,
Expand Down
7 changes: 6 additions & 1 deletion dissect/executable/elf/c_elf.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,12 @@
from enum import Flag, IntEnum
from __future__ import annotations

from typing import TYPE_CHECKING

from dissect.cstruct import cstruct

if TYPE_CHECKING:
from enum import Flag, IntEnum

elf_32_def = """
typedef uint32 Elf32_Addr;
typedef uint16 Elf32_Half;
Expand Down
3 changes: 3 additions & 0 deletions dissect/executable/exception.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,6 @@
from __future__ import annotations


class Error(Exception):
"""Base exception for this module."""

Expand Down
2 changes: 2 additions & 0 deletions dissect/executable/pe/__init__.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
from __future__ import annotations

from dissect.executable.pe.pe import PE

__all__ = [
Expand Down
2 changes: 2 additions & 0 deletions dissect/executable/pe/directory/__init__.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
from __future__ import annotations

from dissect.executable.pe.directory.base import DataDirectory
from dissect.executable.pe.directory.basereloc import BaseRelocationDirectory
from dissect.executable.pe.directory.bound_import import BoundImportDirectory
Expand Down
4 changes: 3 additions & 1 deletion dissect/executable/pe/pe.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
from functools import cached_property
from typing import TYPE_CHECKING, BinaryIO

from dissect.util.stream import AlignedStream, BufferedStream, RangeStream
from dissect.util.stream import AlignedStream, BufferedStream
from dissect.util.ts import from_unix

from dissect.executable.exception import InvalidSignatureError
Expand All @@ -30,6 +30,8 @@
if TYPE_CHECKING:
import datetime

from dissect.util.stream import RangeStream


class PE:
"""PE file parser.
Expand Down
22 changes: 20 additions & 2 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -94,16 +94,33 @@ select = [
"SLOT",
"SIM",
"TID",
"TCH",
"TC",
"PTH",
"PLC",
"TRY",
"FLY",
"PERF",
"FURB",
"RUF",
"D"
]
ignore = ["E203", "B904", "UP024", "ANN002", "ANN003", "ANN204", "ANN401", "SIM105", "TRY003"]
ignore = [
"E203", "B904", "UP024", "ANN002", "ANN003", "ANN204", "ANN401", "SIM105", "TRY003", "PLC0415",
# Ignore some pydocstyle rules for now as they require a larger cleanup
"D1",
"D205",
"D301",
"D417",
# Seems bugged: https://github.com/astral-sh/ruff/issues/16824
"D402",
]
future-annotations = true

[tool.ruff.lint.pydocstyle]
convention = "google"

[tool.ruff.lint.flake8-type-checking]
strict = true

[tool.ruff.lint.per-file-ignores]
"tests/_docs/**" = ["INP001"]
Expand All @@ -112,6 +129,7 @@ ignore = ["E203", "B904", "UP024", "ANN002", "ANN003", "ANN204", "ANN401", "SIM1
[tool.ruff.lint.isort]
known-first-party = ["dissect.executable"]
known-third-party = ["dissect"]
required-imports = ["from __future__ import annotations"]

[tool.setuptools.packages.find]
include = ["dissect.*"]
Expand Down
2 changes: 2 additions & 0 deletions tests/_docs/conf.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
from __future__ import annotations

project = "dissect.executable"

extensions = [
Expand Down
Loading