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 Development

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
get_root_tag_name(xml) str Local name of the document root (namespace prefix stripped); reads only the prologue

Parser options (keyword-only)

All output functions accept the following keyword-only options:

Option Default Applies to Effect
strip_whitespace True all Trim leading/trailing whitespace from text values and drop whitespace-only text between elements (xmltodict-style). With False every byte is preserved verbatim.
keep_namespace_declarations False all When True, xmlns / xmlns:* attributes are kept under their full key (@xmlns, @xmlns:tns). Tag names still have their prefix stripped.
index_as_key False to_flatten_json, to_flatten_dict, to_csv, to_parquet When True, repeated-tag indices use <separator><i> (r.i.0) instead of bracket notation (r.i[0]). Plays well with the chosen separator (r>i>0 with separator=">").
import fast_xml_flattener as fxf

xml = '''
<tns:root xmlns:tns="http://example.com">
  <tns:item>  hi  </tns:item>
  <tns:i>1</tns:i>
  <tns:i>2</tns:i>
</tns:root>'''

# Default (xmltodict-like): trimmed, no xmlns, bracket-indexed arrays
fxf.to_flatten_dict(xml)
# {"root.item": "hi", "root.i[0]": "1", "root.i[1]": "2"}

# Keep namespace declarations + dotted indices
fxf.to_flatten_dict(xml, keep_namespace_declarations=True, index_as_key=True)
# {"root.@xmlns:tns": "http://example.com",
#  "root.item": "hi",
#  "root.i.0": "1",
#  "root.i.1": "2"}

# Custom separator with dotted indices
fxf.to_flatten_dict(xml, separator=">", index_as_key=True)
# {"root>item": "hi", "root>i>0": "1", "root>i>1": "2"}

# Preserve raw whitespace
fxf.to_dict("<a>  hi  </a>", strip_whitespace=False)
# {"a": "  hi  "}

# Cheap root-tag lookup (no full parse)
fxf.get_root_tag_name(xml)                # "root"
fxf.get_root_tag_name("data.xml")         # reads only the prologue

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

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

Note on Development: Architected by me, implemented with AI. This project explores high-performance Rust-Python integration through modern AI-assisted engineering.

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.2.0.tar.gz (50.5 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.2.0-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.2.0-cp315-cp315-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.3 MB view details)

Uploaded CPython 3.15manylinux: glibc 2.17+ x86-64

fast_xml_flattener-0.2.0-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.2.0-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.3 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.17+ x86-64

fast_xml_flattener-0.2.0-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.2.0-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.2.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.3 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

