$npx skillfedfor your agent

xsdata

Python XML Binding

Worth itPyPI Code GeneratorsReleased Feb 20263.5M downloads / moMITPure Python

Decision gist · record as of 2026-08-14

pure-Python wheel — xsdata-26.2-py3-none-any.whl
v26.2 · released 2026-02-15 · Python >=3.10 · 1 runtime deps: typing-extensions

Yes. xsdata is actively maintained, has no known vulnerabilities, installs with minimal friction, and solves a real problem for anyone working with XML schemas or WSDL in Python. The MIT license imposes no restrictions. It is suitable for production use in data binding, schema-driven code generation, and XML/JSON serialization workflows.AI-flagged interpretation of the facts on this page — verify before relying

Before you install

  • Requires Python 3.10 or later.
  • Optional CLI and SOAP support require additional dependencies (lxml, etc.).
  • Low friction: pure Python wheel with a single runtime dependency (typing-extensions).

License · maintenance · safety

MIT (permissive) — MIT license permits commercial and private use with minimal restrictions—you may use, modify, and distribute xsdata freely provided you retain the license notice.

last release 2026-02-15 (180 days) · last repo commit 2026-07-18 · 446 stars

0 known vulnerabilities (OSV.dev, 2026-08-14) · 3,481,970 downloads/mo, #2,606 on PyPI

Verify before relying

pip install xsdata

xsdata generate schema.xsd --package models

from xsdata.formats.dataclass.parsers import XmlParser

parser = XmlParser()
obj = parser.parse('data.xml', MyElement)
  • Performance characteristics when parsing or generating code for very large schemas or documents.
  • Completeness of W3C XML Schema 1.1 test suite coverage beyond the stated testing claim.
  • Whether generated dataclasses work seamlessly with type checkers and IDE autocomplete.
Same gist for agents: .md · .json

What it is and what it does

xsdata is a data binding library that bridges the gap between XML and JSON documents and Python code. It works in two phases: first, a code generator reads XML schemas, WSDL definitions, DTD files, or sample XML and JSON documents and produces strongly-typed Python dataclasses with metadata; second, optimized parsers and serializers let you load and save those documents as instances of the generated classes, avoiding manual DOM manipulation.

The library targets developers who work with structured XML or JSON data and want type safety. It includes a CLI tool for code generation, supports namespace-qualified elements and attributes, handles wildcards and xinclude statements, and offers multiple handler backends. The generated code is pure Python with type hints, making it compatible with modern tooling.

Use it for

  • Generate Python models from an existing XSD schema and parse XML documents into typed objects.
  • Convert WSDL service definitions into Python dataclasses for SOAP client integration.
  • Infer Python dataclasses directly from sample XML or JSON files without a formal schema.
  • Serialize Python objects back to XML or JSON with full namespace support.
  • Build tools that consume structured XML configuration or data files with type safety.

Worth the install?

AI-flagged interpretation of the facts on this page. Verify before relying on it.

Worth it

Yes.

xsdata is actively maintained, has no known vulnerabilities, installs with minimal friction, and solves a real problem for anyone working with XML schemas or WSDL in Python. The MIT license imposes no restrictions. It is suitable for production use in data binding, schema-driven code generation, and XML/JSON serialization workflows.

Install

xsdata on PyPI

Before you install

Low friction: pure Python wheel with a single runtime dependency (typing-extensions). The package is actively maintained with recent releases and no known vulnerabilities.

Requires Python 3.10 or later. Optional CLI and SOAP support require additional dependencies (lxml, etc.).

License in practice

MIT license permits commercial and private use with minimal restrictions—you may use, modify, and distribute xsdata freely provided you retain the license notice.

Quickstart

pip install xsdata

xsdata generate schema.xsd --package models

from xsdata.formats.dataclass.parsers import XmlParser

parser = XmlParser()
obj = parser.parse('data.xml', MyElement)

Verify before relying

  • Performance characteristics when parsing or generating code for very large schemas or documents.
  • Completeness of W3C XML Schema 1.1 test suite coverage beyond the stated testing claim.
  • Whether generated dataclasses work seamlessly with type checkers and IDE autocomplete.

