content: [project]
  name = "pyopensky"
  version = "2.15"
  description = "A Python interface for OpenSky database"
  authors = [
    { name = "Xavier Olive", email = "git@xoolive.org" },
    { name = "Junzi Sun", email = "j.sun-1@tudelft.nl" },
  ]
  license = "MIT"
  readme = "readme.md"
  requires-python = ">=3.9"
  dependencies = [
    "appdirs >= 1.4.4",
    "httpx >= 0.27.2",
    "minio >= 7.2.8",
    "pandas >= 2.2.2",
    "pyarrow >= 17.0.0",
    "pyjwt >= 2.9.0",
    "python-dotenv>=1.0.1",
    "tqdm >= 4.66.5",
    "trino[sqlalchemy] >= 0.329.0",
    "typing-extensions >= 4.12.2",
    "tzdata>=2024.2",
  ]
  
  [project.urls]
  Repository = "https://github.com/open-aviation/pyopensky/"
  
  [project.optional-dependencies]
  cartes = ["cartes>=0.8.1"]
  decoding = ["pymodes>=2.18", "rs1090>=0.3.8"]
  
  [build-system]
  requires = ["hatchling"]
  build-backend = "hatchling.build"
  
  [dependency-groups]
  dev = [
    "pre-commit >= 3.8.0",
    "mypy >= 1.11.2",
    "ruff >= 0.6.3",
    "pytest >= 8.3.2",
    "ipykernel >= 6.29.5",
    "sphinx >= 7.4.7; python_version>'3.11'",
    "sphinx-design >= 0.6.1; python_version>'3.11'",
    "sphinx-rtd-theme >= 2.0.0; python_version>'3.11'",
    "sphinx-autodoc-typehints >= 2.3.0; python_version>'3.11'",
  ]
  
  [tool.ruff]
  lint.select = [
    "E",
    "W",   # pycodestyle
    "F",   # pyflakes
    "I",   # isort
    "NPY", # numpy
    # "PD",  # pandas
    "DTZ", # flake8-datetimez
    "RUF",
  ]
  line-length = 80
  target-version = "py39"
  
  [tool.ruff.lint.isort]
  known-first-party = ["numpy", "pandas"]
  
  [tool.mypy]
  python_version = "3.9"
  platform = "posix"
  color_output = true
  pretty = true
  show_column_numbers = true
  strict = true
  check_untyped_defs = true
  ignore_missing_imports = true
  warn_no_return = true
  warn_redundant_casts = true
  warn_unused_configs = true
  warn_unused_ignores = true
  