at 24.05-pre 1.9 kB view raw
1{ lib 2, buildPythonPackage 3, pythonOlder 4, fetchPypi 5, click 6, click-default-group 7, docformatter 8, jinja2 9, toposort 10, typing-extensions 11, lxml 12, requests 13, pytestCheckHook 14, setuptools 15, wheel 16}: 17 18buildPythonPackage rec { 19 pname = "xsdata"; 20 version = "23.8"; 21 format = "pyproject"; 22 23 disabled = pythonOlder "3.8"; 24 25 src = fetchPypi { 26 inherit pname version; 27 hash = "sha256-VfA9TIgjbwRyZq/+VQug3RlHat/OagHz4K76x8gHjlY="; 28 }; 29 30 postPatch = '' 31 substituteInPlace pyproject.toml \ 32 --replace "--benchmark-skip" "" 33 ''; 34 35 nativeBuildInputs = [ 36 setuptools 37 wheel 38 ]; 39 40 propagatedBuildInputs = [ 41 typing-extensions 42 ]; 43 44 passthru.optional-dependencies = { 45 cli = [ 46 click 47 click-default-group 48 docformatter 49 jinja2 50 toposort 51 ]; 52 lxml = [ 53 lxml 54 ]; 55 soap = [ 56 requests 57 ]; 58 }; 59 60 nativeCheckInputs = [ 61 pytestCheckHook 62 ] ++ passthru.optional-dependencies.cli 63 ++ passthru.optional-dependencies.lxml 64 ++ passthru.optional-dependencies.soap; 65 66 disabledTestPaths = [ 67 "tests/integration/benchmarks" 68 ]; 69 70 pythonImportsCheck = [ 71 "xsdata.formats.dataclass.context" 72 "xsdata.formats.dataclass.models.elements" 73 "xsdata.formats.dataclass.models.generics" 74 "xsdata.formats.dataclass.parsers" 75 "xsdata.formats.dataclass.parsers.handlers" 76 "xsdata.formats.dataclass.parsers.nodes" 77 "xsdata.formats.dataclass.serializers" 78 "xsdata.formats.dataclass.serializers.config" 79 "xsdata.formats.dataclass.serializers.mixins" 80 "xsdata.formats.dataclass.serializers.writers" 81 "xsdata.models.config" 82 "xsdata.utils.text" 83 ]; 84 85 meta = { 86 description = "Python XML Binding"; 87 homepage = "https://github.com/tefra/xsdata"; 88 changelog = "https://github.com/tefra/xsdata/blob/v${version}/CHANGES.rst"; 89 license = lib.licenses.mit; 90 maintainers = with lib.maintainers; [ dotlambda ]; 91 }; 92}