1{ 2 lib, 3 stdenv, 4 buildPythonPackage, 5 fetchFromGitLab, 6 setuptools, 7 setuptools-scm, 8 attrs, 9 attrs-strict, 10 dateutils, 11 deprecated, 12 hypothesis, 13 iso8601, 14 typing-extensions, 15 click, 16 dulwich, 17 aiohttp, 18 pytestCheckHook, 19 pytz, 20 types-click, 21 types-python-dateutil, 22 types-pytz, 23 types-deprecated, 24 25}: 26 27buildPythonPackage rec { 28 pname = "swh-model"; 29 version = "7.1.0"; 30 pyproject = true; 31 32 src = fetchFromGitLab { 33 domain = "gitlab.softwareheritage.org"; 34 group = "swh"; 35 owner = "devel"; 36 repo = "swh-model"; 37 tag = "v${version}"; 38 hash = "sha256-I0DaSipE5TVFqAdGkNo4e66l1x4A26EYk0F4tKMy33k="; 39 }; 40 41 build-system = [ 42 setuptools 43 setuptools-scm 44 ]; 45 46 dependencies = [ 47 attrs 48 attrs-strict 49 click 50 dulwich 51 dateutils 52 deprecated 53 hypothesis 54 iso8601 55 typing-extensions 56 ]; 57 58 pythonImportsCheck = [ "swh.model" ]; 59 60 nativeCheckInputs = [ 61 aiohttp 62 click 63 pytestCheckHook 64 pytz 65 types-click 66 types-python-dateutil 67 types-pytz 68 types-deprecated 69 ]; 70 71 pytestFlagsArray = lib.optionals (stdenv.hostPlatform.isDarwin) [ 72 # OSError: [Errno 92] Illegal byte sequence 73 "--deselect swh/model/tests/test_cli.py::TestIdentify::test_exclude" 74 "--deselect swh/model/tests/test_from_disk.py::DirectoryToObjects::test_exclude" 75 "--deselect swh/model/tests/test_from_disk.py::DirectoryToObjects::test_exclude_trailing" 76 ]; 77 78 meta = { 79 description = "Implementation of the Data model of the Software Heritage project, used to archive source code artifacts"; 80 homepage = "https://gitlab.softwareheritage.org/swh/devel/swh-model"; 81 license = lib.licenses.gpl3Only; 82 maintainers = with lib.maintainers; [ drupol ]; 83 }; 84}