Skip to main content

Python wrapper for pugixml using Cython - Please star the project on GitHub to use!

Project description

pygixml

Python Version 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)

Library Parsing Time Speedup vs ElementTree
pygixml 0.0009 s 8.6× faster
lxml 0.0041 s 1.9× faster
ElementTree 0.0076 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).


Important: Element Nodes vs Text Nodes

In pugixml (and therefore pygixml), element nodes do not store text as a value. They contain child text nodes instead.

# ❌  Setting value on an element node does nothing useful:
element.value = "some text"

# ✅  To SET text, append a text node (empty name) and set its value:
text_node = element.append_child("")
text_node.value = "some text"

# ✅  To GET text, use .text():
print(element.text())                     # "some text"

# ✅  Or read the text node directly:
print(element.first_child().value)        # "some text"

For most use-cases, element.text() is all you need.


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.9.0.tar.gz (661.8 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.9.0-pp310-pypy310_pp73-win_amd64.whl (128.1 kB view details)

Uploaded PyPyWindows x86-64

pygixml-0.9.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (172.3 kB view details)

Uploaded PyPymanylinux: glibc 2.17+ x86-64

pygixml-0.9.0-pp310-pypy310_pp73-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl (180.4 kB view details)

Uploaded PyPymanylinux: glibc 2.12+ i686manylinux: glibc 2.17+ i686

pygixml-0.9.0-pp39-pypy39_pp73-win_amd64.whl (128.0 kB view details)

Uploaded PyPyWindows x86-64

pygixml-0.9.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (172.3 kB view details)

Uploaded PyPymanylinux: glibc 2.17+ x86-64

pygixml-0.9.0-pp39-pypy39_pp73-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl (179.9 kB view details)

Uploaded PyPymanylinux: glibc 2.12+ i686manylinux: glibc 2.17+ i686

pygixml-0.9.0-cp312-cp312-win_amd64.whl (135.3 kB view details)

Uploaded CPython 3.12Windows x86-64

pygixml-0.9.0-cp312-cp312-win32.whl (115.2 kB view details)

Uploaded CPython 3.12Windows x86

pygixml-0.9.0-cp312-cp312-musllinux_1_1_x86_64.whl (701.0 kB view details)

Uploaded CPython 3.12musllinux: musl 1.1+ x86-64

pygixml-0.9.0-cp312-cp312-musllinux_1_1_i686.whl (758.2 kB view details)

Uploaded CPython 3.12musllinux: musl 1.1+ i686

pygixml-0.9.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (173.6 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

pygixml-0.9.0-cp312-cp312-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl (181.7 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.12+ i686manylinux: glibc 2.17+ i686

pygixml-0.9.0-cp312-cp312-macosx_10_9_universal2.whl (255.0 kB view details)

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

pygixml-0.9.0-cp311-cp311-win_amd64.whl (138.6 kB view details)

Uploaded CPython 3.11Windows x86-64

pygixml-0.9.0-cp311-cp311-win32.whl (114.8 kB view details)

Uploaded CPython 3.11Windows x86

pygixml-0.9.0-cp311-cp311-musllinux_1_1_x86_64.whl (704.1 kB view details)

Uploaded CPython 3.11musllinux: musl 1.1+ x86-64

pygixml-0.9.0-cp311-cp311-musllinux_1_1_i686.whl (761.1 kB view details)

Uploaded CPython 3.11musllinux: musl 1.1+ i686

pygixml-0.9.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (174.2 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

pygixml-0.9.0-cp311-cp311-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl (183.4 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.12+ i686manylinux: glibc 2.17+ i686

pygixml-0.9.0-cp311-cp311-macosx_10_9_universal2.whl (254.2 kB view details)

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

pygixml-0.9.0-cp310-cp310-win_amd64.whl (138.5 kB view details)

Uploaded CPython 3.10Windows x86-64

pygixml-0.9.0-cp310-cp310-win32.whl (114.8 kB view details)

Uploaded CPython 3.10Windows x86

pygixml-0.9.0-cp310-cp310-musllinux_1_1_x86_64.whl (704.1 kB view details)

Uploaded CPython 3.10musllinux: musl 1.1+ x86-64

pygixml-0.9.0-cp310-cp310-musllinux_1_1_i686.whl (761.4 kB view details)

Uploaded CPython 3.10musllinux: musl 1.1+ i686

pygixml-0.9.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (174.1 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

pygixml-0.9.0-cp310-cp310-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl (183.8 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.12+ i686manylinux: glibc 2.17+ i686

pygixml-0.9.0-cp310-cp310-macosx_10_9_universal2.whl (254.3 kB view details)

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

pygixml-0.9.0-cp39-cp39-win_amd64.whl (138.9 kB view details)

Uploaded CPython 3.9Windows x86-64

pygixml-0.9.0-cp39-cp39-win32.whl (115.2 kB view details)

Uploaded CPython 3.9Windows x86

pygixml-0.9.0-cp39-cp39-musllinux_1_1_x86_64.whl (704.7 kB view details)

Uploaded CPython 3.9musllinux: musl 1.1+ x86-64

pygixml-0.9.0-cp39-cp39-musllinux_1_1_i686.whl (761.5 kB view details)

Uploaded CPython 3.9musllinux: musl 1.1+ i686

pygixml-0.9.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (174.6 kB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ x86-64

pygixml-0.9.0-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl (183.9 kB view details)

Uploaded CPython 3.9manylinux: glibc 2.12+ i686manylinux: glibc 2.17+ i686

pygixml-0.9.0-cp39-cp39-macosx_10_9_universal2.whl (255.2 kB view details)

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

File details

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

File metadata

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

File hashes

Hashes for pygixml-0.9.0.tar.gz
Algorithm Hash digest
SHA256 e440ded8d7a757f7ff1d2822c47e6f778cf07419f8766447b9c40c437885f64e
MD5 3cb896fccbd49d1726ccc9d20fd0063f
BLAKE2b-256 262c8fe090de64f4ec4d53da1f28991efc77099b490db47c4d3cb2b1a780105e

See more details on using hashes here.

File details

Details for the file pygixml-0.9.0-pp310-pypy310_pp73-win_amd64.whl.

File metadata

File hashes

Hashes for pygixml-0.9.0-pp310-pypy310_pp73-win_amd64.whl
Algorithm Hash digest
SHA256 2071a41f1b3709ded0c0d65eb393b95fce5af60d3b76bc93567209d518d206d6
MD5 e772e25ce3e2c70d0f40990489ea0875
BLAKE2b-256 d3e63033c3076f6b02f174135d0198e38e729bf726f823879ee0bb1cd2a80ff0

See more details on using hashes here.

File details

Details for the file pygixml-0.9.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pygixml-0.9.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 27fb889afae4a5e91c506ba2cef8112a41138fff2672b4c9fde10988837c79ba
MD5 0e6ed03e29b2a67a1f731bfecc2f49d1
BLAKE2b-256 50494a615d7595be22db685206ac7231c720bfd6b036200884af3065699165fa

See more details on using hashes here.

File details

Details for the file pygixml-0.9.0-pp310-pypy310_pp73-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for pygixml-0.9.0-pp310-pypy310_pp73-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 59a87e8d15cb6dec0b73ae952535ca95f82782d753d6f6d43000d2385a619f83
MD5 523846c593f52091525453f4a3f68c59
BLAKE2b-256 5fc5a1f0b0f274969546851aa6a68c9a7d624cd7b475eff382b3337363d0c2cf

See more details on using hashes here.

File details

Details for the file pygixml-0.9.0-pp39-pypy39_pp73-win_amd64.whl.

File metadata

File hashes

Hashes for pygixml-0.9.0-pp39-pypy39_pp73-win_amd64.whl
Algorithm Hash digest
SHA256 269c72bcbbdfa3aab38f0457631233da526f9fcb5adb6ca8522cf43032f9e070
MD5 709de09966e24e7b511996f89ea893ef
BLAKE2b-256 2a451ab1b73c9048d421ede4fbcf71a6eda0e19c7b598a96c059d14ae56ffc44

See more details on using hashes here.

File details

Details for the file pygixml-0.9.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pygixml-0.9.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 9e70481558c82d4dc953ddc2822385158593e1ab1c5845a6107c724627820c8f
MD5 5251ac502d4bae02966476b72c8865fe
BLAKE2b-256 e9bd066463fec67f2bbbe71591a84d6494624d4c64cb566f906c886f994fd89c

See more details on using hashes here.

File details

Details for the file pygixml-0.9.0-pp39-pypy39_pp73-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for pygixml-0.9.0-pp39-pypy39_pp73-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 52c9f39b6ba26c3aac1802338063849b7e3303f7429af3d7fa1acc4c80ee8953
MD5 03a75b706caaf126e1438a8104e7c726
BLAKE2b-256 d10859d737962540b6fe6e68ddd31276573732e1742ff18f834101532928fe0d

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pygixml-0.9.0-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 135.3 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.9.0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 c417a81c3150d1d807471d615985ae1b72bfc60b9d9ff6a5cbebd3e36a5e1324
MD5 7ac0c0d7c188111c4cbc4b4fd3eddf9a
BLAKE2b-256 3e7e3b49447bdec7170a51b71c6964b3506932a848e8f08eb1903241e0bc8ad9

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pygixml-0.9.0-cp312-cp312-win32.whl
  • Upload date:
  • Size: 115.2 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.9.0-cp312-cp312-win32.whl
Algorithm Hash digest
SHA256 1029678cd053ed7cd48db95b04f9db6839dfc32f075569d74ccbe4d59ddebf5e
MD5 aac83c0804b8870514997d901a25aa14
BLAKE2b-256 5ee7cc77e23a1cc383ffc1b2817b55c6fb0224b8122009cd6df1f25f79225c09

See more details on using hashes here.

File details

Details for the file pygixml-0.9.0-cp312-cp312-musllinux_1_1_x86_64.whl.

File metadata

File hashes

Hashes for pygixml-0.9.0-cp312-cp312-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 4bee0b10fe12416aa7a3233a528156a317e88387f3aabbc499da80be5f52e8df
MD5 38fd0fb7bfa25b6c55e12d1d9877bcda
BLAKE2b-256 59836bd456a92794a6ba0cd3cec5e6254808f55a2389b6e98aee850552e8721b

See more details on using hashes here.

File details

Details for the file pygixml-0.9.0-cp312-cp312-musllinux_1_1_i686.whl.

File metadata

File hashes

Hashes for pygixml-0.9.0-cp312-cp312-musllinux_1_1_i686.whl
Algorithm Hash digest
SHA256 4920fcaf87ebd8497f9d4a4b0a7155b73782e91e24300f15ce29bcad87090404
MD5 4b58f195896e204638b3dde81c4261ac
BLAKE2b-256 35356babab112771371387359d44538127ca18e9a9c85d5088e63e40d013bab4

See more details on using hashes here.

File details

Details for the file pygixml-0.9.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pygixml-0.9.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 c2c977a6ca4cc7f27adf1db1bb906db97291bad7bc712437087c4d416dfcf8b8
MD5 1d9ac9c6adb8adf6712a90b597830713
BLAKE2b-256 0b6292d2ed38e8990f12a4bdd677b3b61f7d60452bf639ddf2e7ee90543c48df

See more details on using hashes here.

File details

Details for the file pygixml-0.9.0-cp312-cp312-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for pygixml-0.9.0-cp312-cp312-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 619a7312d6af8b217379aff05e2e7c3554272ac034dc23fef61e0cd937e63da2
MD5 0b5cfe9cad11a976adf6aa6fda048b7f
BLAKE2b-256 7c79e6183afbe5e3ae6838b932b600c7b5f0750730b4de4c37635459a26c5f2a

See more details on using hashes here.

File details

Details for the file pygixml-0.9.0-cp312-cp312-macosx_10_9_universal2.whl.

File metadata

File hashes

Hashes for pygixml-0.9.0-cp312-cp312-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 4957c99625afaf842208b936d4f6c99301eb0130afcd846b492f3ac2ed9b11a2
MD5 b34410767ed36fd1857bb414426d7682
BLAKE2b-256 5bc65f8aa25f3422f101df4636730c40c067e6c88480d4f9c1544832dbb10df9

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pygixml-0.9.0-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 138.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.9.0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 5ac680e3eeb97a2eeb4497549f6bc17196aa82d6a36bc4b8399a4426eae036f9
MD5 5b184f7753dbae85459e80f35e07794e
BLAKE2b-256 319bee9da5043fd33d34e96f409913625b47ba401ebcf5e11ba9bd8202a442d9

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pygixml-0.9.0-cp311-cp311-win32.whl
  • Upload date:
  • Size: 114.8 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.9.0-cp311-cp311-win32.whl
Algorithm Hash digest
SHA256 be070dd270f4147b808a357fbdcb35e10d4fc79571a249efc5b1d235da5d0728
MD5 13864a4784e6fc8f657b101cb9b1ecdf
BLAKE2b-256 e98caa4d4229e657bc0ca1250929abe5f3db2f63a7d12529ad688262dd67a73d

See more details on using hashes here.

File details

Details for the file pygixml-0.9.0-cp311-cp311-musllinux_1_1_x86_64.whl.

File metadata

File hashes

Hashes for pygixml-0.9.0-cp311-cp311-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 38ed0df7f035408d07cf4be897c6744157d08d786e04942575d25490d3456ea2
MD5 f246d9744e90b65739c56ab71cf06638
BLAKE2b-256 49f228fa17e4c371c9b28abbe9863e92e06d259addb2da2702f501464c5be0a9

See more details on using hashes here.

File details

Details for the file pygixml-0.9.0-cp311-cp311-musllinux_1_1_i686.whl.

File metadata

File hashes

Hashes for pygixml-0.9.0-cp311-cp311-musllinux_1_1_i686.whl
Algorithm Hash digest
SHA256 0dbe9d90a653ba6dc91f58f2b4882e36a8d6a517cc981627e0bf2816b767091a
MD5 083743e04c31a7628c1cbf6c3aaa755c
BLAKE2b-256 32cd374186cdb0c6f0f15075bff1fdf09904750eec7f9381b6bdd95f6008e145

See more details on using hashes here.

File details

Details for the file pygixml-0.9.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pygixml-0.9.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 3172a3ecdc271fc7a892f414d458926be1a7444cd0044e1c975cbe45e6c7a71b
MD5 c6a424364ca2b4e09d99e3c121b4a515
BLAKE2b-256 8fade5e3a5d0ebc4436e0e9d8bf8342e4cb6b17eabadd4131161507f3ce81bc7

See more details on using hashes here.

File details

Details for the file pygixml-0.9.0-cp311-cp311-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for pygixml-0.9.0-cp311-cp311-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 38e55f02c4c6148caf6a24c9ec21f30eda81224f173e5d7fb7dbc30b03dfea02
MD5 77dd9e4b3400306e8e72807a53b22a44
BLAKE2b-256 f1bd7a40496b54ac98b833fbca5fae7a5989ddea6ddf732f35841342c5bc2f5f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pygixml-0.9.0-cp311-cp311-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 693f811e91264a1dea48f0183c6a5bda1c88073e7dbb896b0dfe2bfd6a6b9a5e
MD5 1ba3cf4fda057378937719a118ab8227
BLAKE2b-256 0f3779039cbe0965445b5ffba5d7a7f548140b938c29009cb91e2605bc5f0810

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pygixml-0.9.0-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 138.5 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.9.0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 e5dc27bab897665482f00f20aa1fe392ec487db75abe191122264750f164d659
MD5 0724af6ac939c11c46aca56d7efb70d1
BLAKE2b-256 fe51cd4c54c711801118aac655950022aa841b7f430fe80f9effadad01257db4

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pygixml-0.9.0-cp310-cp310-win32.whl
  • Upload date:
  • Size: 114.8 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.9.0-cp310-cp310-win32.whl
Algorithm Hash digest
SHA256 e035d8ecc8d7822ce51e8ce4b564dfa1c944154993544930a0d0f59185925504
MD5 8eea4a13ae889eb37c464791e088e6eb
BLAKE2b-256 b7d4ac5d62e722ef51674955e50aa3fb5f27dd1ccbdd05625d7bac55a6b8a4f6

See more details on using hashes here.

File details

Details for the file pygixml-0.9.0-cp310-cp310-musllinux_1_1_x86_64.whl.

File metadata

File hashes

Hashes for pygixml-0.9.0-cp310-cp310-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 b58bee78114d124358d30a58d526761ca3eeae94b11991eab16991f788de336d
MD5 e15511d94b346ce309ce7e1f546e8f9f
BLAKE2b-256 e20ea474c4b4b7817108e2577251f6f1692e7ed73d905549389403c36c9d7abe

See more details on using hashes here.

File details

Details for the file pygixml-0.9.0-cp310-cp310-musllinux_1_1_i686.whl.

File metadata

File hashes

Hashes for pygixml-0.9.0-cp310-cp310-musllinux_1_1_i686.whl
Algorithm Hash digest
SHA256 695a87d67d505b9e360165ea4df2973e921514e399d23db25fbe2af1bc3ced50
MD5 e83f06c07025b84a9a6169c45f029cb4
BLAKE2b-256 72fe4df599ae0b65bdf6dec7ea00928496050731d6065ac01c49167d1888071d

See more details on using hashes here.

File details

Details for the file pygixml-0.9.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pygixml-0.9.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 cdfdc1c836d8b6eace8e36fc75c5ef8c2156bf5d352658667f514d56d9347e0b
MD5 acf0495be06c0180c55de3a818ad8734
BLAKE2b-256 1a45f2b945c037921990c430722b55cd0f148e0a75b0d0d4d33d2061b55f076c

See more details on using hashes here.

File details

Details for the file pygixml-0.9.0-cp310-cp310-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for pygixml-0.9.0-cp310-cp310-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 f1732bab654d903a05bc46a9b7408033ff93a5a3cebfbde0ec353601f7cd3fd9
MD5 3cb3b77a07c7fa13acfe439907566007
BLAKE2b-256 9148a6ab805b9427e87888a04287c0733c7771070210f64554da6e2a316d5d78

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pygixml-0.9.0-cp310-cp310-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 f24434375437d4c00a68fdb25bb747038f3489bc016f9ffd8e6ae51a12d52424
MD5 d98c549c0802d7b2b1ed8ce6f8ffe3a8
BLAKE2b-256 0bde4c6836826a2fbb87e75d9e1d20734ef1d44e366ebec9b46071d7cbb836d0

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pygixml-0.9.0-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 138.9 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.9.0-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 ad2335be971002402650aacad4d884e4619305c2bd073f2120507e4659ce050c
MD5 1dfaf051b09dad162cb55b660f46bf5a
BLAKE2b-256 5c9c7c3a18635f067925470e582ca608bd2aec1310c99422b260d22d532c43dc

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pygixml-0.9.0-cp39-cp39-win32.whl
  • Upload date:
  • Size: 115.2 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.9.0-cp39-cp39-win32.whl
Algorithm Hash digest
SHA256 20d2ea3c6d234659aca241a0a9239d3c3f7a62a5d698f4d65a0e124ba985dc9d
MD5 58f8262c2d11bc99fb7f31ccc35e5f4a
BLAKE2b-256 c99e2f8fc2cca949a53893a7d8986f0cc53dd5f9deca714fdf1e7fbccc9c50af

See more details on using hashes here.

File details

Details for the file pygixml-0.9.0-cp39-cp39-musllinux_1_1_x86_64.whl.

File metadata

File hashes

Hashes for pygixml-0.9.0-cp39-cp39-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 8d1d1e07d9e09ee21857fda08a2bfb0167d0131b60e0c40ac882df29197790a8
MD5 ea65d8dc02d369103faa1743f1c6f0e4
BLAKE2b-256 26982cfc588e342751bc4e6625cd4547943256422c2ba118daf5c42e74a089af

See more details on using hashes here.

File details

Details for the file pygixml-0.9.0-cp39-cp39-musllinux_1_1_i686.whl.

File metadata

File hashes

Hashes for pygixml-0.9.0-cp39-cp39-musllinux_1_1_i686.whl
Algorithm Hash digest
SHA256 2a17c28f918c79bc23c33947caa3ab1256c221970b925fb85117a43e45b18c52
MD5 b7cd3e798ddd000c20665218cc11227d
BLAKE2b-256 c57271a1e076f697cebfb69f422a5083dbe03828fd92dbfd6d710b5ac15cc7e4

See more details on using hashes here.

File details

Details for the file pygixml-0.9.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pygixml-0.9.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 44bdbc749cc63cfcdf61b116bd203f1935fbe3b5aadddc2f10d11f2bc5926764
MD5 040f118a7dbc7493d1c70bc133281ec8
BLAKE2b-256 54ba88502b23e3852335dc517de9cda46aecb385753158b6882a497e100826aa

See more details on using hashes here.

File details

Details for the file pygixml-0.9.0-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for pygixml-0.9.0-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 ef9255001e62d0a22828da97c0af28703fe0895e1a39b30efbcdac36fa989479
MD5 69f6b315d3ff48285458c0fda91e58f2
BLAKE2b-256 980d6bf01d98a36e161822157c0fb6d44ef288dd486b44eb6cc0d9f58058e542

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pygixml-0.9.0-cp39-cp39-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 1f5f03d2fa60f8dd696a4ca6888c25cedc70e8014e1e997c6fb7961eb570da46
MD5 44cbec39d1336efcad58f069cbda1146
BLAKE2b-256 2caadfba8f333639c2283d8ac87f2f17f610fe7a465546b0e9319c16a4fcf454

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