Skip to main content

Fast XML flattening library with Python bindings

Project description

fast-xml-flattener

PyPI Python License: MIT Rust CI codecov rust codecov python

Flatten nested XML into CSV, JSON, Parquet, or Python dicts — in milliseconds, not seconds.

fast-xml-flattener is a Rust-powered Python library that converts XML documents into flat, analysis-ready representations. It uses a zero-copy streaming parser and builds output structures in a single tree walk, with no intermediate serde_json::Value or DOM allocation. The result: throughput that leaves pure-Python parsers far behind.


Why fast-xml-flattener?

XML → flat dict (median of 7 runs, CPython 3.13)

Library 0.5 MB 5.4 MB 27 MB
fast-xml-flattener 11 ms 225 ms 1 089 ms
lxml + manual flatten 27 ms 407 ms 2 108 ms
xmltodict + manual flatten 63 ms 997 ms 4 952 ms

XML → flat JSON string (median of 7 runs)

Library 0.5 MB 5.4 MB 27 MB
fast-xml-flattener 13 ms 164 ms 884 ms
xmltodict + json.dumps 93 ms 1 147 ms 5 374 ms

Dell Vostro i7-1260P, 64 GB RAM, Linux, CPython 3.13. Synthetic XML with nested records (id, user, address, order fields). See benches/benchmark.py.

4–7× faster than xmltodict, 2–2.5× faster than lxml across all tested sizes. The gap widens with document size because the Rust parser operates at memory-bandwidth speed with zero DOM allocation. The GIL is held only for dict-returning functions (to_dict, to_flatten_dict); all other outputs release it entirely, making the library safe to use from thread pools.


Features

  • Flatten nested XML into JSON, flatten-JSON, native Python dict, flatten-dict, CSV, or Parquet
  • Dot-notation object access — navigate parsed XML like obj.user.address.city with XmlObject
  • File streaming — pass a Path or filename string; Rust reads the file in buffered chunks without loading it into Python memory
  • Single-pass streaming parser — no DOM, no intermediate Value allocation
  • GIL-free for string/CSV/Parquet outputs — safe to use from thread pools
  • xmltodict-compatible semantics: @attr, #text, auto-list for repeated tags
  • Namespace stripping, CDATA, entity references, comments — all handled correctly
  • Supports Python 3.10+

Input

Every function accepts XML content or a file path — no manual open() required:

# XML string
fxf.to_dict("<root><a>1</a></root>")

# pathlib.Path — Rust reads the file in buffered chunks
fxf.to_dict(Path("data.xml"))

# plain str path (does not start with '<')
fxf.to_dict("data.xml")
Input type Behaviour
str starting with < Parsed as XML content
str not starting with < Treated as a file path
pathlib.Path / os.PathLike Always treated as a file path

File I/O happens entirely in Rust via a buffered reader — the file is never fully loaded into Python memory.

Output Formats

