2 requires = ["setuptools", "setuptools-scm[toml]", "wheel"]
3 build-backend = "setuptools.build_meta"
6 name = "google_benchmark"
7 description = "A library to benchmark code snippets."
8 requires-python = ">=3.8"
9 license = {file = "LICENSE"}
10 keywords = ["benchmark"]
13 {name = "Google", email = "benchmark-discuss@googlegroups.com"},
17 "Development Status :: 4 - Beta",
18 "Intended Audience :: Developers",
19 "Intended Audience :: Science/Research",
20 "License :: OSI Approved :: Apache Software License",
21 "Programming Language :: Python :: 3.8",
22 "Programming Language :: Python :: 3.9",
23 "Programming Language :: Python :: 3.10",
24 "Programming Language :: Python :: 3.11",
25 "Programming Language :: Python :: 3.12",
26 "Topic :: Software Development :: Testing",
27 "Topic :: System :: Benchmark",
30 dynamic = ["readme", "version"]
36 [project.optional-dependencies]
42 Homepage = "https://github.com/google/benchmark"
43 Documentation = "https://github.com/google/benchmark/tree/main/docs"
44 Repository = "https://github.com/google/benchmark.git"
45 Discord = "https://discord.gg/cz7UX7wKC2"
48 package-dir = {"" = "bindings/python"}
51 [tool.setuptools.packages.find]
52 where = ["bindings/python"]
54 [tool.setuptools.dynamic]
55 readme = { file = "README.md", content-type = "text/markdown" }
60 check_untyped_defs = true
61 disallow_incomplete_defs = true
63 python_version = "3.11"
64 strict_optional = false
65 warn_unreachable = true
67 [[tool.mypy.overrides]]
69 ignore_missing_imports = true
72 # explicitly tell ruff the source directory to correctly identify first-party package.
73 src = ["bindings/python"]
76 target-version = "py311"
78 # Enable pycodestyle (`E`, `W`), Pyflakes (`F`), and isort (`I`) codes by default.
79 select = ["E", "F", "I", "W"]
81 "E501", # line too long
85 combine-as-imports = true