-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathpyproject.toml
More file actions
86 lines (73 loc) · 2.55 KB
/
Copy pathpyproject.toml
File metadata and controls
86 lines (73 loc) · 2.55 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
[project]
name = "ntcompress"
version = "0.2.0"
description = "Pure-Python implementations of every Microsoft ESE record-compression scheme and Windows ntdll RtlCompressBuffer/RtlDecompressBuffer format."
readme = "README.md"
requires-python = ">=3.10"
license = "Apache-2.0"
license-files = ["LICENSE", "NOTICE"]
authors = [{ name = "ntcompress contributors" }]
keywords = ["ese", "esent", "jet", "ntdll", "xpress", "xpress9", "xpress10", "lznt1", "lz4", "ms-xca", "compression", "forensics"]
classifiers = [
"Development Status :: 2 - Pre-Alpha",
"Intended Audience :: Developers",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
"Programming Language :: Python :: 3.13",
"Programming Language :: Python :: 3.14",
"Programming Language :: Python :: 3 :: Only",
"Topic :: Security",
"Topic :: System :: Archiving :: Compression",
"Typing :: Typed",
]
dependencies = []
[project.urls]
Repository = "https://github.com/StrongWind1/ntcompress"
Documentation = "https://strongwind1.github.io/ntcompress/"
Changelog = "https://github.com/StrongWind1/ntcompress/blob/main/CHANGELOG.md"
Issues = "https://github.com/StrongWind1/ntcompress/issues"
[dependency-groups]
dev = [
"pytest",
"hypothesis",
"ruff",
"ty",
]
docs = ["mkdocs", "mkdocs-material", "mkdocstrings[python]"]
[build-system]
requires = ["uv_build>=0.11.12,<0.12.0"]
build-backend = "uv_build"
[tool.ruff]
target-version = "py310"
line-length = 320
src = ["src"]
[tool.ruff.lint]
select = ["ALL"]
ignore = [
"COM812", # Trailing comma - conflicts with the ruff formatter
"ISC001", # Implicit string concat - conflicts with the ruff formatter
"D203", # No blank line before class docstring - conflicts with D211
"D213", # Multi-line docstring summary on second line - conflicts with D212
"PLR0913", # Too many arguments - wire-format and decoder functions legitimately need many params
"PLC0415", # Import not at top level - deferred imports used pervasively for circular-import avoidance between ese/__init__.py and format modules
]
[tool.ruff.lint.per-file-ignores]
"tests/**" = ["ALL"]
"src/**/xpress9.py" = ["C901", "PLR0912", "PLR0915", "PLR2004"]
[tool.ruff.lint.pydocstyle]
convention = "google"
[tool.ty.environment]
python-version = "3.10"
root = ["src"]
[tool.ty.rules]
all = "error"
[tool.ty.terminal]
error-on-warning = true
[[tool.ty.overrides]]
include = ["tests/**"]
[tool.ty.overrides.rules]
all = "ignore"
[tool.pytest.ini_options]
testpaths = ["tests"]
addopts = "-ra"