Function Returns Description
to_json(xml) str 1:1 JSON preserving XML structure (@attr, #text)
to_flatten_json(xml, separator=".") str Flat JSON with dot-notation keys (user.address.city)
to_dict(xml) dict 1:1 nested Python dict — built directly in Rust, no JSON round-trip
to_flatten_dict(xml, separator=".") dict Flat Python dict with dot-notation keys
to_csv(xml, include_attrs=True) str Tabular CSV, one row per XML record
to_parquet(xml, path, include_attrs=True) None Columnar Parquet file for big-data workflows
to_object(xml) XmlObject Dot-notation Python object with attribute and text access

Installation

pip install fast-xml-flattener

Quick Start

import fast_xml_flattener as fxf

xml = """
<root>
  <user>
    <id>1</id>
    <name>Alice</name>
    <address>
      <city>Warsaw</city>
      <zip>00-001</zip>
    </address>
  </user>
</root>
"""

# 1:1 JSON string — preserves nesting
result = fxf.to_json(xml)
# '{"user": {"id": "1", "name": "Alice", "address": {"city": "Warsaw", "zip": "00-001"}}}'

# Flattened JSON string with dot-notation keys
flat = fxf.to_flatten_json(xml)
# '{"user.id": "1", "user.name": "Alice", "user.address.city": "Warsaw", "user.address.zip": "00-001"}'

# Native Python dict (1:1 nested) — no JSON round-trip
d = fxf.to_dict(xml)
print(d["user"]["name"])             # Alice
print(d["user"]["address"]["city"])  # Warsaw

# Flattened native Python dict
fd = fxf.to_flatten_dict(xml, separator=".")
print(fd["user.address.city"])       # Warsaw

# CSV — one row per <user> element
csv = fxf.to_csv(xml, include_attrs=True)

# Parquet — ready for pandas / Spark / DuckDB
fxf.to_parquet(xml, path="output.parquet", include_attrs=True)

# Dot-notation object access
obj = fxf.to_object(xml)
print(obj.root.user.name)              # Alice
print(obj.root.user.address.city)      # Warsaw

# All functions also accept a file path — Rust streams the file without
# loading it into Python memory
from pathlib import Path

d = fxf.to_dict(Path("data.xml"))
obj = fxf.to_object("data.xml")        # plain str path works too

XmlObject — dot-notation access

to_object() parses XML and returns an XmlObject that wraps the result of to_dict(). XML parsing is done in Rust; the object layer adds minimal Python overhead.

xml = '''
<catalog>
  <book id="1" lang="en">
    <title>Clean Code</title>
    <author>Robert C. Martin</author>
  </book>
  <book id="2" lang="pl">
    <title>Czysty Kod</title>
    <author>Robert C. Martin</author>
  </book>
</catalog>
'''

obj = fxf.to_object(xml)

# Navigate nested structure with dot notation
books = obj.catalog.book          # list of XmlObject (repeated tag)
print(books[0].title)             # Clean Code
print(books[1].title)             # Czysty Kod

# Access XML attributes via _attrs (no @ prefix)
print(books[0]._attrs)            # {"id": "1", "lang": "en"}
print(books[0]._attrs["lang"])    # en

# Access text content via _text (useful when element has both text and attrs)
print(books[0].title._text)       # Clean Code

# Get the underlying raw dict via .raw
print(books[0].raw)               # {"@id": "1", "@lang": "en", "title": "Clean Code", ...}
Property / access Returns Description
obj.child_tag XmlObject, list[XmlObject], or str Child element; list when tag repeats; str for pure-text leaves
obj._attrs dict[str, str] XML attributes of this element (keys without @ prefix)
obj._text str | None Text content (#text) of this element
obj.raw dict | str Underlying value from to_dict() — str for pure-text leaves

Loading Parquet with pandas

import pandas as pd

df = pd.read_parquet("output.parquet")
print(df.head())

Using with DuckDB

import duckdb

duckdb.sql("SELECT * FROM 'output.parquet'").show()

Development

Requirements

  • Python 3.10+ (3.13 recommended for development)
  • Rust (stable)
  • maturin

Setup with pyenv (recommended)

# Install pyenv: https://github.com/pyenv/pyenv
pyenv install 3.13
pyenv local 3.13

# Create and activate virtual environment
pyenv virtualenv 3.13 xml-flattener
pyenv activate xml-flattener

# Install uv and dev dependencies
pip install uv
uv pip install -e ".[dev]"

# Install pre-commit hooks
pre-commit install

Setup without pyenv

python -m venv venv
source venv/bin/activate
pip install uv
uv pip install -e ".[dev]"
pre-commit install

Build

uv run maturin develop   # development build
maturin build --release  # release wheel

Tests

uv run pytest            # Python integration tests (95 cases)
cargo test               # Rust unit tests (25 cases)
uv run ruff check .      # linting
cargo clippy --all-targets -- -D warnings  # Rust linting

Releasing

Releases are fully automated. Append one of these tags anywhere in your commit message (or PR title when squash-merging) to trigger a release:

Tag Bump Example
[fix] patch (0.1.0 → 0.1.1) fix null value in CSV output [fix]
[minor] minor (0.1.0 → 0.2.0) add streaming API [minor]
[major] major (0.1.0 → 1.0.0) redesign public API [major]

The release pipeline then:

  1. Bumps version in Cargo.toml and pyproject.toml
  2. Prepends an entry to CHANGELOG.md
  3. Commits (chore: bump version to X.Y.Z) and creates a vX.Y.Z git tag
  4. Builds wheels for Linux x86_64/aarch64, macOS universal2, Windows x86_64
  5. Publishes to PyPI via OIDC trusted publishing (no secrets needed)
  6. Creates a GitHub Release with the changelog entry and wheel artifacts

One-time PyPI setup (trusted publishing)

  1. Go to PyPI → Your projects → fast-xml-flattener → Publishing → Add a publisher
  2. Set: GitHub owner andree0, repo fast-xml-flattener, workflow release.yml, environment pypi
  3. On GitHub: Settings → Environments → New environment named pypi

No API tokens or secrets are required — OIDC handles authentication.

License

MIT

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

fast_xml_flattener-0.1.8.tar.gz (43.6 kB view details)

Uploaded Source

Built Distributions

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

fast_xml_flattener-0.1.8-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.4 MB view details)

Uploaded PyPymanylinux: glibc 2.17+ x86-64

fast_xml_flattener-0.1.8-cp314-cp314t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.3 MB view details)

