diff --git a/pkgs/development/python-modules/pytest-codspeed/default.nix b/pkgs/development/python-modules/pytest-codspeed/default.nix new file mode 100644 index 000000000000..f8c88f44065f --- /dev/null +++ b/pkgs/development/python-modules/pytest-codspeed/default.nix @@ -0,0 +1,65 @@ +{ + lib, + buildPythonPackage, + cffi, + fetchFromGitHub, + filelock, + hatchling, + importlib-metadata, + pytest-benchmark, + pytest-cov-stub, + pytest-xdist, + pytest, + pytestCheckHook, + rich, + semver, + setuptools, +}: + +buildPythonPackage rec { + pname = "pytest-codspeed"; + version = "3.0.0"; + pyproject = true; + + src = fetchFromGitHub { + owner = "CodSpeedHQ"; + repo = "pytest-codspeed"; + rev = "refs/tags/v${version}"; + hash = "sha256-06U7S0hRb0J4hO48DaKMQk8Uzl2rUi1thQ4lGorfqpU="; + }; + + build-system = [ hatchling ]; + + buildInput = [ pytest ]; + + dependencies = [ + cffi + filelock + importlib-metadata + rich + setuptools + ]; + + optional-dependencies = { + compat = [ + pytest-benchmark + pytest-xdist + ]; + }; + + nativeCheckInputs = [ + semver + pytest-cov-stub + pytestCheckHook + ]; + + pythonImportsCheck = [ "pytest_codspeed" ]; + + meta = { + description = "Pytest plugin to create CodSpeed benchmarks"; + homepage = "https://github.com/CodSpeedHQ/pytest-codspeed"; + changelog = "https://github.com/CodSpeedHQ/pytest-codspeed/releases/tag/v${version}"; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ fab ]; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index e53234d8bec6..5f59408d2298 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -12657,6 +12657,8 @@ self: super: with self; { pytest-click = callPackage ../development/python-modules/pytest-click { }; + pytest-codspeed = callPackage ../development/python-modules/pytest-codspeed { }; + pytest-console-scripts = callPackage ../development/python-modules/pytest-console-scripts { }; pytest-cov = callPackage ../development/python-modules/pytest-cov { };