Skip to main content

High-performance Cython XML parser for Python — pugixml with a Pythonic API

Project description

pygixml

Python Versions PyPI version License: MIT Build Status Documentation Status GitHub Stars

A high-performance XML parser for Python based on Cython and pugixml. Fast parsing, full XPath 1.0 support, and a clean Pythonic API for reading, writing, and transforming XML.

📚 View Full Documentation


Why pygixml?

Speed, memory, and size. pygixml brings pugixml's battle-tested C++ parser directly to Python — with numbers that speak for themselves.

Parsing Performance (5 000 elements, 50 iterations)

Library Avg Time Speedup vs ElementTree
pygixml 0.0009 s 9.2× faster
lxml 0.0041 s 2.0× faster
ElementTree 0.0083 s 1.0× (baseline)

Memory Usage (5 000 elements, peak)

Library Peak Memory vs ElementTree
pygixml 0.67 MB 7.2× less
lxml 0.67 MB 7.2× less
ElementTree 4.84 MB 1.0×

Package Size

Library Installed Size vs lxml
pygixml 0.43 MB 12.7× smaller
lxml 5.48 MB 1.0×

All numbers from benchmarks/full_benchmark.py. See the Performance page for the full comparison across 6 XML sizes.

Features

  • Blazing-fast parsing — up to 14× faster than ElementTree
  • Low memory — 7× less than ElementTree, on par with lxml
  • Tiny footprint — 0.43 MB installed (12.7× smaller than lxml)
  • Full XPath 1.0 — complete query engine with all standard functions
  • Pythonic API — intuitive properties and methods, not a direct C++ mirror
  • Cross-platform — Windows, Linux, macOS
  • Text extraction — recursive text gathering with configurable joins
  • XML serialization — output with custom indentation
  • Node iteration — depth-first traversal of the entire document

Installation

# From PyPI
pip install pygixml

# Or from GitHub
pip install git+https://github.com/MohammadRaziei/pygixml.git

Quick Start

import pygixml

# Parse XML from string
xml = """
<library>
    <book id="1" category="fiction">
        <title>The Great Gatsby</title>
        <author>F. Scott Fitzgerald</author>
        <year>1925</year>
    </book>
    <book id="2" category="fiction">
        <title>1984</title>
        <author>George Orwell</author>
        <year>1949</year>
    </book>
</library>
"""

doc = pygixml.parse_string(xml)
root = doc.root                           # <library>

# Access children and attributes
book = root.child("book")
print(book.name)                          # book
print(book.attribute("id").value)         # 1
print(book.child("title").text())         # The Great Gatsby

# XPath queries
fiction = root.select_nodes("book[@category='fiction']")
print(f"Found {len(fiction)} fiction books")

# Create & save
doc = pygixml.XMLDocument()
root = doc.append_child("catalog")
root.append_child("item").set_value("Hello")
doc.save_file("output.xml")

Properties vs Methods

A quick reference so you don't get tripped up:

Properties (no ()) Methods (need ())
node.name, node.value, node.type node.child(name)
node.parent, node.next_sibling node.first_child()
node.xml, node.xpath node.append_child(name)
attr.name, attr.value node.set_value(v)
doc.root node.select_nodes(query)
node.first_attribute()
node.text()

Advanced Features

Text Content Extraction

import pygixml

xml = """
<root>
    <simple>Hello World</simple>
    <nested>
        <child>Child Text</child>
        More text
    </nested>
    <mixed>Text <b>with</b> mixed <i>content</i></mixed>
</root>
"""

doc = pygixml.parse_string(xml)
root = doc.root

# Direct text content of a child element
print(root.child("simple").text())                # Hello World

# Recursive text content (all descendant text joined)
nested = root.child("nested")
print(nested.text())                              # Child Text\nMore text
print(nested.text(join=" | "))                    # Child Text | More text

# Direct text only (non-recursive — immediate text children)
mixed = root.child("mixed")
print(mixed.text(recursive=False))                # Text

XML Serialization

import pygixml

doc = pygixml.XMLDocument()
root = doc.append_child("root")
root.append_child("item").set_value("content")

# Convenience property
print(root.xml)
# <root>
#   <item>content</item>
# </root>

# Custom indentation
print(root.to_string("    "))

Document Iteration

import pygixml

doc = pygixml.parse_string("<root><a/><b/></root>")

# Depth-first traversal of every node
for node in doc:
    print(f"{node.type:12s} {node.name}")
# document
# element       root
# element       a
# element       b

Node Identity

import pygixml

doc = pygixml.parse_string("<root><a/><b/></root>")
root = doc.root

a = root.child("a")
a2 = root.child("a")
print(a == a2)          # True — same underlying node
print(a.mem_id)         # Memory address for debugging

Modifying XML

