20 buildPythonPackage rec {
25 disabled = pythonOlder "3.8";
27 src = fetchFromGitHub {
30 rev = "refs/tags/v${version}";
31 hash = "sha256-wQSrdAS4E6AmpP+pKviFomLrcSHLROhTWHg/hYGTaeQ=";
37 ruff = lib.getExe ruff;
42 substituteInPlace pyproject.toml \
43 --replace-fail "--benchmark-skip" ""
46 build-system = [ setuptools ];
48 dependencies = [ typing-extensions ];
50 optional-dependencies = {
64 ] ++ optional-dependencies.cli ++ optional-dependencies.lxml ++ optional-dependencies.soap;
66 disabledTestPaths = [ "tests/integration/benchmarks" ];
68 pythonImportsCheck = [
69 "xsdata.formats.dataclass.context"
70 "xsdata.formats.dataclass.models.elements"
71 "xsdata.formats.dataclass.models.generics"
72 "xsdata.formats.dataclass.parsers"
73 "xsdata.formats.dataclass.parsers.handlers"
74 "xsdata.formats.dataclass.parsers.nodes"
75 "xsdata.formats.dataclass.serializers"
76 "xsdata.formats.dataclass.serializers.config"
77 "xsdata.formats.dataclass.serializers.mixins"
78 "xsdata.formats.dataclass.serializers.writers"
79 "xsdata.models.config"
84 description = "Naive XML & JSON bindings for Python";
85 mainProgram = "xsdata";
86 homepage = "https://github.com/tefra/xsdata";
87 changelog = "https://github.com/tefra/xsdata/blob/${src.rev}/CHANGES.md";
88 license = lib.licenses.mit;
89 maintainers = with lib.maintainers; [ dotlambda ];