19 buildPythonPackage rec {
24 disabled = pythonOlder "3.8";
26 src = fetchFromGitHub {
29 rev = "refs/tags/v${version}";
30 hash = "sha256-o3G0isXShwNHaOiA4TNml0IhStB3X4jB9CgrVKViBlY=";
36 ruff = lib.getExe ruff;
41 substituteInPlace pyproject.toml \
42 --replace "--benchmark-skip" ""
49 propagatedBuildInputs = [
53 passthru.optional-dependencies = {
71 ] ++ passthru.optional-dependencies.cli
72 ++ passthru.optional-dependencies.lxml
73 ++ passthru.optional-dependencies.soap;
76 "tests/integration/benchmarks"
79 pythonImportsCheck = [
80 "xsdata.formats.dataclass.context"
81 "xsdata.formats.dataclass.models.elements"
82 "xsdata.formats.dataclass.models.generics"
83 "xsdata.formats.dataclass.parsers"
84 "xsdata.formats.dataclass.parsers.handlers"
85 "xsdata.formats.dataclass.parsers.nodes"
86 "xsdata.formats.dataclass.serializers"
87 "xsdata.formats.dataclass.serializers.config"
88 "xsdata.formats.dataclass.serializers.mixins"
89 "xsdata.formats.dataclass.serializers.writers"
90 "xsdata.models.config"
95 description = "Naive XML & JSON bindings for Python";
96 mainProgram = "xsdata";
97 homepage = "https://github.com/tefra/xsdata";
98 changelog = "https://github.com/tefra/xsdata/blob/${src.rev}/CHANGES.md";
99 license = lib.licenses.mit;
100 maintainers = with lib.maintainers; [ dotlambda ];