Package facts

LicenseMIT permissive
Python supportSupports the current Python release >=3.10
Install frictionLow. Pure-Python wheel
Runtime dependencies
1 package
typing-extensions
MaintenanceActively maintained 180 days since the last release
Last repo commit
First released
Downloads3,481,970 / month, #2,606 on PyPI 30-day window, as of 2026-08-14
Known vulnerabilitiesNone known OSV.dev, checked 2026-08-14
Classifiers
Intended Audience :: DevelopersOperating System :: OS IndependentProgramming Language :: PythonProgramming Language :: Python :: 3Programming Language :: Python :: 3 :: OnlyProgramming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.14Programming Language :: Python :: Implementation :: CPythonProgramming Language :: Python :: Implementation :: PyPyTopic :: Software Development :: Code GeneratorsTopic :: Text Processing :: Markup :: XML

Evidence: xsdata-26.2-py3-none-any.whl

Tags

Capabilities
xml schema to python dataclassxml binding librarywsdl code generatorxml json parser serializerdtd to dataclassxml data bindingschema-driven code generation
Topics
code-generationxml-bindingschema-driven
PyPI keywords
xsdwsdlschemadtdbindingxmljsondataclassesgeneratorcli

Let your AI agent find packages like this

Example. Real query, live index.

You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.

wish › “xml schema to python dataclass”

  • xsdataxsdata generates Python dataclasses from XML schemas, WSDL, DTD, and…
  • datamodel-code-generatorGenerates Python data models (Pydantic, dataclasses, TypedDict,…
  • warchant_dc_schemaGenerates JSON Schema (2020-12 draft) from Python dataclasses with no…

Give your agent the search over MCP, or paste the wish link into any chat.

More Code Generators packages

proto-plus Worth it
PyPI · Python Modules · released Aug 2026

Proto Plus wraps protocol buffers to provide Python classes that behave like native Python types while maintaining protocol buffer serialization and schema validation.

Install it if you're working with protocol buffers in Python and want a more Pythonic interface, or if you're using Google Cloud libraries that depend on it.

Apache-2.0pure Python · 3.10+
343.8Mdownloads / mo
Cython Worth it
PyPI · Python Modules · released Jul 2026

Cython is a source code translator that compiles Python code to C, enabling optional static typing and direct C/C++ interoperability to generate efficient native extensions.

Install it if you need to optimize Python performance, wrap C/C++ libraries, or build fast native extensions.

permissive licensepure Python · 3.8+
136.1Mdownloads / mo
asttokens Worth it
PyPI · Python Modules · released Jul 2026

Annotates Python abstract syntax trees with the positions of tokens and source code text, enabling tools to map AST nodes back to their originating code for refactoring, analysis, and transformation.

permissive licensepure Python · 3.8+
134.8Mdownloads / mo
beartype Worth it
PyPI · Python Modules · released Dec 2025

Beartype is a runtime type checker that validates Python type hints at function call time, catching type violations before they cause downstream bugs.

Install it if you want runtime type safety for your annotated code or need to validate type hints on third-party packages.

MITpure Python · 3.10+
99.1Mdownloads / mo
llvmlite With conditions
PyPI · Code Generators · released Aug 2026

llvmlite provides a lightweight Python binding to LLVM's IR builder, optimizer, and JIT compiler APIs, enabling you to write JIT compilers and code generators without needing the full LLVM C++ API surface.

BSD-2-Clause AND Apache-2.0 WITH LLVM-exceptioncompiled wheel · 3.10+
69.3Mdownloads / mo
astor Worth it
PyPI · Code Generators · released Dec 2019

astor converts Python abstract syntax trees (ASTs) back to readable source code and provides tools for AST manipulation, inspection, and non-recursive tree traversal.

Install it if you need AST round-tripping or advanced tree inspection.

BSD-3-Clausepure Python
20.0Mdownloads / mo

See also xsdata-pydantic · PyXB-X · xml-python · xmlschema · cybox · xmlunittest · ome-types · sepaxml · lxml · pydantic-xml