[build-system]
requires = ["maturin>=1.9,<2.0"]
build-backend = "maturin"
[project]
name = "dvpl-converter"
version = "0.1.3"
description = "dvpl-converter encodes and decodes DVPL-compressed World of Tanks Blitz assets with LZ4 and LZ4-HC support"
readme = "README.md"
requires-python = ">=3.10"
license = "MIT"
license-files = ["LICENSE"]
authors = [
{ name = "MihaiStreames", email = "72852703+MihaiStreames@users.noreply.github.com" },
]
keywords = ["dvpl", "wotb", "lz4", "compression", "world-of-tanks"]
classifiers = [
"Development Status :: 5 - Production/Stable",
"Intended Audience :: Developers",
"License :: OSI Approved :: MIT License",
"Operating System :: OS Independent",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
"Programming Language :: Python :: 3.13",
"Programming Language :: Python :: 3 :: Only",
"Programming Language :: Rust",
"Topic :: Games/Entertainment",
"Topic :: System :: Archiving :: Compression",
]
dependencies = []
[project.scripts]
dvpl-converter = "dvpl_converter:main"
[project.urls]
Repository = "https://github.com/MihaiStreames/dvpl-converter"
[project.optional-dependencies]
dev = [
"mypy>=1.20.1",
"ruff>=0.15.10",
]
[tool.ruff]
line-length = 100
target-version = "py310"
[tool.ruff.lint]
select = [
"E",
"W",
"F",
"I",
"N",
"UP",
"B",
"C4",
"SIM",
"ARG",
"PTH",
"RET",
"PL",
"PERF",
]
ignore = [
"E501",
"PLR0913",
"PLR2004",
"SIM108",
]
[tool.ruff.format]
quote-style = "double"
indent-style = "space"
line-ending = "lf"
docstring-code-format = true
docstring-code-line-length = 80
[tool.ruff.lint.isort]
force-single-line = true
force-sort-within-sections = true
lines-after-imports = 2
section-order = [
"future",
"standard-library",
"third-party",
"first-party",
"local-folder",
]
[tool.ruff.lint.pydocstyle]
convention = "numpy"
[tool.mypy]
python_version = "3.10"
files = ["python/dvpl_converter"]
warn_return_any = true
warn_unused_configs = true
disallow_untyped_defs = true
disallow_incomplete_defs = true
check_untyped_defs = true
no_implicit_optional = true
warn_redundant_casts = true
warn_unused_ignores = true
warn_no_return = true
strict_equality = true
[[tool.mypy.overrides]]
module = ["dvpl_engine.*"]
ignore_missing_imports = true
[tool.maturin]
features = ["python"]
python-source = "python"
python-packages = ["dvpl_engine", "dvpl_converter"]
module-name = "dvpl_engine"
strip = true