1{
2 lib,
3 buildPythonPackage,
4 fetchFromGitHub,
5 pythonOlder,
6 setuptools,
7 spglib,
8 numpy,
9 scipy,
10 h5py,
11 pymatgen,
12 phonopy,
13 matplotlib,
14 seekpath,
15 castepxbin,
16 colormath,
17 importlib-resources,
18 pytestCheckHook,
19}:
20
21buildPythonPackage rec {
22 pname = "sumo";
23 version = "2.3.12";
24 pyproject = true;
25
26 disabled = pythonOlder "3.8";
27
28 src = fetchFromGitHub {
29 owner = "SMTG-UCL";
30 repo = "sumo";
31 tag = "v${version}";
32 hash = "sha256-OdoXcdLT/mTkSw/JOrpYjgvUiNLOnBI4avrjrXhzF3U=";
33 };
34
35 build-system = [
36 setuptools
37 ];
38
39 dependencies = [
40 spglib
41 numpy
42 scipy
43 h5py
44 pymatgen
45 phonopy
46 matplotlib
47 seekpath
48 castepxbin
49 colormath
50 importlib-resources
51 ];
52
53 nativeCheckInputs = [
54 pytestCheckHook
55 ];
56
57 pythonImportsCheck = [ "sumo" ];
58
59 meta = {
60 description = "Toolkit for plotting and analysis of ab initio solid-state calculation data";
61 homepage = "https://github.com/SMTG-UCL/sumo";
62 changelog = "https://github.com/SMTG-Bham/sumo/releases/tag/${src.tag}";
63 license = lib.licenses.mit;
64 maintainers = with lib.maintainers; [ psyanticy ];
65 };
66}