import pygixml

doc = pygixml.parse_string("<person><name>John</name></person>")
root = doc.root

# Change text content
root.child("name").set_value("Jane")

# Rename an element
root.child("name").name = "full_name"

# Add children
root.append_child("age").set_value("30")

print(root.xml)
# <person>
#   <full_name>Jane</full_name>
#   <age>30</age>
# </person>

XPath Support

Full XPath 1.0 via pugixml's engine:

import pygixml

xml = """
<library>
    <book id="1" category="fiction">
        <title>The Great Gatsby</title>
        <author>F. Scott Fitzgerald</author>
        <year>1925</year>
        <price>12.99</price>
    </book>
    <book id="2" category="fiction">
        <title>1984</title>
        <author>George Orwell</author>
        <year>1949</year>
        <price>10.99</price>
    </book>
</library>
"""

doc = pygixml.parse_string(xml)
root = doc.root

# Select nodes
books = root.select_nodes("book")
print(f"Found {len(books)} books")

# Predicates
fiction = root.select_nodes("book[@category='fiction']")
print(f"Found {len(fiction)} fiction books")

# Single node
book = root.select_node("book[@id='2']")
if book:
    print(book.node.child("title").text())    # 1984

# Pre-compiled XPathQuery for repeated use
query = pygixml.XPathQuery("book[year > 1930]")
recent = query.evaluate_node_set(root)
print(f"Found {len(recent)} books published after 1930")

# Scalar evaluations
avg = pygixml.XPathQuery("sum(book/price) div count(book)").evaluate_number(root)
print(f"Average price: ${avg:.2f}")           # Average price: $11.99

has_orwell = pygixml.XPathQuery("book[author='George Orwell']").evaluate_boolean(root)
print(f"Has Orwell books: {has_orwell}")       # Has Orwell books: True

Supported XPath

Category Examples
Node selection //book, /library/book, book[1]
Attributes book[@id], book[@category='fiction']
Boolean ops and, or, not()
Comparisons =, !=, <, >, <=, >=
Math +, -, *, div, mod
Functions position(), last(), count(), sum(), string(), number()
Axes child::, attribute::, descendant::, ancestor::
Wildcards *, @*, node()

Core API

Class Purpose
XMLDocument Document-level operations: load, save, append-child
XMLNode Navigate, read, and modify individual nodes
XMLAttribute Attribute name and value access
XPathQuery Pre-compiled XPath queries for repeated evaluation
XPathNode Single XPath result (wraps a node or attribute)
XPathNodeSet Collection of XPath results

Module-level functions: parse_string(xml), parse_file(path).


Working with Text Content

pygixml automatically shadows pugixml's internal text-node structure so you can work with text intuitively, without manually managing text nodes.

Setting Text Content

When you set .value on an element, pygixml automatically creates or replaces the underlying text child:

item = root.append_child("item")
item.value = "Hello World"  # Automatically creates/replaces a text child
print(item.value)           # "Hello World"
print(item.xml)             # <item>Hello World</item>

Extracting Text Content

Use text() to extract all text from a subtree, including nested elements and mixed content:

doc = pygixml.parse_string('<root><a>Hi</a> and <b>Bye</b></root>')
print(doc.root.text())              # "Hi\nand\nBye"
print(doc.root.text(recursive=False)) # "\nand\n"
print(doc.root.text(join=" "))      # "Hi and Bye"

Benchmarks

Run the full benchmark suite on your machine:

# Full suite: parsing (6 sizes), memory (3 sizes), package size
python benchmarks/full_benchmark.py

# Legacy parsing-only benchmark
python benchmarks/benchmark_parsing.py

Compares pygixml against lxml and xml.etree.ElementTree. Results are printed as tables and saved to benchmarks/results/benchmark_full.json.


Documentation

📖 Full docs: https://mohammadraziei.github.io/pygixml/

  • Complete API reference
  • Installation guides for all platforms
  • Performance benchmarks and optimization tips
  • XPath 1.0 usage guide with examples
  • Real-world usage scenarios

License

MIT License — see LICENSE.

Enjoy pygixml? Star the repository to support the development: 👉 Star pygixml on GitHub


Acknowledgments

  • pugixml — Fast and lightweight C++ XML library
  • Cython — C extensions for Python
  • scikit-build — Modern Python build system

Project details


Download files

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

Source Distribution

pygixml-0.10.2.tar.gz (674.1 kB view details)

Uploaded Source

Built Distributions

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

pygixml-0.10.2-cp314-cp314t-win_amd64.whl (167.4 kB view details)

Uploaded CPython 3.14tWindows x86-64

pygixml-0.10.2-cp314-cp314t-win32.whl (141.7 kB view details)

Uploaded CPython 3.14tWindows x86