Uploaded CPython 3.14tmanylinux: glibc 2.17+ ARM64

fast_xml_flattener-0.1.8-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.4 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.17+ x86-64

fast_xml_flattener-0.1.8-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.3 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.17+ ARM64

fast_xml_flattener-0.1.8-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.3 MB view details)

Uploaded CPython 3.13tmanylinux: glibc 2.17+ ARM64

fast_xml_flattener-0.1.8-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.4 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

fast_xml_flattener-0.1.8-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.3 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ ARM64

fast_xml_flattener-0.1.8-cp313-cp313-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl (2.6 MB view details)

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

fast_xml_flattener-0.1.8-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.4 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

fast_xml_flattener-0.1.8-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.3 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ ARM64

fast_xml_flattener-0.1.8-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.4 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

fast_xml_flattener-0.1.8-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.3 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ ARM64

fast_xml_flattener-0.1.8-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.4 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

fast_xml_flattener-0.1.8-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.3 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ ARM64

File details

Details for the file fast_xml_flattener-0.1.8.tar.gz.

File metadata

  • Download URL: fast_xml_flattener-0.1.8.tar.gz
  • Upload date:
  • Size: 43.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for fast_xml_flattener-0.1.8.tar.gz
Algorithm Hash digest
SHA256 77dab60807e0b7c48a4e70a4ca47017a896a5c09bce23e342150497dd38acd8d
MD5 71c7a6606dc445334ce9c23dc5097402
BLAKE2b-256 9ce87d493f84864d3c023b5e70215d73b7ed2cc2c0db043c81a51f9959149e53

See more details on using hashes here.

Provenance

The following attestation bundles were made for fast_xml_flattener-0.1.8.tar.gz:

Publisher: release.yml on andree0/fast-xml-flattener

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

File details

Details for the file fast_xml_flattener-0.1.8-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for fast_xml_flattener-0.1.8-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 a46cc2ab3169af191378a4bf22da856e77cb2e66a5135f11d7c3e820d81b0dce
MD5 58868e7049510c1e3853d3fb6808fbea
BLAKE2b-256 121d794378569b90b4e463fe82b5f37d4be364a9fce6f2bb28bda33a4570053c

See more details on using hashes here.

Provenance

The following attestation bundles were made for fast_xml_flattener-0.1.8-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: release.yml on andree0/fast-xml-flattener

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

File details

Details for the file fast_xml_flattener-0.1.8-pp311-pypy311_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for fast_xml_flattener-0.1.8-pp311-pypy311_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 70af40d6ea23a5e57dfe7166f2796d68ecb4ba0bf15bcabba969f55340ae38b7
MD5 016191b91887bd6c20290e89205149e4
BLAKE2b-256 0dd5d486f814b651bb4f5fe7edf59f80493b78b189fd0d695bc51b6376a2f2f5

