grovers-visualizer/pyproject.toml

95 lines
1.6 KiB
TOML

[project]
name = "grovers-visualizer"
version = "0.4.0"
description = "Add your description here"
readme = "README.md"
requires-python = ">=3.13"
dependencies = [
"argparse==1.4.0",
"numpy==2.2.4",
"pyqt6==6.9.0",
"qiskit-aer==0.17.0",
"qiskit[visualization]==2.0.0",
]
[project.scripts]
grovers-visualizer = "grovers_visualizer.main:main"
[project.optional-dependencies]
ui = ["dearpygui==2.0.0"]
[dependency-groups]
dev = ["mypy~=1.15", "ruff~=0.11"]
[build-system]
requires = ["hatchling"]
build-backend = "hatchling.build"
[tool.hatch.build]
sources = ["src"]
[tool.hatch.build.targets.wheel]
packages = ["src/grovers_visualizer"]
[tool.mypy]
mypy_path = "src"
check_untyped_defs = true
disallow_any_generics = true
ignore_missing_imports = true
no_implicit_optional = true
no_implicit_reexport = true
show_error_codes = true
strict_equality = true
warn_redundant_casts = true
warn_return_any = true
warn_unreachable = true
warn_unused_configs = true
[tool.ruff]
show-fixes = true
line-length = 120
indent-width = 4
target-version = "py313"
[tool.ruff.lint]
extend-select = [
"B",
"BLE",
"C4",
"ERA",
"I",
"ICN",
"INP",
"ISC",
"N",
"NPY",
"PGH",
"PIE",
"PT",
"Q",
"RET",
"RSE",
"RUF",
"S",
"SIM",
"T20",
"TCH",
"TID",
"YTT",
]
preview = true
fixable = ["ALL"]
ignore = ["E741", "ISC001", "T201", "T203"]
[tool.ruff.lint.extend-per-file-ignores]
# Disable for all files in the tests directory
"**/tests/*" = ["S101", "S106", "PLR2004"]
[tool.ruff.format]
quote-style = "double"
indent-style = "space"
skip-magic-trailing-comma = false
line-ending = "auto"
docstring-code-format = true
docstring-code-line-length = 40