Skip to main content

PolyXML Python Bindings

High-performance native XML data-binding engine for Python dataclasses and Pydantic models.

Powered by polyxml-core written in Rust and PyO3 (abi3-py312).

Features

  • ⚡ Blazing Fast: 16x faster deserialization and 38x faster serialization than standard Python tools.
  • 🌊 Streaming iterparse(): Parse multi-gigabyte XML files with O(1) constant memory (<5 MB RAM).
  • 📦 Zero-GIL Binary Serialization: Native dumps_binary() and loads_binary() using MessagePack (msgspec), up to 12.4x faster than pickle.
  • 🎯 Full Type Support: Dataclasses and Pydantic v2 models with zero boilerplate.

Quickstart

from dataclasses import dataclass, field
import polyxml

@dataclass
class Item:
    id: int = field(metadata={"type": "Attribute"})
    name: str = field(metadata={"type": "Element"})

# 1. XML Deserialization
item = polyxml.deserialize(b'<Item id="1"><name>Gadget</name></Item>', Item)

# 2. XML Serialization
xml = polyxml.serialize(item, indent=2)

# 3. High-Speed Binary Serialization (Key-Value databases / IPC)
blob = polyxml.dumps_binary(item)
restored = polyxml.loads_binary(blob, Item)

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

polyxml-0.8.0.tar.gz (34.3 kB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

polyxml-0.8.0-cp312-abi3-win_amd64.whl (221.1 kB view details)

Uploaded CPython 3.12+Windows x86-64

polyxml-0.8.0-cp312-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (326.7 kB view details)

Uploaded CPython 3.12+manylinux: glibc 2.17+ x86-64

polyxml-0.8.0-cp312-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (318.7 kB view details)

Uploaded CPython 3.12+manylinux: glibc 2.17+ ARM64

polyxml-0.8.0-cp312-abi3-macosx_11_0_arm64.whl (290.3 kB view details)

Uploaded CPython 3.12+macOS 11.0+ ARM64

polyxml-0.8.0-cp312-abi3-macosx_10_12_x86_64.whl (302.2 kB view details)

Uploaded CPython 3.12+macOS 10.12+ x86-64

File details

Details for the file polyxml-0.8.0.tar.gz.

File metadata

  • Download URL: polyxml-0.8.0.tar.gz
  • Upload date:
  • Size: 34.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for polyxml-0.8.0.tar.gz
Algorithm Hash digest
SHA256 5f159f64d644acc3055f263a0eae86424de08b04e366b57b083b7272b2c647cb
MD5 12e98a0f47fdec593900fda4b6b6aa5e
BLAKE2b-256 c28fdc4b85547d562207998b963c80326c0a4654aea7fa8933e80e1e20d39494

See more details on using hashes here.

Provenance

The following attestation bundles were made for polyxml-0.8.0.tar.gz:

Publisher: release-pypi.yml on nth-bailey/PolyXML

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file polyxml-0.8.0-cp312-abi3-win_amd64.whl.

File metadata

  • Download URL: polyxml-0.8.0-cp312-abi3-win_amd64.whl
  • Upload date:
  • Size: 221.1 kB
  • Tags: CPython 3.12+, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for polyxml-0.8.0-cp312-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 f8a0c6339edb4f0adace7540ea37b2def663ba44643e695b83ea6cf4e8b95bf5
MD5 78414f826e7ec1605589ae7da5df4931
BLAKE2b-256 dd1a0285d2a4eda6b1f177858e03459c4d9755f9de811cd4c357e92d1f0c2d90

See more details on using hashes here.

Provenance

The following attestation bundles were made for polyxml-0.8.0-cp312-abi3-win_amd64.whl:

Publisher: release-pypi.yml on nth-bailey/PolyXML

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file polyxml-0.8.0-cp312-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for polyxml-0.8.0-cp312-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 214488d41c94fb84423aee62f52f4c1ab954dafef589fcdbe3c432d26668d66b
MD5 87704575f3c1e9bea76926f72363ef6c
BLAKE2b-256 4678e64784669409552486a5b6ee7a9726f601edf0a33dab6a44d7dcc56f52e5

See more details on using hashes here.

Provenance

The following attestation bundles were made for polyxml-0.8.0-cp312-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: release-pypi.yml on nth-bailey/PolyXML

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file polyxml-0.8.0-cp312-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for polyxml-0.8.0-cp312-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 6df93dafb8340525f1625547e6ef8c930de9fc9ac78eb6fadd3ff39c209e2bc2
MD5 7b74e77ffcaafdb42399c48450fc7a47
BLAKE2b-256 fbc0b74c5782b6fb33f1b161343104f41d7f1776bc092c61cd9cd1f1eb077d72

See more details on using hashes here.

Provenance

The following attestation bundles were made for polyxml-0.8.0-cp312-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:

Publisher: release-pypi.yml on nth-bailey/PolyXML

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file polyxml-0.8.0-cp312-abi3-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for polyxml-0.8.0-cp312-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 3a4c18f6af83d8e3c46eb842428f5577474528fbefa5c094e861b050f986cba3
MD5 5c4ff99a82f881cac52aa09212f28908
BLAKE2b-256 a48db7dad58d94f60399ce7e0dff99bd9407cfc424c7494bd4b7ab37bc10f51d

See more details on using hashes here.

Provenance

The following attestation bundles were made for polyxml-0.8.0-cp312-abi3-macosx_11_0_arm64.whl:

Publisher: release-pypi.yml on nth-bailey/PolyXML

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file polyxml-0.8.0-cp312-abi3-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for polyxml-0.8.0-cp312-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 d2e32116e8cf02c23505d5985a5ae0289d850c10431511b9979c597d42b98d39
MD5 142d78c21ddf4aa9a60ba0afcff8cddb
BLAKE2b-256 a6bafd72491c69bf3d0c692f693286983e1c0496db2c4f317f17e541de79a67f

See more details on using hashes here.

Provenance

The following attestation bundles were made for polyxml-0.8.0-cp312-abi3-macosx_10_12_x86_64.whl:

Publisher: release-pypi.yml on nth-bailey/PolyXML

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

0.9.0

6 files

0.8.1

6 files

This release

0.8.0 This release

6 files

0.7.0

6 files

0.6.0

6 files

0.5.1

6 files

0.5.0

6 files

0.4.0

6 files

0.3.0

6 files

0.2.1

6 files

0.2.0

6 files

0.1.0

6 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page