High-performance Cython XML parser for Python — pugixml with a Pythonic API
Project description
pygixml
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.
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).
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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distributions
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file pygixml-0.10.1.tar.gz.
File metadata
- Download URL: pygixml-0.10.1.tar.gz
- Upload date:
- Size: 670.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6669b81a530748f392c791fc2b7a740c61cb880903a843bc451aab7fc4505a03
|
|
| MD5 |
084a85667d4177959fac8e17c610a69e
|
|
| BLAKE2b-256 |
a99bdf3546199ea46df2e178858645e61504f54a75060410bf4654a5c21cf46f
|
File details
Details for the file pygixml-0.10.1-cp314-cp314t-win_amd64.whl.
File metadata
- Download URL: pygixml-0.10.1-cp314-cp314t-win_amd64.whl
- Upload date:
- Size: 164.2 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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
515ec56fdef97bb3ecfde96d32a6dc1d1fab55c77f3b4712426fa583c811c685
|
|
| MD5 |
7857605a4b050d8c585d39636f0c8bb5
|
|
| BLAKE2b-256 |
22df4e820739bf93e196790760a8a12a13dd466441f93196e5e3dd4267541717
|
File details
Details for the file pygixml-0.10.1-cp314-cp314t-win32.whl.
File metadata
- Download URL: pygixml-0.10.1-cp314-cp314t-win32.whl
- Upload date:
- Size: 139.2 kB
- Tags: CPython 3.14t, Windows x86
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
daf2aeeec25791858cda0cb678d33b8cbe4d308dfa3c2f6281c14e6c1f4fdf08
|
|
| MD5 |
ecd811071eff4706f5f640f97971c259
|
|
| BLAKE2b-256 |
c42d7036c29a61e212b30861f6db1e9540b24957009d8b35f525ead1ab5a24fc
|
File details
Details for the file pygixml-0.10.1-cp314-cp314t-musllinux_1_2_x86_64.whl.
File metadata
- Download URL: pygixml-0.10.1-cp314-cp314t-musllinux_1_2_x86_64.whl
- Upload date:
- Size: 1.2 MB
- Tags: CPython 3.14t, musllinux: musl 1.2+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
19c53c3e80a290864ee5dec8631a5b96d2e4da30399b9f13fef2266f521cc6c4
|
|
| MD5 |
1832e55c8b0ed1ea398ca15a05caa5f3
|
|
| BLAKE2b-256 |
29d304feff2b58ac0c7d2d240d7cb6a19832de4cbc11866dfb50ee32e439485b
|
File details
Details for the file pygixml-0.10.1-cp314-cp314t-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.
File metadata
- Download URL: pygixml-0.10.1-cp314-cp314t-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
- Upload date:
- Size: 170.5 kB
- Tags: CPython 3.14t, manylinux: glibc 2.24+ x86-64, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
71b344015b7b13fdaefdbc94a1cb00325aa35324f5a106dbfa144eb638a8ee5b
|
|
| MD5 |
2bafa75b46e56e082b8acaa170916dae
|
|
| BLAKE2b-256 |
129d1355590e2392e7d2792104ce58c82a7a6b86e78e14fea6cd7589207a00ac
|
File details
Details for the file pygixml-0.10.1-cp314-cp314t-macosx_10_15_universal2.whl.
File metadata
- Download URL: pygixml-0.10.1-cp314-cp314t-macosx_10_15_universal2.whl
- Upload date:
- Size: 280.3 kB
- Tags: CPython 3.14t, macOS 10.15+ universal2 (ARM64, x86-64)
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7b37a5f45439eed94e54cd1c43aae76fbc38285459a1cd2ef1bf2c938d483d57
|
|
| MD5 |
f016fc6cb522870efaffea96a8ea8ff9
|
|
| BLAKE2b-256 |
16cf3309170a703cf0869493b058f35f1606252337dcddcf936daaaf5067e486
|
File details
Details for the file pygixml-0.10.1-cp314-cp314-win_amd64.whl.
File metadata
- Download URL: pygixml-0.10.1-cp314-cp314-win_amd64.whl
- Upload date:
- Size: 153.5 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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6dd26cd20602ab08b3c701836e21f276854258ae743bd09fcdbe7072c275d2b8
|
|
| MD5 |
f5997416bd70ba048e29354e7ad3b13e
|
|
| BLAKE2b-256 |
83f77b72ce06c355290e18a7f2b68964d910f186cb92be4d9449262e060d3499
|
File details
Details for the file pygixml-0.10.1-cp314-cp314-win32.whl.
File metadata
- Download URL: pygixml-0.10.1-cp314-cp314-win32.whl
- Upload date:
- Size: 131.1 kB
- Tags: CPython 3.14, Windows x86
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0d9284bdf38f814695d2f4a13849cad7f27d10650c55fdf71844dda173de8b84
|
|
| MD5 |
3b8f13422d1b33ff3a97daeda989a159
|
|
| BLAKE2b-256 |
7c2d73d70090e06da3c89a8d373d4c891652c6223d68120645e16cc766f45ce9
|
File details
Details for the file pygixml-0.10.1-cp314-cp314-musllinux_1_2_x86_64.whl.
File metadata
- Download URL: pygixml-0.10.1-cp314-cp314-musllinux_1_2_x86_64.whl
- Upload date:
- Size: 1.2 MB
- Tags: CPython 3.14, musllinux: musl 1.2+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f6723fbd450d8875b4be18fd66463e826e366e5f9360ecd7049baa19273a2f23
|
|
| MD5 |
f7706e37545dfe706cfe9a16d386a4d3
|
|
| BLAKE2b-256 |
3e5c4a96957dd9516066645ef728941c0e8c0f0dcafc629120c469afc4a4a305
|
File details
Details for the file pygixml-0.10.1-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.
File metadata
- Download URL: pygixml-0.10.1-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
- Upload date:
- Size: 173.2 kB
- Tags: CPython 3.14, manylinux: glibc 2.24+ x86-64, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
89b97c5421e71007703e2c3c269abe2784b0bc276ceff422d642f93104193860
|
|
| MD5 |
d1272de44ffa2240403a21dff72ccc3f
|
|
| BLAKE2b-256 |
685f850e938ca827cc7d0c84e7c1d4bac70dd78dc61bdd704ecc334dd2b3f54f
|
File details
Details for the file pygixml-0.10.1-cp314-cp314-macosx_10_15_universal2.whl.
File metadata
- Download URL: pygixml-0.10.1-cp314-cp314-macosx_10_15_universal2.whl
- Upload date:
- Size: 274.8 kB
- Tags: CPython 3.14, macOS 10.15+ universal2 (ARM64, x86-64)
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a45118d20f285eaa028b5a40bc6256917f8042543161a654a37d42e624a9c4d8
|
|
| MD5 |
f94abb7d6cdf25c1f01fc6425abe111d
|
|
| BLAKE2b-256 |
54f33e3c3ac6a4014b0eb90e67677219c9c80a772e037287461483b440f3ef81
|
File details
Details for the file pygixml-0.10.1-cp313-cp313-win_amd64.whl.
File metadata
- Download URL: pygixml-0.10.1-cp313-cp313-win_amd64.whl
- Upload date:
- Size: 148.7 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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
bb6237bd5247e943ca91fe916d8a1770c290642a1c3350d2b3c96c2a65b3c96e
|
|
| MD5 |
177453d1b241e3e1f57205b7ce091e7f
|
|
| BLAKE2b-256 |
176307ef75c895c64f841fad156e8ba1553953ed12459c8836ce4240f9ba801c
|
File details
Details for the file pygixml-0.10.1-cp313-cp313-win32.whl.
File metadata
- Download URL: pygixml-0.10.1-cp313-cp313-win32.whl
- Upload date:
- Size: 128.1 kB
- Tags: CPython 3.13, Windows x86
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1fb62d37eb1daf0b8287208468fb50c82d9c21a2cdd311f64ae5be4d6d2f64c5
|
|
| MD5 |
56808a8fb6e171ed4c3f9b3459b92724
|
|
| BLAKE2b-256 |
ce671abbfeb61344a9273b6dc5fa212111b97dc93bb234cad55d378ebd1a0404
|
File details
Details for the file pygixml-0.10.1-cp313-cp313-musllinux_1_2_x86_64.whl.
File metadata
- Download URL: pygixml-0.10.1-cp313-cp313-musllinux_1_2_x86_64.whl
- Upload date:
- Size: 1.2 MB
- Tags: CPython 3.13, musllinux: musl 1.2+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
88be7cf860cb5ab98b48446d3860d64c0fa777f6f61b3835538976961421b85d
|
|
| MD5 |
4b80beab34724526ae143357b6c4a753
|
|
| BLAKE2b-256 |
fa969130938fc3a0af64ae098a738c675d8fc237f8ddccfc6e702e37f419664a
|
File details
Details for the file pygixml-0.10.1-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.
File metadata
- Download URL: pygixml-0.10.1-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
- Upload date:
- Size: 171.8 kB
- Tags: CPython 3.13, manylinux: glibc 2.24+ x86-64, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
556d4532b262b20ad22e5218ada606c0fb332d9daf3c313ae0f7e03cb93af22d
|
|
| MD5 |
d1e0c5cfdbfbb8461ebf9666ced34928
|
|
| BLAKE2b-256 |
97f7a2a82712770c5a78467c332f338079a2ee4e8389c48a09a018f21286055d
|
File details
Details for the file pygixml-0.10.1-cp313-cp313-macosx_10_13_universal2.whl.
File metadata
- Download URL: pygixml-0.10.1-cp313-cp313-macosx_10_13_universal2.whl
- Upload date:
- Size: 274.0 kB
- Tags: CPython 3.13, macOS 10.13+ universal2 (ARM64, x86-64)
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1b51df80a74a9fd839af804cda81dad7bb843ea050d996553363f190378a26bd
|
|
| MD5 |
28e967f7295bdb0a0742362d22ff5d9b
|
|
| BLAKE2b-256 |
2a0591aa925ca4608983e32ba2880ff3031873368a202f105adaf056a0993099
|
File details
Details for the file pygixml-0.10.1-cp312-cp312-win_amd64.whl.
File metadata
- Download URL: pygixml-0.10.1-cp312-cp312-win_amd64.whl
- Upload date:
- Size: 149.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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
36d0a6ea61e54927888957e6f3691a1ea64e1628d22a7b70f5fe2e45a5bafeb0
|
|
| MD5 |
7603306b6cb16b7897ebc61dd1cf27ad
|
|
| BLAKE2b-256 |
da3b171b2c243b99ec1cd7ae9afe083bdd76df541e14713a1b6c215ef92d5cc8
|
File details
Details for the file pygixml-0.10.1-cp312-cp312-win32.whl.
File metadata
- Download URL: pygixml-0.10.1-cp312-cp312-win32.whl
- Upload date:
- Size: 128.7 kB
- Tags: CPython 3.12, Windows x86
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a01f766a6117691afcf848f7f1ba4cce4140ded9d28e3898fea0b654360eb396
|
|
| MD5 |
8a6e0a10d90deb77bff6e533ef2e5bf0
|
|
| BLAKE2b-256 |
e0f5f6ba924352e47222c4dcecdcc29dff7724d36d8fb695c1a010324f472a3c
|
File details
Details for the file pygixml-0.10.1-cp312-cp312-musllinux_1_2_x86_64.whl.
File metadata
- Download URL: pygixml-0.10.1-cp312-cp312-musllinux_1_2_x86_64.whl
- Upload date:
- Size: 1.2 MB
- Tags: CPython 3.12, musllinux: musl 1.2+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1542cb293335067cb53be6f0f4cf72464330269933d7f7ae6919bf71837f76a2
|
|
| MD5 |
de8a809b13ab3bbc052b3d7f6d406c38
|
|
| BLAKE2b-256 |
5a86e72e0bb10cdb185a4138abb9f14731f57ca95152ada9eb52f05e16048d9f
|
File details
Details for the file pygixml-0.10.1-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.
File metadata
- Download URL: pygixml-0.10.1-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
- Upload date:
- Size: 171.8 kB
- Tags: CPython 3.12, manylinux: glibc 2.24+ x86-64, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ed91a20abb7161558e4d945ace66ef6803b74bf5fbf60f97ef7a98bc4d4913c1
|
|
| MD5 |
d4f70f7579274d5a038ca129fe548df8
|
|
| BLAKE2b-256 |
0ccd0a68d50bed58750c71f05ecb949e624e7f6cd1dd02bea6d005c4a1075615
|
File details
Details for the file pygixml-0.10.1-cp312-cp312-macosx_10_13_universal2.whl.
File metadata
- Download URL: pygixml-0.10.1-cp312-cp312-macosx_10_13_universal2.whl
- Upload date:
- Size: 275.0 kB
- Tags: CPython 3.12, macOS 10.13+ universal2 (ARM64, x86-64)
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
be84075d98614d1e0a3ab784d7708d471971d690fed6cf10dd1c8d65d479c740
|
|
| MD5 |
0e4f1f784cefc98c836351073b4d5ad6
|
|
| BLAKE2b-256 |
45ff8a43a1950e696f3316d3c7abcfa5e88b64563b619b7478b8cd5c5f3e27e4
|
File details
Details for the file pygixml-0.10.1-cp311-cp311-win_amd64.whl.
File metadata
- Download URL: pygixml-0.10.1-cp311-cp311-win_amd64.whl
- Upload date:
- Size: 148.7 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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
548ea86acca0eee597e4d5edaa0c8b6e2e59243afcaac6db399e0c6f55f710b6
|
|
| MD5 |
cc4cd39f409c97d0e0374a1916075f9c
|
|
| BLAKE2b-256 |
467c2ebc49e321f525553096723c315c303561fe9756f4209c7d4d2692fc4064
|
File details
Details for the file pygixml-0.10.1-cp311-cp311-win32.whl.
File metadata
- Download URL: pygixml-0.10.1-cp311-cp311-win32.whl
- Upload date:
- Size: 127.6 kB
- Tags: CPython 3.11, Windows x86
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4d2c138a60c48cf70395523c2de8631f0dab03dfcdf1d7d42f1d3f1ae2ee3a84
|
|
| MD5 |
daf7f89ead9e6f92a4a3d4743d8f4307
|
|
| BLAKE2b-256 |
847e12dbe522544b38beb41939f0a57ee8063b207ba0213603ecc62a29e4c0c0
|
File details
Details for the file pygixml-0.10.1-cp311-cp311-musllinux_1_2_x86_64.whl.
File metadata
- Download URL: pygixml-0.10.1-cp311-cp311-musllinux_1_2_x86_64.whl
- Upload date:
- Size: 1.2 MB
- Tags: CPython 3.11, musllinux: musl 1.2+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
35c1d148ae696338458e0756352d2a749fe5484c2b38bba93f2d10a90f315a82
|
|
| MD5 |
efbaceffe1a0477349f55423f98e5852
|
|
| BLAKE2b-256 |
82e19faaaf0ce0771f1b6e244e3f604aa05a9582dbeef0be92071bd943892b68
|
File details
Details for the file pygixml-0.10.1-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.
File metadata
- Download URL: pygixml-0.10.1-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
- Upload date:
- Size: 172.7 kB
- Tags: CPython 3.11, manylinux: glibc 2.24+ x86-64, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b5a9c8293de1cf5caa4f977f484636f004f07fe02670d4095217f9da00cdc3ab
|
|
| MD5 |
665c202008032ca0b43fa3ce2469e91d
|
|
| BLAKE2b-256 |
8baa1c4969428abbe1a07fdc3f5cce9ef1d1802c4c931afcc3742af95495ba45
|
File details
Details for the file pygixml-0.10.1-cp311-cp311-macosx_10_9_universal2.whl.
File metadata
- Download URL: pygixml-0.10.1-cp311-cp311-macosx_10_9_universal2.whl
- Upload date:
- Size: 274.1 kB
- Tags: CPython 3.11, macOS 10.9+ universal2 (ARM64, x86-64)
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
28b1ea58d5defb5fdf129ca5459f1cad82caa5f95e51e2735d256269e8ed12cc
|
|
| MD5 |
8c45ddcce12fe7e6d873dd52544f4f74
|
|
| BLAKE2b-256 |
50dcd4f858b469b7d56d0c202910728f55d4462ada5b56735530bb6c0c31905a
|
File details
Details for the file pygixml-0.10.1-cp310-cp310-win_amd64.whl.
File metadata
- Download URL: pygixml-0.10.1-cp310-cp310-win_amd64.whl
- Upload date:
- Size: 148.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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ab8141d9e110a9f1ac45bd4420ffbf0edc8317fc763c3e9910461ea4cd57e064
|
|
| MD5 |
560f41291238455648270b3c83d2b8b6
|
|
| BLAKE2b-256 |
7dd420889af5b700ddad17271eb9317728550f1c82f832b919f45c77c7f58c1d
|
File details
Details for the file pygixml-0.10.1-cp310-cp310-win32.whl.
File metadata
- Download URL: pygixml-0.10.1-cp310-cp310-win32.whl
- Upload date:
- Size: 127.6 kB
- Tags: CPython 3.10, Windows x86
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
43619963dbe02da86119d302a21de45d11bb2897fbdacd1e16f5325ab302c65f
|
|
| MD5 |
ea08bd0711968f70814c805f7483b17f
|
|
| BLAKE2b-256 |
206f16e81f495d45d6d529924ca9b255ec6a374094b4981535adf054dbb97e09
|
File details
Details for the file pygixml-0.10.1-cp310-cp310-musllinux_1_2_x86_64.whl.
File metadata
- Download URL: pygixml-0.10.1-cp310-cp310-musllinux_1_2_x86_64.whl
- Upload date:
- Size: 1.2 MB
- Tags: CPython 3.10, musllinux: musl 1.2+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b9a933af093eebe3b636bf74e8d9cd3c725be16482c3273bbbcf4f8d81d096ce
|
|
| MD5 |
ee5e68b2071052c4269878adae885e3c
|
|
| BLAKE2b-256 |
e4bbc779a7fa5baedfbbb91c9285abc377dd64ae1a2e1b8722e51ee92bc49087
|
File details
Details for the file pygixml-0.10.1-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.
File metadata
- Download URL: pygixml-0.10.1-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
- Upload date:
- Size: 172.6 kB
- Tags: CPython 3.10, manylinux: glibc 2.24+ x86-64, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
271ca419184b1d54f0c5c80aae35d49bf85ecbbbf167acde820484d5b0a8758b
|
|
| MD5 |
ebf8b1c5f6993ea1c2cacf3842ec3d91
|
|
| BLAKE2b-256 |
9639cd494c3b779720c2136929acf602bf5c36c643f2a44dae3456100a20146b
|
File details
Details for the file pygixml-0.10.1-cp310-cp310-macosx_10_9_universal2.whl.
File metadata
- Download URL: pygixml-0.10.1-cp310-cp310-macosx_10_9_universal2.whl
- Upload date:
- Size: 274.5 kB
- Tags: CPython 3.10, macOS 10.9+ universal2 (ARM64, x86-64)
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
df2fa242e8f122cc34a1e35e959e6d7cf7d8660b00645266b1a8a85f825d1f11
|
|
| MD5 |
144a28c41332b227471ccc2101d0ccc5
|
|
| BLAKE2b-256 |
38870497c4354b225ac32091e6fe7ca5fec8b4ab2b95a4d9f3503b184491f650
|
File details
Details for the file pygixml-0.10.1-cp39-cp39-win_amd64.whl.
File metadata
- Download URL: pygixml-0.10.1-cp39-cp39-win_amd64.whl
- Upload date:
- Size: 149.0 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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5af5ee042a7ace6eda9b571a496924e7e5d5c438d2c3d866d8ba19b7d99797b0
|
|
| MD5 |
52ccfdab0dc64c76b36df2ea4e21f645
|
|
| BLAKE2b-256 |
3ce07623b27ac8f40ba2c0684961365a0cd28ec813719bfc05b6c6f891aae9d5
|
File details
Details for the file pygixml-0.10.1-cp39-cp39-win32.whl.
File metadata
- Download URL: pygixml-0.10.1-cp39-cp39-win32.whl
- Upload date:
- Size: 128.0 kB
- Tags: CPython 3.9, Windows x86
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
421af0f69ddb254a396adc2cdebba6837add58579469147bc2dfb3a3757c8bcd
|
|
| MD5 |
a7ee9143f61976f896443f25a107ad90
|
|
| BLAKE2b-256 |
5afabdf66ac1df936882ebe723fa0415a7c9c30a0a0c82b1a50171d28952b98b
|
File details
Details for the file pygixml-0.10.1-cp39-cp39-musllinux_1_2_x86_64.whl.
File metadata
- Download URL: pygixml-0.10.1-cp39-cp39-musllinux_1_2_x86_64.whl
- Upload date:
- Size: 1.2 MB
- Tags: CPython 3.9, musllinux: musl 1.2+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
dcc912af3b4fdcd032fae017789f8f15d11e5f656a1ef30edcfc7899dc6a80d4
|
|
| MD5 |
3572e8dd7f476acffa2bb41d275bbcfd
|
|
| BLAKE2b-256 |
abdd21a52851794f761c84ba5c205c32f3b212f7c7479bd02464a0cd455e0e02
|
File details
Details for the file pygixml-0.10.1-cp39-cp39-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.
File metadata
- Download URL: pygixml-0.10.1-cp39-cp39-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
- Upload date:
- Size: 173.3 kB
- Tags: CPython 3.9, manylinux: glibc 2.24+ x86-64, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
026e4084def207c1cd7ea2ff5862cf1569444a85a897c38a0971031e0d3f2043
|
|
| MD5 |
e4b3e027bb64dc976d523b41c562a8d9
|
|
| BLAKE2b-256 |
ae3f6de1a723966d99d81e59b298e46bbcd3a93fd77f71aa9b269ff674d4a6d9
|
File details
Details for the file pygixml-0.10.1-cp39-cp39-macosx_10_9_universal2.whl.
File metadata
- Download URL: pygixml-0.10.1-cp39-cp39-macosx_10_9_universal2.whl
- Upload date:
- Size: 275.3 kB
- Tags: CPython 3.9, macOS 10.9+ universal2 (ARM64, x86-64)
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5ec7650db764638789ca4504c4c1d9ade2172dae099a9211bf6a1d9af7e11b20
|
|
| MD5 |
a8d3c0528a01c6fc3dbdd92c348b50c8
|
|
| BLAKE2b-256 |
310c99894a3ad5cd1d5e351e97b144ef0c4c911fc888b3fb82194d15c81996db
|
File details
Details for the file pygixml-0.10.1-cp38-cp38-win_amd64.whl.
File metadata
- Download URL: pygixml-0.10.1-cp38-cp38-win_amd64.whl
- Upload date:
- Size: 143.2 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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5555e5101a288b865b6d8de9e39eef1a2145fb8094c628c89b9fec2c84d3169d
|
|
| MD5 |
7a4a7fc089769ff25fb18075da734c8a
|
|
| BLAKE2b-256 |
b6d18046dd22153bf8419fa1cf5c16573550f0a0f2bbd98b7ec6b18413a79675
|
File details
Details for the file pygixml-0.10.1-cp38-cp38-win32.whl.
File metadata
- Download URL: pygixml-0.10.1-cp38-cp38-win32.whl
- Upload date:
- Size: 122.4 kB
- Tags: CPython 3.8, Windows x86
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
053c387e5a6b7f839ba600cb3c97d21c2dd50c93bc4ff7bcbc562d8b0c0177c7
|
|
| MD5 |
ad2f3dddae5b127c93b1441dd3dfd073
|
|
| BLAKE2b-256 |
84bb9e9efb730870f146b9dd0eed0fdb66c92fe33212eaf0c61e6bf0383e88bf
|
File details
Details for the file pygixml-0.10.1-cp38-cp38-musllinux_1_2_x86_64.whl.
File metadata
- Download URL: pygixml-0.10.1-cp38-cp38-musllinux_1_2_x86_64.whl
- Upload date:
- Size: 1.2 MB
- Tags: CPython 3.8, musllinux: musl 1.2+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
207c0edd28487663d32ae2e2c70c7eab0964cb0623af56159dc1b9319b3cecf1
|
|
| MD5 |
98bf9155daa0184264e323d515ca13b2
|
|
| BLAKE2b-256 |
19566eb3d388e3970ff236ec5d836822daca7e9981df0e5d6ecd4108569e22b4
|
File details
Details for the file pygixml-0.10.1-cp38-cp38-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.
File metadata
- Download URL: pygixml-0.10.1-cp38-cp38-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
- Upload date:
- Size: 165.9 kB
- Tags: CPython 3.8, manylinux: glibc 2.24+ x86-64, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
dfe000bccdbf5c2d5d95a2446afc69f373394e2983990b54233a0736659b2df5
|
|
| MD5 |
df4f20901fb1c061f1aa62e9b493d9f3
|
|
| BLAKE2b-256 |
c325565abb46428af0c36c26c3080361f83e3ad2296657e7e881b23df262fc5c
|
File details
Details for the file pygixml-0.10.1-cp38-cp38-macosx_10_9_universal2.whl.
File metadata
- Download URL: pygixml-0.10.1-cp38-cp38-macosx_10_9_universal2.whl
- Upload date:
- Size: 271.9 kB
- Tags: CPython 3.8, macOS 10.9+ universal2 (ARM64, x86-64)
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
659a3e128f809127128c4ae8555397bcd0705ee85fd3ee8d28c3335d8f62141f
|
|
| MD5 |
80569a5c65213a5671de1a852102002d
|
|
| BLAKE2b-256 |
3f104f8e79b381b8ca5c8670f810b0d581aaf273a578e137c16ad65805aac2be
|