1{ 2 stdenv, 3 buildPythonPackage, 4 lib, 5 fetchPypi, 6 poetry-core, 7 ipykernel, 8 networkx, 9 numpy, 10 packaging, 11 pint, 12 pydantic, 13 pytestCheckHook, 14 pythonOlder, 15 scipy, 16}: 17 18buildPythonPackage rec { 19 pname = "qcelemental"; 20 version = "0.29.0"; 21 pyproject = true; 22 23 disabled = pythonOlder "3.7"; 24 25 src = fetchPypi { 26 inherit pname version; 27 hash = "sha256-v2NO5lLn2V6QbikZiVEyJCM7HXBcJq/qyG5FHzFrPAQ="; 28 }; 29 30 build-system = [ poetry-core ]; 31 32 dependencies = [ 33 numpy 34 packaging 35 pint 36 pydantic 37 ]; 38 39 optional-dependencies = { 40 viz = [ 41 # TODO: nglview 42 ipykernel 43 ]; 44 align = [ 45 networkx 46 scipy 47 ]; 48 }; 49 50 nativeCheckInputs = [ pytestCheckHook ] ++ lib.flatten (lib.attrValues optional-dependencies); 51 52 pythonImportsCheck = [ "qcelemental" ]; 53 54 meta = with lib; { 55 broken = stdenv.hostPlatform.isDarwin; 56 description = "Periodic table, physical constants and molecule parsing for quantum chemistry"; 57 homepage = "https://github.com/MolSSI/QCElemental"; 58 changelog = "https://github.com/MolSSI/QCElemental/blob/v${version}/docs/changelog.rst"; 59 license = licenses.bsd3; 60 maintainers = with maintainers; [ sheepforce ]; 61 }; 62}