1{
2 lib,
3 buildPythonPackage,
4 fetchFromGitHub,
5 setuptools,
6 mpi4py,
7 pytest,
8 pytestCheckHook,
9 mpiCheckPhaseHook,
10}:
11
12buildPythonPackage rec {
13 pname = "mpi-pytest";
14 version = "2025.7";
15 pyproject = true;
16
17 src = fetchFromGitHub {
18 owner = "firedrakeproject";
19 repo = "mpi-pytest";
20 tag = "v${version}";
21 hash = "sha256-TZj1hObMVzYfAUC0UjXMvUThbKCNdiB1FMSA0AHjZ9s=";
22 };
23
24 build-system = [
25 setuptools
26 ];
27
28 dependencies = [
29 mpi4py
30 pytest
31 ];
32
33 pythonImportsCheck = [
34 "pytest_mpi"
35 ];
36
37 nativeCheckInputs = [
38 pytestCheckHook
39 mpiCheckPhaseHook
40 mpi4py.mpi
41 ];
42
43 __darwinAllowLocalNetworking = true;
44
45 meta = {
46 homepage = "https://github.com/firedrakeproject/mpi-pytest";
47 description = "Pytest plugin that lets you run tests in parallel with MPI";
48 changelog = "https://github.com/firedrakeproject/mpi-pytest/releases/tag/${src.tag}";
49 license = lib.licenses.lgpl3Plus;
50 maintainers = with lib.maintainers; [ qbisi ];
51 };
52}