pygixml-0.10.2-cp314-cp314t-musllinux_1_2_x86_64.whl (1.2 MB view details)

Uploaded CPython 3.14tmusllinux: musl 1.2+ x86-64

pygixml-0.10.2-cp314-cp314t-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (172.5 kB view details)

Uploaded CPython 3.14tmanylinux: glibc 2.24+ x86-64manylinux: glibc 2.28+ x86-64

pygixml-0.10.2-cp314-cp314t-macosx_10_15_universal2.whl (284.8 kB view details)

Uploaded CPython 3.14tmacOS 10.15+ universal2 (ARM64, x86-64)

pygixml-0.10.2-cp314-cp314-win_amd64.whl (156.1 kB view details)

Uploaded CPython 3.14Windows x86-64

pygixml-0.10.2-cp314-cp314-win32.whl (133.3 kB view details)

Uploaded CPython 3.14Windows x86

pygixml-0.10.2-cp314-cp314-musllinux_1_2_x86_64.whl (1.2 MB view details)

Uploaded CPython 3.14musllinux: musl 1.2+ x86-64

pygixml-0.10.2-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (174.9 kB view details)

Uploaded CPython 3.14manylinux: glibc 2.24+ x86-64manylinux: glibc 2.28+ x86-64

pygixml-0.10.2-cp314-cp314-macosx_10_15_universal2.whl (280.3 kB view details)

Uploaded CPython 3.14macOS 10.15+ universal2 (ARM64, x86-64)

pygixml-0.10.2-cp313-cp313-win_amd64.whl (151.3 kB view details)

Uploaded CPython 3.13Windows x86-64

pygixml-0.10.2-cp313-cp313-win32.whl (130.2 kB view details)

Uploaded CPython 3.13Windows x86

