[build-system] requires = ["setuptools>=61.0"] build-backend = "setuptools.build_meta" [project] name = "selectui" version = "0.1.0" description = "Terminal UI for selecting and searching through items" requires-python = ">=3.8" dependencies = [ "textual>=0.47.0", "thefuzz>=0.22.1", "pydantic>=2.0.0", ] [project.scripts] selectui = "selectui:main" [tool.setuptools] package-dir = {"" = "src"} [tool.setuptools.packages.find] where = ["src"] [dependency-groups] dev = [ "pytest>=7.4.0", "pytest-cov>=4.1.0", "ruff>=0.1.0", "mypy>=1.7.0", ] [tool.mypy] python_version = "3.12" warn_return_any = false warn_unused_configs = true disallow_untyped_defs = false ignore_missing_imports = true [tool.pytest.ini_options] testpaths = ["tests"] python_files = ["test_*.py"] python_classes = ["Test*"] python_functions = ["test_*"] addopts = "-v --tb=short" [tool.ruff] line-length = 100 target-version = "py38" [tool.ruff.lint] select = ["E", "F", "W", "I", "N"] ignore = ["E501"] # Line too long (handled by formatter)