fast_xml_flattener-0.2.0-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.2.0-cp313-cp313-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl (2.5 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.2.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.3 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

fast_xml_flattener-0.2.0-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.2.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.3 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

fast_xml_flattener-0.2.0-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.2.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.3 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

fast_xml_flattener-0.2.0-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.2.0.tar.gz.

File metadata

  • Download URL: fast_xml_flattener-0.2.0.tar.gz
  • Upload date:
  • Size: 50.5 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.2.0.tar.gz
Algorithm Hash digest
SHA256 297d941d9a2b930f51f78e353fc6c7ed9324dbfb4c717ea52be48f35be12380f
MD5 570f5cf24aa4146a67605f7548ebb9c6
BLAKE2b-256 e7bc87aa6a88a619c4e3bd7e1d8cf193ab7e487b067bfddbda6e8399ef642e65

See more details on using hashes here.

Provenance

The following attestation bundles were made for fast_xml_flattener-0.2.0.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.2.0-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for fast_xml_flattener-0.2.0-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 cde99dc45a6f3d3d46ef712847c7b3a0e14f17b5e5c4df3e88546b8b0d502015
MD5 5034f39f00892d1ef8894a91405fb3e7
BLAKE2b-256 af5deaa72a9324053afe8e4e05fcd9b4afd640f6842583bfd0cceaaa8f28b09f

See more details on using hashes here.

Provenance

The following attestation bundles were made for fast_xml_flattener-0.2.0-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.2.0-pp311-pypy311_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for fast_xml_flattener-0.2.0-pp311-pypy311_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 451bab803d968b309c682ebbe1b108e711d9f5aebdc3283daabd996c4a60f291
MD5 b82dd2c8b8d44d527e7b806f12415d1f
BLAKE2b-256 70dfb80eaceb13d99fb6e6561691822e0c5687c982d53997c315a02d1ecb0554

See more details on using hashes here.

Provenance

The following attestation bundles were made for fast_xml_flattener-0.2.0-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.2.0-cp315-cp315-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for fast_xml_flattener-0.2.0-cp315-cp315-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 beda65d90d752325d4ef9da4c39571db5ba99e111dda61cfe3d92e0b1ff8a524
MD5 863290f02c4c4e7d8fda9c8a1b4a27bb
BLAKE2b-256 75b73d133d15b3ce969399e12a9291e9b4bc0cc0946a1a3f980f00285690f7e6

See more details on using hashes here.

Provenance

The following attestation bundles were made for fast_xml_flattener-0.2.0-cp315-cp315-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.2.0-cp314-cp314t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for fast_xml_flattener-0.2.0-cp314-cp314t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 a19d41ca320af1af1271923ccecb9bb7537dc6955e0e1efc5ea82e16ff861242
MD5 22cd530536cdf61e0fa17da75a07834d
BLAKE2b-256 ef71b594ab743a6d51eac6bad8e228e99353d0d77ca26c6e3272989031b409bf

See more details on using hashes here.

Provenance

The following attestation bundles were made for fast_xml_flattener-0.2.0-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.2.0-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for fast_xml_flattener-0.2.0-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 db1170e6c291f9cdd0a2e46dae013ccb3b03d240b606332e761d6990d14a674e
MD5 f37bfdaeeccd80cd25ed68bb9c371cd2
BLAKE2b-256 0eea076a3a28d7ed2477488861b6d356e066e117d76cac1c48730534b85c55a5

See more details on using hashes here.

Provenance

The following attestation bundles were made for fast_xml_flattener-0.2.0-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.2.0-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for fast_xml_flattener-0.2.0-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 db979def0354cfe92cf35f8de36a8fa0b3c75316b202346030dba263e70e1903
MD5 41d756204b0dc485966a1aeabaf30f7e
BLAKE2b-256 43613909eb1e328db1ad3220232e1be3b1a803cfe7ed7a85be05b3d36e79e98a

See more details on using hashes here.

Provenance

The following attestation bundles were made for fast_xml_flattener-0.2.0-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.2.0-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for fast_xml_flattener-0.2.0-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 9b61299213491dfa67f6e96d480bce00b187989bdb9b49e28e189fb462c1d086
MD5 891f8e65d1feebe4a9c26d9c660ea9ef
BLAKE2b-256 edc21941c98b75a0c00e021bc1ee51311ed3f64766ed6d670a1dedf0232bda7f

See more details on using hashes here.

Provenance

The following attestation bundles were made for fast_xml_flattener-0.2.0-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.2.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for fast_xml_flattener-0.2.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 9a805f1a303a3b3d71759b494cf7ea2456aa2674843cb4b39ec212d4e812497f
MD5 27acf01ea81f0a150032a6bf25f78bb1
BLAKE2b-256 0db819c4dfb2e0ba52c33ec0bf03094a921769c1943a227f222107cd53b039e1

See more details on using hashes here.

Provenance

The following attestation bundles were made for fast_xml_flattener-0.2.0-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.2.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for fast_xml_flattener-0.2.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 d98666dcda9b0bf3ea127c71db549c6e0a6aa8bbb6a8dd4a24749df8b92e5e68
MD5 9a74ff75a77d2000ba1d809c4cbd5004
BLAKE2b-256 32339bf4ea7c3ff9f34b70a085397c97928e16e6763bec41cb27cd5f4c9a99a0

See more details on using hashes here.

Provenance

The following attestation bundles were made for fast_xml_flattener-0.2.0-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.2.0-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.2.0-cp313-cp313-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl
Algorithm Hash digest
SHA256 77bd392250e517eb37c5d21a114ef6caad0a9c2fb2a2e0edac1e9801fe91aa32
MD5 9bf308fc0f2b7b7a48ef8f4657a6532e
BLAKE2b-256 d59aea1f31322c9ce83c829dff430636ab791d2ba3af818403aee98151bc8b8a

See more details on using hashes here.

Provenance

The following attestation bundles were made for fast_xml_flattener-0.2.0-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.2.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for fast_xml_flattener-0.2.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 6987dd2e3b80d9bf6988db4a38edd09ea31b7a130559cfa26a4d2107136f0573
MD5 4fe3fff8f79fe9a34ffb8410c0df5884
BLAKE2b-256 531f65e99a4315caa720192a66f94494ee5cd0a7f2ab59a21902e8e4c6f2879d

See more details on using hashes here.

Provenance

The following attestation bundles were made for fast_xml_flattener-0.2.0-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.2.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for fast_xml_flattener-0.2.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 f88d2a8f316e22fa71ddf54447293f67bca32a60318ad6538c9850fa6600c6e1
MD5 905d580b7f9a1b2b31f70cf6328b1d3b
BLAKE2b-256 fe8c913a966ce759d2932403855d0b426d9e9a8542b9889d512627df9f0b23a8

See more details on using hashes here.

Provenance

The following attestation bundles were made for fast_xml_flattener-0.2.0-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.2.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for fast_xml_flattener-0.2.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 d4831992f4a7cfe6435e5549538d38ace8c820011a6b8d6c411a960e3388a1bb
MD5 6470ee0a619d456abf3237888d151944
BLAKE2b-256 cc4b813d16697e9d4b1dbd35222e3d65e1f4fb1b54dd698d8fb8e97987bf73e4

See more details on using hashes here.

Provenance

The following attestation bundles were made for fast_xml_flattener-0.2.0-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.2.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for fast_xml_flattener-0.2.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 ce23ed27e92cae9cd2ab0f877cea8bd0928ec929207ee80accf04739966862c2
MD5 d1b63b0cd416aef9a8f3f3491859715e
BLAKE2b-256 33f1b88752ce24da3b48c7ef0b93222af5fa1ad8dbb03d8eae1afab101ec106c

See more details on using hashes here.

Provenance

The following attestation bundles were made for fast_xml_flattener-0.2.0-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.2.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for fast_xml_flattener-0.2.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 7158234a37200ec8644861183394d53fa485e8d359f872dcb810da989e3201d0
MD5 255af797dbf56df864e0a223dc354d74
BLAKE2b-256 1b3c97bda6164d59d49673e4eb54d089e1d98d266b353f1d231354c2a7720fd1

See more details on using hashes here.

Provenance

The following attestation bundles were made for fast_xml_flattener-0.2.0-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.2.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for fast_xml_flattener-0.2.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 98516fb5ff229dba2793a185f5c79f254324f0b6e0b4fd378bd4d0e220e72678
MD5 0fa429adc28961083d144c805a820214
BLAKE2b-256 0ffa7455986cd85950a6818fd1694ece7562b6f1885beefd7af32c0086921e75

See more details on using hashes here.

Provenance

The following attestation bundles were made for fast_xml_flattener-0.2.0-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