1{
2 lib,
3 buildPythonPackage,
4 setuptools-scm,
5 pythonOlder,
6 fetchFromGitHub,
7 pytestCheckHook,
8 pytest-xdist,
9 numpy,
10 numba,
11 typing-extensions,
12}:
13
14buildPythonPackage rec {
15 pname = "galois";
16 version = "0.4.1";
17 format = "pyproject";
18
19 disabled = pythonOlder "3.7";
20
21 src = fetchFromGitHub {
22 owner = "mhostetter";
23 repo = "galois";
24 rev = "refs/tags/v${version}";
25 hash = "sha256-ZNVBP/c1Q7635PbySk5Yxz7riYNLnBnJLG6AMxy/ZeA=";
26 };
27
28 nativeBuildInputs = [
29 setuptools-scm
30 ];
31
32 propagatedBuildInputs = [
33 numpy
34 numba
35 typing-extensions
36 ];
37
38 nativeCheckInputs = [
39 pytestCheckHook
40 pytest-xdist
41 ];
42
43 pythonRelaxDeps = [
44 "numpy"
45 "numba"
46 ];
47
48 pythonImportsCheck = [ "galois" ];
49
50 meta = with lib; {
51 description = "Python package that extends NumPy arrays to operate over finite fields";
52 homepage = "https://github.com/mhostetter/galois";
53 changelog = "https://github.com/mhostetter/galois/releases/tag/v${version}";
54 downloadPage = "https://github.com/mhostetter/galois/releases/tag/v${version}";
55 license = licenses.mit;
56 maintainers = with maintainers; [ chrispattison ];
57 };
58}