content: [tool.poetry]
  name = "gd.py"
  version = "2.0.0-dev.0"
  description = "An API wrapper for Geometry Dash written in Python."
  authors = ["nekitdev"]
  license = "MIT"
  
  include = ["gd/submodules"]
  
  readme = "README.md"
  
  homepage = "https://github.com/nekitdev/gd.py"
  repository = "https://github.com/nekitdev/gd.py"
  documentation = "https://nekitdev.github.io/gd.py"
  
  keywords = ["python", "gd"]
  
  classifiers = [
      "Development Status :: 4 - Beta",
      "Intended Audience :: Developers",
      "Operating System :: OS Independent",
      "Typing :: Typed",
  ]
  
  [tool.poetry.urls]
  Chat = "https://nekit.dev/chat"
  Funding = "https://nekit.dev/funding"
  Issues = "https://github.com/nekitdev/gd.py/issues"
  
  [[tool.poetry.packages]]
  include = "gd"
  
  [tool.poetry.scripts]
  gd = "gd.main:gd"
  
  [tool.poetry.dependencies]
  python = ">= 3.8"
  
  aiohttp = ">= 3.9.3"
  click = ">= 8.1.7"
  tqdm = ">= 4.66.2"
  yarl = ">= 1.9.4"
  
  attrs = ">= 23.2.0"
  cattrs = ">= 23.2.3"
  
  pendulum = ">= 3.0.0"
  
  entrypoint = ">= 2.0.2"
  versions = ">= 2.1.2"
  
  named = ">= 1.4.1"
  
  xor-cipher = ">= 3.2.1"
  colors-core = ">= 1.1.1"
  
  async-extensions = ">= 2.0.2"
  iters = ">= 0.16.1"
  
  funcs = ">= 0.9.1"
  
  typing-extensions = ">= 4.10.0"
  typing-aliases = ">= 1.7.1"
  
  pycapnp = ">= 1.3.0"
  
  [tool.poetry.dependencies.lxml]
  version = ">= 5.1.0"
  optional = true
  
  [tool.poetry.dependencies.pillow]
  version = ">= 10.2.0"
  optional = true
  
  [tool.poetry.dependencies.cryptography]
  version = ">= 42.0.5"
  optional = true
  
  [tool.poetry.dependencies.ipython]
  version = ">= 8.22.1"
  python = ">= 3.10"
  optional = true
  
  [tool.poetry.extras]
  crypto = ["cryptography"]
  image = ["pillow"]
  speed = ["lxml"]
  console = ["ipython"]
  
  [tool.poetry.group.format.dependencies]
  ruff = "0.3.0"
  
  [tool.poetry.group.check.dependencies]
  mypy = "1.8.0"
  
  types-pillow = "10.2.0.20240213"
  types-tqdm = "4.66.0.20240106"
  lxml-stubs = "0.5.1"
  
  [tool.poetry.group.check.dependencies.pre-commit]
  version = "3.6.2"
  python = ">= 3.9"
  
  [tool.poetry.group.test.dependencies]
  coverage = "7.4.3"
  pytest = "8.0.2"
  pytest-cov = "4.1.0"
  pytest-benchmark = "4.0.0"
  pytest-asyncio = "0.23.5"
  
  [tool.poetry.group.docs]
  optional = true
  
  [tool.poetry.group.docs.dependencies]
  mkdocs = "1.5.3"
  mkdocs-material = "9.5.12"
  
  [tool.poetry.group.docs.dependencies.mkdocstrings]
  version = "0.24.0"
  extras = ["python"]
  
  [tool.poetry.group.release]
  optional = true
  
  [tool.poetry.group.release.dependencies]
  changelogging = "1.4.1"
  
  [tool.ruff]
  line-length = 100
  
  [tool.ruff.lint]
  ignore = [
      "E402",  # module level import not at top of file
      "E741",  # ambiguous variable name
      "F402",  # import module from line shadowed by loop variable
  ]
  
  [tool.pytest.ini_options]
  addopts = "--cov gd"
  testpaths = ["tests"]
  
  [tool.coverage.run]
  source = ["gd"]
  
  [tool.coverage.report]
  ignore_errors = true
  exclude_also = [
      "pragma: never",
      "if TYPE_CHECKING",
      "@overload",
      "@required",
      "raise NotImplementedError",
      "raise AssertionError",
      "def __repr__",
  ]
  
  [tool.coverage.html]
  directory = "coverage"
  
  [tool.mypy]
  strict = true
  
  [tool.changelogging]
  name = "gd.py"
  version = "2.0.0-dev.0"
  url = "https://github.com/nekitdev/gd.py"
  directory = "changes"
  output = "CHANGELOG.md"
  
  start_string = "<!-- changelogging: start -->"
  
  title_format = "{version} ({date})"
  issue_format = "[#{issue}]({url}/pull/{issue})"
  
  bullet = "-"
  wrap = true
  wrap_size = 100
  
  display = ["feature", "change", "fix", "security", "deprecation", "removal", "internal"]
  
  [build-system]
  requires = ["poetry-core >= 1.9.0"]
  build-backend = "poetry.core.masonry.api"
  