See more details on using hashes here.

Provenance

The following attestation bundles were made for fast_xml_flattener-0.1.8-pp311-pypy311_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:

Publisher: release.yml on andree0/fast-xml-flattener

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

File details

Details for the file fast_xml_flattener-0.1.8-cp314-cp314t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for fast_xml_flattener-0.1.8-cp314-cp314t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 2f596293934b209b7e640d828c9f2b418ace1a862025c7d5e9779a012937731e
MD5 7a39a9207907811f49837f372c379ebc
BLAKE2b-256 9eead0f3fa16b476589aa7adcd1851f6bf4b8a486ebd4918fa1fafbb8c7f8552

See more details on using hashes here.

Provenance

The following attestation bundles were made for fast_xml_flattener-0.1.8-cp314-cp314t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:

Publisher: release.yml on andree0/fast-xml-flattener

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

File details

Details for the file fast_xml_flattener-0.1.8-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for fast_xml_flattener-0.1.8-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 d3e95f1cebc6ad4787edb4075d9a56139e7c2ecf433e563084e6b32dc32b5d61
MD5 399896476bb5ed983481d19b2926049f
BLAKE2b-256 f23a3caa0bb270cb65e93e6c0dd625085d59f86218f9cdeccb2ed23e2673283b

See more details on using hashes here.

Provenance

The following attestation bundles were made for fast_xml_flattener-0.1.8-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: release.yml on andree0/fast-xml-flattener

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

File details

Details for the file fast_xml_flattener-0.1.8-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for fast_xml_flattener-0.1.8-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 0448bc77b6501af1b6e03e5a4ee321f535ad0cf56476bcdd49e8c459c968faaf
MD5 4272638ecd4e922041efc7f1d830043e
BLAKE2b-256 8607ba1e76ccbaad2b18dde0d9353903d7cf7e1ec94bbb947b0bab22de5b0a4c

See more details on using hashes here.

Provenance

The following attestation bundles were made for fast_xml_flattener-0.1.8-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:

Publisher: release.yml on andree0/fast-xml-flattener

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

File details

Details for the file fast_xml_flattener-0.1.8-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for fast_xml_flattener-0.1.8-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 302d2db0ecef6ea20d9c0705099536b8ed5d59398a32825dc36dcef1a7c63c05
MD5 c46536d7db0b1699b481209f9d72cee9
BLAKE2b-256 fa3ab86cb54a2863b0bf8295957b7b07e7474b4291691121ac167ff60fb3f16b

See more details on using hashes here.

Provenance

The following attestation bundles were made for fast_xml_flattener-0.1.8-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:

Publisher: release.yml on andree0/fast-xml-flattener

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

File details

Details for the file fast_xml_flattener-0.1.8-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for fast_xml_flattener-0.1.8-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 d1ed6fd5a7c444fb34435b86ca974beb9e910009103222488c14e27a7386b08a
MD5 bc3a0805dfc6edec3e52da60f46692a6
BLAKE2b-256 cbd8c21c0ff42246341165c80b3334e954c04c53d9e825788d55d48d0b09fab8

See more details on using hashes here.

Provenance

The following attestation bundles were made for fast_xml_flattener-0.1.8-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: release.yml on andree0/fast-xml-flattener

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

File details

Details for the file fast_xml_flattener-0.1.8-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for fast_xml_flattener-0.1.8-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 787efcbd9a4f7a5509aecae1c1bf70b8195cfee6db5a5ba90ed08e0ec6a6e143
MD5 731b71a7b13048fe5fcdf44e200f2b7d
BLAKE2b-256 da6251cf7e69928734757f3526eb7a9a710ced141c028118a28c6db3c0aac010

See more details on using hashes here.

Provenance

The following attestation bundles were made for fast_xml_flattener-0.1.8-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:

Publisher: release.yml on andree0/fast-xml-flattener

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

File details

Details for the file fast_xml_flattener-0.1.8-cp313-cp313-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl.

File metadata

File hashes

