JOJ3-config-generator/pyproject.toml
张泊明518370910136 d5780c5837
All checks were successful
build / build (push) Successful in 1m48s
chore: use pure python tomli & tomlkit
2025-03-18 04:03:36 -04:00

73 lines
1.6 KiB
TOML

[build-system]
requires = ["pdm-backend"]
build-backend = "pdm.backend"
[project]
name = "JOJ3-config-generator"
version = "0.1.0"
dependencies = [
"pyyaml>=6.0.2",
"typer>=0.12.5",
"loguru>=0.7.2",
"pydantic>=2.9.2",
"inquirer>=3.4.0",
"humanfriendly>=10.0",
"tomlkit>=0.13.2",
"tomli>=2.2.1",
]
requires-python = ">=3.9"
authors = [{ name = "JOJ3-dev", email = "joj3@focs.ji.sjtu.edu.cn" }]
maintainers = []
description = "JOJ3 json configuration file generator"
readme = "README.md"
license = { text = "MIT" }
[project.scripts]
joj3-config-generator = "joj3_config_generator.main:app"
[tool.bandit]
exclude_dirs = ["tests"]
skips = ["B101"]
[tool.pdm]
distribution = true
[tool.pdm.dev-dependencies]
lint = ["black>=24.10.0", "mypy>=1.12.0", "types-PyYAML>=6.0.12.20240917"]
test = ["pytest>=8.3.3", "pytest-cov>=5.0.0"]
dev = ["pre-commit>=4.0.1"]
[tool.pdm.scripts]
lint = "mypy joj3_config_generator tests"
test = "pytest"
coverage = "pytest --cov=joj3_config_generator --cov-report=xml --cov-report=html"
all = { composite = ["lint", "test"] }
app.call = "joj3_config_generator.main:app"
[tool.pdm.build]
includes = ["joj3_config_generator"]
excludes = ["tests"]
[tool.pytest.ini_options]
testpaths = ["tests"]
xfail_strict=true
[tool.mypy]
plugins = ["pydantic.mypy"]
follow_imports = "silent"
warn_redundant_casts = true
warn_unused_ignores = true
disallow_any_generics = true
check_untyped_defs = true
no_implicit_reexport = true
disable_error_code = "import-untyped"
disallow_untyped_defs = true
[tool.pydantic-mypy]
init_forbid_extra = true
init_typed = true
warn_required_dynamic_aliases = true
warn_untyped_fields = true