| [build-system] |
| requires = ["setuptools<73"] |
| build-backend = "setuptools.build_meta" |
| |
| [project] |
| name = "google_benchmark" |
| description = "A library to benchmark code snippets." |
| requires-python = ">=3.10" |
| license = { file = "LICENSE" } |
| keywords = ["benchmark"] |
| |
| authors = [{ name = "Google", email = "benchmark-discuss@googlegroups.com" }] |
| |
| classifiers = [ |
| "Development Status :: 4 - Beta", |
| "Intended Audience :: Developers", |
| "Intended Audience :: Science/Research", |
| "License :: OSI Approved :: Apache Software License", |
| "Programming Language :: Python :: 3.10", |
| "Programming Language :: Python :: 3.11", |
| "Programming Language :: Python :: 3.12", |
| "Topic :: Software Development :: Testing", |
| "Topic :: System :: Benchmark", |
| ] |
| |
| dynamic = ["readme", "version"] |
| |
| dependencies = ["absl-py>=0.7.1"] |
| |
| [project.optional-dependencies] |
| dev = ["pre-commit>=3.3.3"] |
| |
| [project.urls] |
| Homepage = "https://github.com/google/benchmark" |
| Documentation = "https://github.com/google/benchmark/tree/main/docs" |
| Repository = "https://github.com/google/benchmark.git" |
| Discord = "https://discord.gg/cz7UX7wKC2" |
| |
| [tool.setuptools] |
| package-dir = { "" = "bindings/python" } |
| zip-safe = false |
| |
| [tool.setuptools.packages.find] |
| where = ["bindings/python"] |
| |
| [tool.setuptools.dynamic] |
| readme = { file = "README.md", content-type = "text/markdown" } |
| version = { attr = "google_benchmark.__version__" } |
| |
| [tool.mypy] |
| check_untyped_defs = true |
| disallow_incomplete_defs = true |
| pretty = true |
| python_version = "3.11" |
| strict_optional = false |
| warn_unreachable = true |
| |
| [[tool.mypy.overrides]] |
| module = ["yaml"] |
| ignore_missing_imports = true |
| |
| [tool.ruff] |
| # explicitly tell ruff the source directory to correctly identify first-party package. |
| src = ["bindings/python"] |
| |
| line-length = 80 |
| target-version = "py311" |
| |
| [tool.ruff.lint] |
| # Enable pycodestyle (`E`, `W`), Pyflakes (`F`), and isort (`I`) codes by default. |
| select = ["E", "F", "I", "W"] |
| ignore = [ |
| "E501", # line too long |
| ] |
| |
| [tool.ruff.lint.isort] |
| combine-as-imports = true |