[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