Hashes for fast_xml_flattener-0.1.8-cp313-cp313-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl
Algorithm Hash digest
SHA256 c3f0cc0a8ad4de340a151ff51af5a815515c780e229f3bcdbf396d49126f9212
MD5 3e94b5e30e61a475ff28b1ba7786f2ea
BLAKE2b-256 37dc3ed134d889a2b3b62f9c13210c5e239e935b0efa8203191b764bc80701f9

See more details on using hashes here.

Provenance

The following attestation bundles were made for fast_xml_flattener-0.1.8-cp313-cp313-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl:

Publisher: release.yml on andree0/fast-xml-flattener

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

File details

Details for the file fast_xml_flattener-0.1.8-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for fast_xml_flattener-0.1.8-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 3c4916fc536efa6f7f865b178bdc75cd1c70f5ea097136761ee6d2ef41f0a553
MD5 4cccfe71e098a585fa5a3438e33336ec
BLAKE2b-256 f99b3a9fdef8c8749a9c0b549c8f446ad56b38ed127c8e2ae2245a14d9f8d113

See more details on using hashes here.

Provenance

The following attestation bundles were made for fast_xml_flattener-0.1.8-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: release.yml on andree0/fast-xml-flattener

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

File details

Details for the file fast_xml_flattener-0.1.8-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for fast_xml_flattener-0.1.8-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 32fe7ab55480a04944ed96ba72cccbabdddfd2444d50595d1d1337ff4dde411e
MD5 951e968856dfd9d196654b0dca9aa9a5
BLAKE2b-256 c63148c9394b3678140519c360de7f1a57a5cb2744341cc0e277a68e53695067

See more details on using hashes here.

Provenance

The following attestation bundles were made for fast_xml_flattener-0.1.8-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:

Publisher: release.yml on andree0/fast-xml-flattener

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

File details

Details for the file fast_xml_flattener-0.1.8-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for fast_xml_flattener-0.1.8-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 48f83276a105fcbffcda50973f002e3ff9c7f717ba23cf9d9615ca0f87f234b9
MD5 8fed980b3ab5867a7055fd278a60c611
BLAKE2b-256 bf31353fb129d304f6d4b70487bdd9ff8dc6f6c20d664387a05f34cc42094de6

See more details on using hashes here.

Provenance

The following attestation bundles were made for fast_xml_flattener-0.1.8-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: release.yml on andree0/fast-xml-flattener

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

File details

Details for the file fast_xml_flattener-0.1.8-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for fast_xml_flattener-0.1.8-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 777b467ea83fe79813e6d8e2ea35623b04c07f6ec5396c9fd054e39104bf3440
MD5 de3ea7ff7320f6a52582a492362f4906
BLAKE2b-256 121fab374a972f828fdfa819d7c08e7580396166a029a2e2400ae463983b1ecb

See more details on using hashes here.

Provenance

The following attestation bundles were made for fast_xml_flattener-0.1.8-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:

Publisher: release.yml on andree0/fast-xml-flattener

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

File details

Details for the file fast_xml_flattener-0.1.8-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for fast_xml_flattener-0.1.8-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 1c12199d458114bf8fa8d93861aff63976d989a7f6acaea6f27958646d5c687c
MD5 724e6c6df30e13d796e60711e2bc2627
BLAKE2b-256 3e1458fd844f14a0151b37f978e9dfeaacd3f6613f3a8746a7d20a49c30f7871

See more details on using hashes here.

Provenance

The following attestation bundles were made for fast_xml_flattener-0.1.8-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: release.yml on andree0/fast-xml-flattener

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

File details

Details for the file fast_xml_flattener-0.1.8-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for fast_xml_flattener-0.1.8-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 59a14efc360fffa8e0a44fc70d491bc8f48b6604c285856d5ee4f16f4d1fd870
MD5 29f7206f5bc9ffd5b05976b1fd36bc2b
BLAKE2b-256 617caf041dba30934afa86fee357e5fbb80f5105121ee733d6eed416d53b434c

See more details on using hashes here.

Provenance

The following attestation bundles were made for fast_xml_flattener-0.1.8-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:

Publisher: release.yml on andree0/fast-xml-flattener

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

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