content: [build-system]
  requires = ["maturin>=1.5,<2.0"]
  build-backend = "maturin"
  
  [project]
  name = "logly"
  version = "0.1.6"
  description = "A stupidly simple, yet blazingly fast and powerful logging utility for Python — powered by Rust."
  readme = { file = "README.md", content-type = "text/markdown" }
  requires-python = ">=3.10, <=3.14"
  license = { file = "LICENSE" }
  authors = [
    { name = "muhammad-fiaz", email = "contact@muhammadfiaz.com" },
  ]
  maintainers = [
    { name = "muhammad-fiaz", email = "contact@muhammadfiaz.com" },
  ]
  keywords = ["logging", "rust", "pyo3", "tracing", "structured-logging", "logly", "performance"]
  classifiers = [
    "Development Status :: 4 - Beta",
    "Programming Language :: Python :: 3",
    "Programming Language :: Python :: 3 :: Only",
    "Programming Language :: Python :: 3.10",
    "Programming Language :: Python :: 3.11",
    "Programming Language :: Python :: 3.12",
    "Programming Language :: Python :: 3.13",
    "Programming Language :: Python :: 3.14",
    "License :: OSI Approved :: MIT License",
    "Operating System :: OS Independent",
    "Topic :: Software Development :: Libraries :: Python Modules",
    "Topic :: System :: Logging",
  ]
  dependencies = []
  
  [project.urls]
  Homepage = "https://github.com/muhammad-fiaz/logly"
  Source = "https://github.com/muhammad-fiaz/logly"
  "Bug Tracker" = "https://github.com/muhammad-fiaz/logly/issues"
  Documentation = "https://github.com/muhammad-fiaz/logly#readme"
  Changelog = "https://github.com/muhammad-fiaz/logly/releases"
  
  [dependency-groups]
  dev = [
    "ipykernel>=6.30.1",
    "maturin==1.9.1",
    "mkdocs>=1.5.0",
    "mkdocs-material>=9.0.0",
    "mkdocs-minify-plugin>=0.8.0",
    "mypy[faster-cache]==1.16.1",
    "pre-commit==4.2.0",
    "pylint>=3.3.8",
    "pytest==8.4.1",
    "pytest-cov==6.2.1",
    "rich>=14.1.0",
    "ruff==0.12.3",
    "twine>=5.0.0",
  ]
  
  [tool.maturin]
  module-name = "logly._logly"
  binding = "pyo3"
  features = ["pyo3/extension-module"]
  
  [tool.mypy]
  check_untyped_defs = true
  disallow_untyped_defs = true
  exclude = ["examples"]
  
  [[tool.mypy.overrides]]
  module = ["tests.*"]
  disallow_untyped_defs = false
  
  [[tool.mypy.overrides]]
  module = ["logly._logly", "logly"]
  disallow_untyped_defs = false
  
  
  [[tool.mypy.overrides]]
  module = ["examples.*"]
  disallow_untyped_defs = false
  ignore_errors = true
  
  [tool.pytest.ini_options]
  minversion = "6.0"
  addopts = "--cov=logly --cov-report term-missing --cov-report xml --no-cov-on-fail"
  
  [tool.coverage.report]
  exclude_lines = ["if __name__ == .__main__.:", "pragma: no cover"]
  
  [tool.pylint.messages_control]
  disable = [
      "import-error",
      "no-name-in-module",
      "unnecessary-ellipsis",
      "unused-argument",
      "protected-access",
  ]
  
  [tool.pylint.reports]
  output-format = "colorized"
  
  [tool.ruff]
  line-length = 100
  target-version = "py310"
  fix = true
  extend-exclude = ["examples"]
  
  [tool.ruff.lint]
  select = [
    "E",  # pycodestyle
    "B",  # flake8-bugbear
    "W",  # Warning
    "F",  # pyflakes
    "UP",  # pyupgrade
    "I001",  # unsorted-imports
    "T201",  # print found
    "T203",  # pprint found
    "RUF022",  # Unsorted __all__
    "RUF023",  # Unforted __slots__
  ]
  ignore=[
    # Recommended ignores by ruff when using formatter
    "E501",
    "W191",
    "E111",
    "E114",
    "E117",
    "D206",
    "D300",
    "Q000",
    "Q001",
    "Q002",
    "Q003",
    "COM812",
    "COM819",
    "ISC001",
    "ISC002",
  ]
  