1{
2 lib,
3 stdenv,
4 fetchPypi,
5 buildPythonPackage,
6 isPy27,
7 pythonAtLeast,
8 setuptools,
9 numpy,
10 scipy,
11 matplotlib,
12 flask,
13 pillow,
14 psycopg2,
15 tkinter,
16 pytestCheckHook,
17 pytest-mock,
18 pytest-xdist,
19}:
20
21buildPythonPackage rec {
22 pname = "ase";
23 version = "3.23.0";
24 pyproject = true;
25
26 disabled = isPy27;
27
28 src = fetchPypi {
29 inherit pname version;
30 hash = "sha256-kaKqMdib2QsO/f5KfoQmTzKCiyq/yfOOZeBBrXb+yK4=";
31 };
32
33 build-system = [ setuptools ];
34
35 dependencies = [
36 numpy
37 scipy
38 matplotlib
39 flask
40 pillow
41 psycopg2
42 ] ++ lib.optionals stdenv.isDarwin [
43 tkinter
44 ];
45
46 nativeCheckInputs = [
47 pytestCheckHook
48 pytest-mock
49 pytest-xdist
50 ];
51
52 disabledTests = [
53 "test_fundamental_params"
54 "test_ase_bandstructure"
55 "test_imports"
56 "test_units"
57 "test_favicon"
58 "test_vibrations_methods" # missing attribute
59 "test_jmol_roundtrip" # missing attribute
60 "test_pw_input_write_nested_flat" # Did not raise DeprecationWarning
61 "test_fix_scaled" # Did not raise UserWarning
62 ] ++ lib.optionals (pythonAtLeast "3.12") [ "test_info_calculators" ];
63
64 preCheck = ''
65 export PATH="$out/bin:$PATH"
66 '';
67
68 pythonImportsCheck = [ "ase" ];
69
70 meta = with lib; {
71 description = "Atomic Simulation Environment";
72 homepage = "https://wiki.fysik.dtu.dk/ase/";
73 license = licenses.lgpl21Plus;
74 maintainers = [ ];
75 };
76}