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.6";
17 pyproject = true;
18
19 disabled = pythonOlder "3.7";
20
21 src = fetchFromGitHub {
22 owner = "mhostetter";
23 repo = "galois";
24 tag = "v${version}";
25 hash = "sha256-KMCShC3oZCPk87rxCYuwdSNXy0i20IQ1gzL9nFqgn0Q=";
26 };
27
28 pythonRelaxDeps = [
29 "numpy"
30 "numba"
31 ];
32
33 build-system = [ setuptools-scm ];
34
35 dependencies = [
36 numpy
37 numba
38 typing-extensions
39 ];
40
41 nativeCheckInputs = [
42 pytestCheckHook
43 pytest-xdist
44 ];
45
46 pythonImportsCheck = [ "galois" ];
47
48 meta = with lib; {
49 description = "Python package that extends NumPy arrays to operate over finite fields";
50 homepage = "https://github.com/mhostetter/galois";
51 changelog = "https://github.com/mhostetter/galois/releases/tag/${src.tag}";
52 downloadPage = "https://github.com/mhostetter/galois/releases/tag/v${version}";
53 license = licenses.mit;
54 maintainers = with maintainers; [ chrispattison ];
55 };
56}