[build-system] requires = ["setuptools>=45", "wheel", "setuptools_scm[toml]>=6.2"] build-backend = "setuptools.build_meta" [project] name = "github-copilot-sdk" version = "0.1.0" description = "Python SDK for GitHub Copilot CLI" readme = "README.md" requires-python = ">=3.11" license = "MIT" # license-files is set by scripts/build-wheels.mjs for bundled CLI wheels authors = [ {name = "GitHub", email = "opensource@github.com"} ] classifiers = [ "Development Status :: 3 - Alpha", "Intended Audience :: Developers", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", "Programming Language :: Python :: 3.13", "Programming Language :: Python :: 3.14", ] dependencies = [ "python-dateutil>=2.9.0.post0", "pydantic>=2.0", ] [project.urls] Homepage = "https://github.com/github/copilot-sdk" Repository = "https://github.com/github/copilot-sdk" [project.optional-dependencies] dev = [ "ruff>=0.1.0", "ty>=0.0.2,<0.0.25", "pytest>=7.0.0", "pytest-asyncio>=0.21.0", "pytest-timeout>=2.0.0", "httpx>=0.24.0", ] telemetry = [ "opentelemetry-api>=1.0.0", ] # Use find with a glob so that the copilot.bin subpackage (created dynamically # by scripts/build-wheels.mjs during publishing) is included in platform wheels. [tool.setuptools.packages.find] where = ["."] include = ["copilot*"] [tool.ruff] line-length = 100 target-version = "py311" exclude = [ "generated", "copilot/generated", ] [tool.ruff.lint] select = [ "E", # pycodestyle errors "W", # pycodestyle warnings "F", # pyflakes "I", # isort "UP", # pyupgrade ] [tool.ruff.format] docstring-code-format = true quote-style = "double" indent-style = "space" [tool.ty.rules] invalid-argument-type = "warn" [tool.ty.src] exclude = [ "generated", "copilot/generated", "copilot/test_*.py", ] [tool.pytest.ini_options] testpaths = ["."] python_files = "test_*.py" python_classes = "Test*" python_functions = "test_*" asyncio_mode = "auto"