mirror of
https://github.com/google/benchmark.git
synced 2025-01-14 22:00:33 +08:00
b93f5a5929
* Add pre-commit config and GitHub Actions job Contains the following hooks: * buildifier - for formatting and linting Bazel files. * mypy, ruff, isort, black - for Python typechecking, import hygiene, static analysis, and formatting. The pylint CI job was changed to be a pre-commit CI job, where pre-commit is bootstrapped via Python. Pylint is currently no longer part of the code checks, but can be re-added if requested. The reason to drop was that it does not play nicely with pre-commit, and lots of its functionality and responsibilities are actually covered in ruff. * Add dev extra to pyproject.toml for development installs * Clarify that pre-commit contains only Python and Bazel hooks * Add one-line docstrings to Bazel modules * Apply buildifier pre-commit fixes to Bazel files * Apply pre-commit fixes to Python files * Supply --profile=black to isort to prevent conflicts * Fix nanobind build file formatting * Add tooling configs to `pyproject.toml` In particular, set line length 80 for all Python files. * Reformat all Python files to line length 80, fix return type annotations Also ignores the `tools/compare.py` and `tools/gbench/report.py` files for mypy, since they emit a barrage of errors which we can deal with later. The errors are mostly related to dynamic classmethod definition.
20 lines
338 B
Python
20 lines
338 B
Python
load("@tools_pip_deps//:requirements.bzl", "requirement")
|
|
|
|
py_library(
|
|
name = "gbench",
|
|
srcs = glob(["gbench/*.py"]),
|
|
deps = [
|
|
requirement("numpy"),
|
|
requirement("scipy"),
|
|
],
|
|
)
|
|
|
|
py_binary(
|
|
name = "compare",
|
|
srcs = ["compare.py"],
|
|
python_version = "PY3",
|
|
deps = [
|
|
":gbench",
|
|
],
|
|
)
|