polyxml 0.5.0__tar.gz → 0.5.1__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {polyxml-0.5.0 → polyxml-0.5.1}/Cargo.lock +4 -4
- {polyxml-0.5.0 → polyxml-0.5.1}/Cargo.toml +1 -1
- {polyxml-0.5.0 → polyxml-0.5.1}/PKG-INFO +31 -2
- polyxml-0.5.1/README.md +34 -0
- polyxml-0.5.1/crates/polyxml-python/README.md +34 -0
- {polyxml-0.5.0 → polyxml-0.5.1}/pyproject.toml +1 -1
- polyxml-0.5.0/README.md +0 -5
- polyxml-0.5.0/crates/polyxml-python/README.md +0 -5
- {polyxml-0.5.0 → polyxml-0.5.1}/crates/polyxml-core/Cargo.toml +0 -0
- {polyxml-0.5.0 → polyxml-0.5.1}/crates/polyxml-core/README.md +0 -0
- {polyxml-0.5.0 → polyxml-0.5.1}/crates/polyxml-core/benches/core_benchmarks.rs +0 -0
- {polyxml-0.5.0 → polyxml-0.5.1}/crates/polyxml-core/src/converters.rs +0 -0
- {polyxml-0.5.0 → polyxml-0.5.1}/crates/polyxml-core/src/error.rs +0 -0
- {polyxml-0.5.0 → polyxml-0.5.1}/crates/polyxml-core/src/lib.rs +0 -0
- {polyxml-0.5.0 → polyxml-0.5.1}/crates/polyxml-core/src/parser.rs +0 -0
- {polyxml-0.5.0 → polyxml-0.5.1}/crates/polyxml-core/src/schema.rs +0 -0
- {polyxml-0.5.0 → polyxml-0.5.1}/crates/polyxml-core/src/serializer.rs +0 -0
- {polyxml-0.5.0 → polyxml-0.5.1}/crates/polyxml-core/src/value.rs +0 -0
- {polyxml-0.5.0 → polyxml-0.5.1}/crates/polyxml-core/tests/test_core.rs +0 -0
- {polyxml-0.5.0 → polyxml-0.5.1}/crates/polyxml-core/tests/test_security.rs +0 -0
- {polyxml-0.5.0 → polyxml-0.5.1}/crates/polyxml-python/Cargo.toml +0 -0
- {polyxml-0.5.0 → polyxml-0.5.1}/crates/polyxml-python/src/lib.rs +0 -0
- {polyxml-0.5.0 → polyxml-0.5.1}/crates/polyxml-python/tests/test_polyxml.py +0 -0
- {polyxml-0.5.0 → polyxml-0.5.1}/python/polyxml/AGENT_GUIDE.md +0 -0
- {polyxml-0.5.0 → polyxml-0.5.1}/python/polyxml/__init__.py +0 -0
- {polyxml-0.5.0 → polyxml-0.5.1}/python/polyxml/py.typed +0 -0
|
@@ -395,7 +395,7 @@ dependencies = [
|
|
|
395
395
|
|
|
396
396
|
[[package]]
|
|
397
397
|
name = "polyxml"
|
|
398
|
-
version = "0.5.
|
|
398
|
+
version = "0.5.1"
|
|
399
399
|
dependencies = [
|
|
400
400
|
"criterion",
|
|
401
401
|
"lexical-core",
|
|
@@ -408,14 +408,14 @@ dependencies = [
|
|
|
408
408
|
|
|
409
409
|
[[package]]
|
|
410
410
|
name = "polyxml-c"
|
|
411
|
-
version = "0.5.
|
|
411
|
+
version = "0.5.1"
|
|
412
412
|
dependencies = [
|
|
413
413
|
"polyxml",
|
|
414
414
|
]
|
|
415
415
|
|
|
416
416
|
[[package]]
|
|
417
417
|
name = "polyxml-js"
|
|
418
|
-
version = "0.5.
|
|
418
|
+
version = "0.5.1"
|
|
419
419
|
dependencies = [
|
|
420
420
|
"napi",
|
|
421
421
|
"napi-build",
|
|
@@ -425,7 +425,7 @@ dependencies = [
|
|
|
425
425
|
|
|
426
426
|
[[package]]
|
|
427
427
|
name = "polyxml-python"
|
|
428
|
-
version = "0.5.
|
|
428
|
+
version = "0.5.1"
|
|
429
429
|
dependencies = [
|
|
430
430
|
"lexical-core",
|
|
431
431
|
"polyxml",
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: polyxml
|
|
3
|
-
Version: 0.5.
|
|
3
|
+
Version: 0.5.1
|
|
4
4
|
Classifier: Development Status :: 4 - Beta
|
|
5
5
|
Classifier: Intended Audience :: Developers
|
|
6
6
|
Classifier: License :: OSI Approved :: MIT License
|
|
@@ -34,5 +34,34 @@ Project-URL: Repository, https://github.com/nth-bailey/PolyXML
|
|
|
34
34
|
|
|
35
35
|
High-performance native XML data-binding engine for Python dataclasses and Pydantic models.
|
|
36
36
|
|
|
37
|
-
Powered by polyxml-core written in Rust and PyO3 (abi3-py312).
|
|
37
|
+
Powered by `polyxml-core` written in Rust and PyO3 (`abi3-py312`).
|
|
38
|
+
|
|
39
|
+
## Features
|
|
40
|
+
|
|
41
|
+
- **⚡ Blazing Fast**: 16x faster deserialization and 38x faster serialization than standard Python tools.
|
|
42
|
+
- **🌊 Streaming `iterparse()`**: Parse multi-gigabyte XML files with O(1) constant memory (<5 MB RAM).
|
|
43
|
+
- **📦 Zero-GIL Binary Serialization**: Native `dumps_binary()` and `loads_binary()` using MessagePack (`msgspec`), up to 12.4x faster than pickle.
|
|
44
|
+
- **🎯 Full Type Support**: Dataclasses and Pydantic v2 models with zero boilerplate.
|
|
45
|
+
|
|
46
|
+
## Quickstart
|
|
47
|
+
|
|
48
|
+
```python
|
|
49
|
+
from dataclasses import dataclass, field
|
|
50
|
+
import polyxml
|
|
51
|
+
|
|
52
|
+
@dataclass
|
|
53
|
+
class Item:
|
|
54
|
+
id: int = field(metadata={"type": "Attribute"})
|
|
55
|
+
name: str = field(metadata={"type": "Element"})
|
|
56
|
+
|
|
57
|
+
# 1. XML Deserialization
|
|
58
|
+
item = polyxml.deserialize(b'<Item id="1"><name>Gadget</name></Item>', Item)
|
|
59
|
+
|
|
60
|
+
# 2. XML Serialization
|
|
61
|
+
xml = polyxml.serialize(item, indent=2)
|
|
62
|
+
|
|
63
|
+
# 3. High-Speed Binary Serialization (Key-Value databases / IPC)
|
|
64
|
+
blob = polyxml.dumps_binary(item)
|
|
65
|
+
restored = polyxml.loads_binary(blob, Item)
|
|
66
|
+
```
|
|
38
67
|
|
polyxml-0.5.1/README.md
ADDED
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
# PolyXML Python Bindings
|
|
2
|
+
|
|
3
|
+
High-performance native XML data-binding engine for Python dataclasses and Pydantic models.
|
|
4
|
+
|
|
5
|
+
Powered by `polyxml-core` written in Rust and PyO3 (`abi3-py312`).
|
|
6
|
+
|
|
7
|
+
## Features
|
|
8
|
+
|
|
9
|
+
- **⚡ Blazing Fast**: 16x faster deserialization and 38x faster serialization than standard Python tools.
|
|
10
|
+
- **🌊 Streaming `iterparse()`**: Parse multi-gigabyte XML files with O(1) constant memory (<5 MB RAM).
|
|
11
|
+
- **📦 Zero-GIL Binary Serialization**: Native `dumps_binary()` and `loads_binary()` using MessagePack (`msgspec`), up to 12.4x faster than pickle.
|
|
12
|
+
- **🎯 Full Type Support**: Dataclasses and Pydantic v2 models with zero boilerplate.
|
|
13
|
+
|
|
14
|
+
## Quickstart
|
|
15
|
+
|
|
16
|
+
```python
|
|
17
|
+
from dataclasses import dataclass, field
|
|
18
|
+
import polyxml
|
|
19
|
+
|
|
20
|
+
@dataclass
|
|
21
|
+
class Item:
|
|
22
|
+
id: int = field(metadata={"type": "Attribute"})
|
|
23
|
+
name: str = field(metadata={"type": "Element"})
|
|
24
|
+
|
|
25
|
+
# 1. XML Deserialization
|
|
26
|
+
item = polyxml.deserialize(b'<Item id="1"><name>Gadget</name></Item>', Item)
|
|
27
|
+
|
|
28
|
+
# 2. XML Serialization
|
|
29
|
+
xml = polyxml.serialize(item, indent=2)
|
|
30
|
+
|
|
31
|
+
# 3. High-Speed Binary Serialization (Key-Value databases / IPC)
|
|
32
|
+
blob = polyxml.dumps_binary(item)
|
|
33
|
+
restored = polyxml.loads_binary(blob, Item)
|
|
34
|
+
```
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
# PolyXML Python Bindings
|
|
2
|
+
|
|
3
|
+
High-performance native XML data-binding engine for Python dataclasses and Pydantic models.
|
|
4
|
+
|
|
5
|
+
Powered by `polyxml-core` written in Rust and PyO3 (`abi3-py312`).
|
|
6
|
+
|
|
7
|
+
## Features
|
|
8
|
+
|
|
9
|
+
- **⚡ Blazing Fast**: 16x faster deserialization and 38x faster serialization than standard Python tools.
|
|
10
|
+
- **🌊 Streaming `iterparse()`**: Parse multi-gigabyte XML files with O(1) constant memory (<5 MB RAM).
|
|
11
|
+
- **📦 Zero-GIL Binary Serialization**: Native `dumps_binary()` and `loads_binary()` using MessagePack (`msgspec`), up to 12.4x faster than pickle.
|
|
12
|
+
- **🎯 Full Type Support**: Dataclasses and Pydantic v2 models with zero boilerplate.
|
|
13
|
+
|
|
14
|
+
## Quickstart
|
|
15
|
+
|
|
16
|
+
```python
|
|
17
|
+
from dataclasses import dataclass, field
|
|
18
|
+
import polyxml
|
|
19
|
+
|
|
20
|
+
@dataclass
|
|
21
|
+
class Item:
|
|
22
|
+
id: int = field(metadata={"type": "Attribute"})
|
|
23
|
+
name: str = field(metadata={"type": "Element"})
|
|
24
|
+
|
|
25
|
+
# 1. XML Deserialization
|
|
26
|
+
item = polyxml.deserialize(b'<Item id="1"><name>Gadget</name></Item>', Item)
|
|
27
|
+
|
|
28
|
+
# 2. XML Serialization
|
|
29
|
+
xml = polyxml.serialize(item, indent=2)
|
|
30
|
+
|
|
31
|
+
# 3. High-Speed Binary Serialization (Key-Value databases / IPC)
|
|
32
|
+
blob = polyxml.dumps_binary(item)
|
|
33
|
+
restored = polyxml.loads_binary(blob, Item)
|
|
34
|
+
```
|
polyxml-0.5.0/README.md
DELETED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|