content: [project]
  name = "libro-book"
  version = "0.6.1"
  description = "A command-line tool to track books read"
  authors = [ {name = "Marcus Kazmierczak", email = "marcus@mkaz.com"} ]
  license = "MIT"
  license-files = ["LICENSE"]
  readme = "readme.md"
  keywords = ["books", "reading", "library"]
  classifiers = [
      "Development Status :: 4 - Beta",
      "Environment :: Console",
      "Intended Audience :: End Users/Desktop",
      "Natural Language :: English",
      "Programming Language :: Python :: 3",
      "Operating System :: OS Independent",
  ]
  requires-python = ">=3.10"
  dependencies = [
      "appdirs>=1.4",
      "rich>=13.3",
      "prompt_toolkit",
      "textual>=5.3.0",
  ]
  
  [project.urls]
  Documentation = "https://github.com/mkaz/libro"
  Repository = "https://github.com/mkaz/libro"
  Issues = "https://github.com/mkaz/libro/issues"
  
  [project.scripts]
  libro = "libro.main:main"
  
  [build-system]
  requires = ["hatchling"]
  build-backend = "hatchling.build"
  
  [tool.hatch.build.targets.wheel]
  packages = ["src/libro"]
  
  
  [tool.ruff]
  target-version = "py310"
  
  [tool.mypy]
  python_version = "3.10"
  warn_return_any = true
  warn_unused_configs = true
  disallow_untyped_defs = false
  disallow_incomplete_defs = false
  check_untyped_defs = true
  disallow_untyped_decorators = false
  no_implicit_optional = true
  warn_redundant_casts = true
  warn_unused_ignores = true
  warn_no_return = true
  warn_unreachable = true
  strict_equality = true
  disallow_untyped_calls = false
  namespace_packages = true
  explicit_package_bases = true
  
  [[tool.mypy.overrides]]
  module = "appdirs.*"
  ignore_missing_imports = true
  
  [dependency-groups]
  dev = [
      "build>=1.3.0",
      "mypy>=1.17.1",
      "pytest>=8.4.1",
      "ruff>=0.12.10",
      "twine>=6.1.0",
  ]
  