pygixml-0.10.2-cp313-cp313-musllinux_1_2_x86_64.whl (1.2 MB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ x86-64

pygixml-0.10.2-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (174.7 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.24+ x86-64manylinux: glibc 2.28+ x86-64

pygixml-0.10.2-cp313-cp313-macosx_10_13_universal2.whl (278.8 kB view details)

Uploaded CPython 3.13macOS 10.13+ universal2 (ARM64, x86-64)

pygixml-0.10.2-cp312-cp312-win_amd64.whl (151.8 kB view details)

Uploaded CPython 3.12Windows x86-64

pygixml-0.10.2-cp312-cp312-win32.whl (130.6 kB view details)

Uploaded CPython 3.12Windows x86

pygixml-0.10.2-cp312-cp312-musllinux_1_2_x86_64.whl (1.2 MB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ x86-64

pygixml-0.10.2-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (175.0 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.24+ x86-64manylinux: glibc 2.28+ x86-64

pygixml-0.10.2-cp312-cp312-macosx_10_13_universal2.whl (280.3 kB view details)

Uploaded CPython 3.12macOS 10.13+ universal2 (ARM64, x86-64)

pygixml-0.10.2-cp311-cp311-win_amd64.whl (151.6 kB view details)

Uploaded CPython 3.11Windows x86-64

pygixml-0.10.2-cp311-cp311-win32.whl (130.2 kB view details)

Uploaded CPython 3.11Windows x86

pygixml-0.10.2-cp311-cp311-musllinux_1_2_x86_64.whl (1.2 MB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ x86-64

pygixml-0.10.2-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (177.0 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.24+ x86-64manylinux: glibc 2.28+ x86-64

pygixml-0.10.2-cp311-cp311-macosx_10_9_universal2.whl (279.5 kB view details)

Uploaded CPython 3.11macOS 10.9+ universal2 (ARM64, x86-64)

pygixml-0.10.2-cp310-cp310-win_amd64.whl (151.6 kB view details)

Uploaded CPython 3.10Windows x86-64

pygixml-0.10.2-cp310-cp310-win32.whl (130.2 kB view details)

Uploaded CPython 3.10Windows x86

pygixml-0.10.2-cp310-cp310-musllinux_1_2_x86_64.whl (1.2 MB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ x86-64

pygixml-0.10.2-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (176.9 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.24+ x86-64manylinux: glibc 2.28+ x86-64

pygixml-0.10.2-cp310-cp310-macosx_10_9_universal2.whl (279.8 kB view details)

Uploaded CPython 3.10macOS 10.9+ universal2 (ARM64, x86-64)

pygixml-0.10.2-cp39-cp39-win_amd64.whl (152.1 kB view details)

Uploaded CPython 3.9Windows x86-64

pygixml-0.10.2-cp39-cp39-win32.whl (130.6 kB view details)

Uploaded CPython 3.9Windows x86

pygixml-0.10.2-cp39-cp39-musllinux_1_2_x86_64.whl (1.2 MB view details)

Uploaded CPython 3.9musllinux: musl 1.2+ x86-64

pygixml-0.10.2-cp39-cp39-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (177.5 kB view details)

Uploaded CPython 3.9manylinux: glibc 2.24+ x86-64manylinux: glibc 2.28+ x86-64

pygixml-0.10.2-cp39-cp39-macosx_10_9_universal2.whl (281.1 kB view details)

Uploaded CPython 3.9macOS 10.9+ universal2 (ARM64, x86-64)

pygixml-0.10.2-cp38-cp38-win_amd64.whl (145.6 kB view details)

Uploaded CPython 3.8Windows x86-64

pygixml-0.10.2-cp38-cp38-win32.whl (124.2 kB view details)

Uploaded CPython 3.8Windows x86

pygixml-0.10.2-cp38-cp38-musllinux_1_2_x86_64.whl (1.2 MB view details)

Uploaded CPython 3.8musllinux: musl 1.2+ x86-64

pygixml-0.10.2-cp38-cp38-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (168.2 kB view details)

Uploaded CPython 3.8manylinux: glibc 2.24+ x86-64manylinux: glibc 2.28+ x86-64

pygixml-0.10.2-cp38-cp38-macosx_10_9_universal2.whl (277.0 kB view details)

Uploaded CPython 3.8macOS 10.9+ universal2 (ARM64, x86-64)

File details

Details for the file pygixml-0.10.2.tar.gz.

File metadata

  • Download URL: pygixml-0.10.2.tar.gz
  • Upload date:
  • Size: 674.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for pygixml-0.10.2.tar.gz
Algorithm Hash digest
SHA256 bb668697e92107823f97463c70187358ce13c3fa028cb7deabf50ed8c49c9795
MD5 79f557ead7806f8f18ea33e1beff92b8
BLAKE2b-256 233a5c1b1fd43e41149d4b29d4c210a309de25a9989d86eebacc92c5af0f5f2b

See more details on using hashes here.

File details

Details for the file pygixml-0.10.2-cp314-cp314t-win_amd64.whl.

File metadata

  • Download URL: pygixml-0.10.2-cp314-cp314t-win_amd64.whl
  • Upload date:
  • Size: 167.4 kB
  • Tags: CPython 3.14t, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for pygixml-0.10.2-cp314-cp314t-win_amd64.whl
Algorithm Hash digest
SHA256 cf3062343cccd4578bb4f6110c0025d722642db54154990339d345ac93e03227
MD5 e4c6e188b588a159d372baaf8f1ce2a7
BLAKE2b-256 53bb934a9ad9707b3bee09a1ad3a757edc33a26de95d68ad1a19d24233819a46

See more details on using hashes here.

File details

Details for the file pygixml-0.10.2-cp314-cp314t-win32.whl.

File metadata

  • Download URL: pygixml-0.10.2-cp314-cp314t-win32.whl
  • Upload date:
  • Size: 141.7 kB
  • Tags: CPython 3.14t, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for pygixml-0.10.2-cp314-cp314t-win32.whl
Algorithm Hash digest
SHA256 48dbd9db408677e393c5812be7bee342ce8fb651aa57479d05b2f05d941d2477
MD5 9e75858ff128228d2026e0017e91511a
BLAKE2b-256 fa1c4f4959dde1983cf5394fc3e402d215480b04e575b335c54d66ca7529d425

See more details on using hashes here.

File details

Details for the file pygixml-0.10.2-cp314-cp314t-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for pygixml-0.10.2-cp314-cp314t-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 095a5031be94a5f698f92a888b82ff88b986faff189547c0ef5ed08e7ab4549c
MD5 7676151c813f27773e300eb357f3e3e4
BLAKE2b-256 b16a5f609247bd79d745550d3dea9f21276e996895fcacea563f13923691109c

See more details on using hashes here.

File details

Details for the file pygixml-0.10.2-cp314-cp314t-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for pygixml-0.10.2-cp314-cp314t-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 4c7a60f09ff5d9ee812e74bc23cc65e77eb74e752aee4ff9fab781893d8a7522
MD5 7c69b701a5af1ec56a589c8546d99891
BLAKE2b-256 55185fd28602f6379db109c4c8f2ad5df78da5f56a544fc5faf74a9b0c499bfe

See more details on using hashes here.

File details

Details for the file pygixml-0.10.2-cp314-cp314t-macosx_10_15_universal2.whl.

File metadata

File hashes

Hashes for pygixml-0.10.2-cp314-cp314t-macosx_10_15_universal2.whl
Algorithm Hash digest
SHA256 d7e076f3eb98cea0f648f2c6c963c53b66c86077cdf0f2548543d4db4e827149
MD5 8c58566918a8acc14eb2693d5330ed3c
BLAKE2b-256 e9569341a268fe444334d20d4eeed319540d9661cdaf542d68bb2da8073f2fb7

See more details on using hashes here.

File details

Details for the file pygixml-0.10.2-cp314-cp314-win_amd64.whl.

File metadata

  • Download URL: pygixml-0.10.2-cp314-cp314-win_amd64.whl
  • Upload date:
  • Size: 156.1 kB
  • Tags: CPython 3.14, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for pygixml-0.10.2-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 ac09406180adb02c930a8d1a03dd5673e2962c062405f5e813adeffcdddda034
MD5 3002e74992ad1ab46805fe7c801a6f39
BLAKE2b-256 441f76795ddec9d3af5b3bbbdae48a216038966e5d19177c0e4088d254d5e8d5

See more details on using hashes here.

File details

Details for the file pygixml-0.10.2-cp314-cp314-win32.whl.

File metadata

  • Download URL: pygixml-0.10.2-cp314-cp314-win32.whl
  • Upload date:
  • Size: 133.3 kB
  • Tags: CPython 3.14, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for pygixml-0.10.2-cp314-cp314-win32.whl
Algorithm Hash digest
SHA256 3b45ca10b3c9484210b0616db0574dce5cf45fcbcb00d6ebc126b4728724d6f7
MD5 13370f8086c78bc24280308b7088738b
BLAKE2b-256 2062a7b6ec0fc3dbdbd03399a436db8ca7d9ef8f618ffebfa2741bbbdd2daed6

See more details on using hashes here.

File details

Details for the file pygixml-0.10.2-cp314-cp314-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for pygixml-0.10.2-cp314-cp314-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 daffa0c96bcf7299ff5f50c2311e6947ea62a909f89b4283fadda5b9ec7f1e9f
MD5 6e6e12e40670de90e85e905387af191b
BLAKE2b-256 36871ced68c3581b200247ad18ecbfa0e32f3b83b0dcb40b04cec5b1fe7a7791

See more details on using hashes here.

File details

Details for the file pygixml-0.10.2-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for pygixml-0.10.2-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 9fe87bd14f616b2300d0a2569eed6e65e3ea6209a1aae7da8995ed5166d0404a
MD5 aee6d6638885d20331663fd794108614
BLAKE2b-256 3890f6968b81df6f1dbecfee510018b7c19c4e5fa0d8fb77456adb259243190e

See more details on using hashes here.

File details

Details for the file pygixml-0.10.2-cp314-cp314-macosx_10_15_universal2.whl.

File metadata

File hashes

Hashes for pygixml-0.10.2-cp314-cp314-macosx_10_15_universal2.whl
Algorithm Hash digest
SHA256 2929ac1f35704debe0f7791a548f9bfc7b154e02637bc24231f992e3517f6772
MD5 222b3dc7b32c841dd518f84d2dddbf58
BLAKE2b-256 3d4ba0e1a3b5f655bbb1dcf1ebfce408735abe305d44713bf1d61c73ae6050b4

See more details on using hashes here.

File details

Details for the file pygixml-0.10.2-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: pygixml-0.10.2-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 151.3 kB
  • Tags: CPython 3.13, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for pygixml-0.10.2-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 f7dca8e2ebc49be7a8c6b2874b3973b2ad298b6049db44153c0e0f9b10de7410
MD5 de5bd7d1c29be15f163e860e45b9fab1
BLAKE2b-256 7ec20b2eebdc453df86ca9f13cd0713ec35acd99bc04a31d2c45e40570a032a4

See more details on using hashes here.

File details

Details for the file pygixml-0.10.2-cp313-cp313-win32.whl.

File metadata

  • Download URL: pygixml-0.10.2-cp313-cp313-win32.whl
  • Upload date:
  • Size: 130.2 kB
  • Tags: CPython 3.13, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for pygixml-0.10.2-cp313-cp313-win32.whl
Algorithm Hash digest
SHA256 7d2fe6b2a8ffeca0580d5da1c6db4eee63b76dae7fa67b44419c6b8308ee679e
MD5 b184968ae6ce955a2c633e4c54da0a53
BLAKE2b-256 abbecb6be6eb8620fdcf2da55bcd1761d55e050d652012ec65307fa4ca212b2f

See more details on using hashes here.

File details

Details for the file pygixml-0.10.2-cp313-cp313-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for pygixml-0.10.2-cp313-cp313-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 d937654890bfad9678e52e6b964d5db45f1b107509c8d22b14db2ed8c6152693
MD5 6179f0b873ace7b1898e0d27f68e304f
BLAKE2b-256 3f1ee9962e0b87f4b8e595a98dc92b3e8e879907b314a3bf127f10f30f584f3d

See more details on using hashes here.

File details

Details for the file pygixml-0.10.2-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for pygixml-0.10.2-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 45c30d4132300b952cc9c4323432a961ed254fd59d5a325a1e84533f52ac9207
MD5 399fa1bf5005a2d19fe5939e67c570b2
BLAKE2b-256 996f693cd494d2426441b0ee5f4c9dbe00ad6ccf482aa13bfc8026e126c437f0

See more details on using hashes here.

File details

Details for the file pygixml-0.10.2-cp313-cp313-macosx_10_13_universal2.whl.

File metadata

File hashes

Hashes for pygixml-0.10.2-cp313-cp313-macosx_10_13_universal2.whl
Algorithm Hash digest
SHA256 086cff82b2600e5d70c02e7990062836141ac8fcf99843a65ae7f310961f50cb
MD5 4d10b82796d126a5157d21e93c869550
BLAKE2b-256 cef826c25b72bb35b52d743084650c33ef3dc265a8027e81957c7cb4107065b0

See more details on using hashes here.

File details

Details for the file pygixml-0.10.2-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: pygixml-0.10.2-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 151.8 kB
  • Tags: CPython 3.12, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for pygixml-0.10.2-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 efa0c29b96a222509ee825c136e1c7cdc1dbe6f8931017dc0f1c56b6de92aede
MD5 ef6a4d0a5f2f3746e2c728b36a12c32e
BLAKE2b-256 e4e23e021c5c859ebdb4530c0db4d6b53c88e87a69543548b4da6e9fcdf2d5d3

See more details on using hashes here.

File details

Details for the file pygixml-0.10.2-cp312-cp312-win32.whl.

File metadata

  • Download URL: pygixml-0.10.2-cp312-cp312-win32.whl
  • Upload date:
  • Size: 130.6 kB
  • Tags: CPython 3.12, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for pygixml-0.10.2-cp312-cp312-win32.whl
Algorithm Hash digest
SHA256 8e90727df32f6d872b1f6960c0888c438ef9cc62170e209e446176aaabf9f89a
MD5 3725ed962899113a75d8596c4f06d18e
BLAKE2b-256 17c2f118d10e9c3fd6251ad3ba939387d5492e72fc5fa04882431806d9407226

See more details on using hashes here.

File details

Details for the file pygixml-0.10.2-cp312-cp312-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for pygixml-0.10.2-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 9fdc2fc120b3c65ced7604a32f74916b3a29bba88a13aebf5908269d239c8656
MD5 6868e2285c78e12e5bc6a17cabe13b6e
BLAKE2b-256 234d47b18783626b7cf2df64fbcd8749ad876984e30dfb8cb8a559976d399ee6

See more details on using hashes here.

File details

Details for the file pygixml-0.10.2-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for pygixml-0.10.2-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 af49a88d487f33af454843d2a05ced681109dbfde6a147a6ffd73705b81070a9
MD5 e0e1bcf17d59c76d717a3239bd592a0a
BLAKE2b-256 2a0161f7ddd917c793f7a091ef615515bae70f017bba0616b34d99fce74982fd

See more details on using hashes here.

File details

Details for the file pygixml-0.10.2-cp312-cp312-macosx_10_13_universal2.whl.

File metadata

File hashes

Hashes for pygixml-0.10.2-cp312-cp312-macosx_10_13_universal2.whl
Algorithm Hash digest
SHA256 da760f29567430da587675ea4859c04ee4afa5e8ac62fc631955989b25c3bb19
MD5 a7e2cefa6df8c82902566d3cdc6bd9d9
BLAKE2b-256 44c3428837151a5e2c5e1f6a2215e13a6904fd8e50f285f4601d0f1f69311c70

See more details on using hashes here.

File details

Details for the file pygixml-0.10.2-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: pygixml-0.10.2-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 151.6 kB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for pygixml-0.10.2-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 14eefb1fb447fe2da8c0e5e079144223007c2c6284bc7134d8badc24e3fb3aef
MD5 5ee9de4e871bdc95ecba8c65ec0b7f88
BLAKE2b-256 af5a24996a559a76d4288d79c1c82dcd6383904fdc493726bdce5c3697c99cd7

See more details on using hashes here.

File details

Details for the file pygixml-0.10.2-cp311-cp311-win32.whl.

File metadata

  • Download URL: pygixml-0.10.2-cp311-cp311-win32.whl
  • Upload date:
  • Size: 130.2 kB
  • Tags: CPython 3.11, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for pygixml-0.10.2-cp311-cp311-win32.whl
Algorithm Hash digest
SHA256 fc4d082a9a2263b8e0d05e1dcb4a5bc6592d51a2d1dc2b9922164c88d871098e
MD5 cf88fcf9da1c96943443d0f640efb285
BLAKE2b-256 8b9cf1b5faeea02c58701f9b058ea9dd633c21f3177441d39694aea496b06b86

See more details on using hashes here.

File details

Details for the file pygixml-0.10.2-cp311-cp311-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for pygixml-0.10.2-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 40749c21634c45778e02351bb78164e50f6b4c10e1ed083d974fb895648614a7
MD5 7520447e4f55cf3b7e5ec2541faab8fa
BLAKE2b-256 91846c7f93f7f2c6dee5de6fa76edf1bff546eb38f0b767dfa76b3b98f554ade

See more details on using hashes here.

File details

Details for the file pygixml-0.10.2-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for pygixml-0.10.2-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 449fb4af7857fd20d408a4d8f8471f6ec696b983b08418dcc9565d3e8a45874d
MD5 a0957012b027c6ee72d7dd38c29a42d5
BLAKE2b-256 3514c6ed5e682768ec2d1667b7e7f3cdc5ed3839e7cca988326f2a94bfcf49b9

See more details on using hashes here.

File details

Details for the file pygixml-0.10.2-cp311-cp311-macosx_10_9_universal2.whl.

File metadata

File hashes

Hashes for pygixml-0.10.2-cp311-cp311-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 7bc5ba4e7d7a44a70da438db57b17df8f0e0d7c5ccaee43ff58a12cb963170cc
MD5 08266023aeb954173fe696d0cd037869
BLAKE2b-256 94abb5a95fc905b35b70ebae2cd1e56e36d7ad96557806227bfff957dcaa8e0f

See more details on using hashes here.

File details

Details for the file pygixml-0.10.2-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: pygixml-0.10.2-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 151.6 kB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for pygixml-0.10.2-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 a369a9cce901f8e485cbf2f4df4e468e2ecfc26d8e5cf4dd812e053dca9ed49b
MD5 276d6c46b463e88828e2d5e0d057e212
BLAKE2b-256 5d927bf3822c71483db62c06ca6915f53979b7e9bf1dcaca417249e3d6635b50

See more details on using hashes here.

File details

Details for the file pygixml-0.10.2-cp310-cp310-win32.whl.

File metadata

  • Download URL: pygixml-0.10.2-cp310-cp310-win32.whl
  • Upload date:
  • Size: 130.2 kB
  • Tags: CPython 3.10, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for pygixml-0.10.2-cp310-cp310-win32.whl
Algorithm Hash digest
SHA256 0b8e9c4ef56e1d6a33c27839d633a44aaf806a506f9a445f0f856edd0588df4f
MD5 7b6167306cc515f40ef2269993076216
BLAKE2b-256 1da139211a20d222a148a0986aeff6d19488e238e4128b6f6cfd6d9c119f1b2f

See more details on using hashes here.

File details

Details for the file pygixml-0.10.2-cp310-cp310-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for pygixml-0.10.2-cp310-cp310-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 068c912d1c38051111be6f3ac687b03849ce7c6a3a9139015dacae7980ffa83a
MD5 b6264c0ed85cd189de6e5c94861af7ad
BLAKE2b-256 2f095f97dcc81cae79d3b08c9083e49285b43f3dbc3b3ad16893651d94fd0248

See more details on using hashes here.

File details

Details for the file pygixml-0.10.2-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for pygixml-0.10.2-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 202c9add6478a68a3fdbc5c0aa69597692b3db1933ef801917289dfd48b9bdce
MD5 2985ac99d584e7d3d997a015aee6f2a9
BLAKE2b-256 54a74881a53e520f8cd818ec8c25328811979696eff76b10cc00026c759cb214

See more details on using hashes here.

File details

Details for the file pygixml-0.10.2-cp310-cp310-macosx_10_9_universal2.whl.

File metadata

File hashes

Hashes for pygixml-0.10.2-cp310-cp310-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 b78c6175e1c9b3512cbce357821cda273c8913766fe1d26c2cfce272e71a47ba
MD5 0411296b771513e5e6034b27c18df2dd
BLAKE2b-256 d3a89e520cdd5bb27926c6979bff2ed16d4193de47d0fafc5e02b77953ae3cf7

See more details on using hashes here.

File details

Details for the file pygixml-0.10.2-cp39-cp39-win_amd64.whl.

File metadata

  • Download URL: pygixml-0.10.2-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 152.1 kB
  • Tags: CPython 3.9, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for pygixml-0.10.2-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 b4553c0be6ac0542d07caf09d17ae15d9060124014b88b944ef9280f7c76f750
MD5 8791e04c5c27e87e6fc63111a9652ea1
BLAKE2b-256 4ce504a1c3a148b1b4e882a4ee78fc50757c9dfa0ceb1d744967b3c3e8e3b288

See more details on using hashes here.

File details

Details for the file pygixml-0.10.2-cp39-cp39-win32.whl.

File metadata

  • Download URL: pygixml-0.10.2-cp39-cp39-win32.whl
  • Upload date:
  • Size: 130.6 kB
  • Tags: CPython 3.9, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for pygixml-0.10.2-cp39-cp39-win32.whl
Algorithm Hash digest
SHA256 bd18a7ba238fa718c95498f1e8e4124ba7ef692be53f568b5664fdab0c272334
MD5 2dc304d095c15d95ddce2bc1733094d2
BLAKE2b-256 825a99993c6abf9766d013bf56bf92f925c9fddc46391daf765041e41d52671a

See more details on using hashes here.

File details

Details for the file pygixml-0.10.2-cp39-cp39-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for pygixml-0.10.2-cp39-cp39-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 d1d3b31aafb8966485db7f601aa9bf242252b4adc4d0b8287df6a9f92caa2636
MD5 3b50cdb383d46faba15dcadab3940762
BLAKE2b-256 899c8072cf9b4335136970657e740bb27b439f45083f34f767159ba3cfcefee6

See more details on using hashes here.

File details

Details for the file pygixml-0.10.2-cp39-cp39-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for pygixml-0.10.2-cp39-cp39-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 3a64681cf853b542534cf90ce8fba3b7721cf107b0fd73fa22b059a9563316ff
MD5 b6cba358e7cc4b8365ab060d94c983e7
BLAKE2b-256 4fb24df14946b31a1ce04255278a21a490ee190fbd957135305337671a8c75ef

See more details on using hashes here.

File details

Details for the file pygixml-0.10.2-cp39-cp39-macosx_10_9_universal2.whl.

File metadata

File hashes

Hashes for pygixml-0.10.2-cp39-cp39-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 ec4acc0bf3f00e7eedb0c20c9f1258af55b2355591bc501a1ca55f5e3db0ed8a
MD5 3263feae39852268de52aacc39e31639
BLAKE2b-256 6a8689f9bf50687c08a7b4c4e476317e7ee636d1aa6804f082e0a30657ffa951

See more details on using hashes here.

File details

Details for the file pygixml-0.10.2-cp38-cp38-win_amd64.whl.

File metadata

  • Download URL: pygixml-0.10.2-cp38-cp38-win_amd64.whl
  • Upload date:
  • Size: 145.6 kB
  • Tags: CPython 3.8, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for pygixml-0.10.2-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 a00c2aefe8f3af2e852803f9d814f44079b2e381e1e890fa172d86c144e7a400
MD5 737d06df0200a22fa1d7c82752d641e0
BLAKE2b-256 1ffc531128216d9361a8bb4cd9be47a6a210d2c8eda487aaac7cbaee8a866adf

See more details on using hashes here.

File details

Details for the file pygixml-0.10.2-cp38-cp38-win32.whl.

File metadata

  • Download URL: pygixml-0.10.2-cp38-cp38-win32.whl
  • Upload date:
  • Size: 124.2 kB
  • Tags: CPython 3.8, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for pygixml-0.10.2-cp38-cp38-win32.whl
Algorithm Hash digest
SHA256 633bb7301eb1ed362418376bc13efee7683d52e8f3222cd3f657f1d8e5482264
MD5 b9880dd0f38214a136825a83c65f3e85
BLAKE2b-256 4c22366f36e795a56728e057dc1e54796c3cb5d16529695b03329d4c1169ff12

See more details on using hashes here.

File details

Details for the file pygixml-0.10.2-cp38-cp38-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for pygixml-0.10.2-cp38-cp38-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 5d8fc2291ae0485808e39bce1e5c81aa34786dcd9bf26836df5c285c881593d9
MD5 52d0b4195fdea5e08e295721364e31e1
BLAKE2b-256 28185c34385018cc8b3a3ce82c195982341dadd36d5c5b708db0c307cb6208f5

See more details on using hashes here.

File details

Details for the file pygixml-0.10.2-cp38-cp38-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for pygixml-0.10.2-cp38-cp38-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 e667aaf009faa204e3ad9e3ab04cc225ebdb4f7e0a7568872a62d3cdc333b17e
MD5 8f233517343f6efb778defe699ff38b1
BLAKE2b-256 cdea7be7ac1dce5b1fef31277ca029f6a819fc0c3723694fe74447bbfe1392d1

See more details on using hashes here.

File details

Details for the file pygixml-0.10.2-cp38-cp38-macosx_10_9_universal2.whl.

File metadata

File hashes

Hashes for pygixml-0.10.2-cp38-cp38-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 e44be336cea2a227aefd36e27ac25e36e1767d43cf1d662b063baace87e4cd39
MD5 0997d0e14473cf4fdf86cdc044cbf029
BLAKE2b-256 17059df1c80be5297ddddca7d2f9cd6fa1bb23ac9284a15a92f7da182fb61e2d

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page