Skip to main content

Efficiently convert XML data to Apache Arrow format.

Project description

PyPI version Downloads Build Status Rust License: MIT Python Versions

xml2arrow-python

A Python package for efficiently converting XML files to Apache Arrow tables using a YAML configuration. Powered by the xml2arrow Rust crate for high performance.

Features

  • ๐Ÿš€ High-performance XML parsing via the xml2arrow Rust crate
  • ๐Ÿ“Š Declarative mapping from XML structures to Arrow tables using a YAML config file
  • ๐Ÿ”„ Nested structure support with parentโ€“child index columns linking related tables
  • ๐ŸŽฏ Type conversion including automatic scale and offset transforms for float fields
  • ๐Ÿ’ก Attribute and element extraction using @-prefixed path segments for attributes
  • โน๏ธ Early termination via stop_at_paths for efficiently reading only part of a file
  • ๐Ÿ Flexible input โ€” accepts file paths, path-like objects, readable file-like objects, or in-memory bytes/bytearray (parsed zero-copy, no intermediate buffering)
  • ๐Ÿงต Thread-friendly โ€” the GIL is released while parsing, so threads sharing one parser instance can parse multiple documents in parallel

Installation

pip install xml2arrow

Usage

1. Write a configuration file

The YAML configuration defines which parts of the XML document become tables and how their fields are typed. The full schema is:

parser_options:
  trim_text: <true|false>      # Trim whitespace from text nodes (default: false)
  stop_at_paths: [<xml_path>]  # Stop parsing after these closing tags (optional,
                               # useful for reading only a file header)
tables:
  - name: <table_name>         # Name of the resulting PyArrow RecordBatch
    xml_path: <xml_path>       # Path to the element whose children are rows.
                               # Use "/" to treat the whole document as one row.
    levels: [<level>, ...]     # Parent-link index columns โ€” see "Nested tables"
    fields:
      - name: <field_name>     # Column name
        xml_path: <field_path> # Path to the element or attribute holding the value.
                               # Prefix the last segment with @ for attributes
                               # (e.g. /library/book/@id)
        data_type: <type>      # Arrow data type โ€” see supported types below
        nullable: <true|false> # Whether the field can be null (default: false)
                               # If false, missing/empty tags cause a ParseError.
        scale: <number>        # Multiply float values by this factor (optional)
        offset: <number>       # Add this value to float values after scaling (optional)
                               # value = (value * scale) + offset

Supported data types: Boolean, Int8, UInt8, Int16, UInt16, Int32, UInt32, Int64, UInt64, Float32, Float64, Utf8

Boolean fields accept (case-insensitively): true, false, 1, 0, yes, no, on, off, t, f, y, n.

2. Nested tables and levels

When your XML has a parentโ€“child relationship between tables, levels creates the index columns that link child rows back to their parent rows. Each string in the list names an element at a nesting boundary above the row element, and generates a zero-based uint32 column named <level> in the output.

Note: If a table is defined purely to establish a structural hierarchy (i.e., it has levels defined but an empty fields list), it acts only as a boundary and will be excluded from the final output map.

For example, given stations that each have multiple measurements:

<report>
  <monitoring_stations>
    <monitoring_station>   <!-- boundary โ†’ produces <station> index -->
      <measurements>
        <measurement>      <!-- row element for the measurements table -->
          ...
        </measurement>
      </measurements>
    </monitoring_station>
  </monitoring_stations>
</report>
- name: measurements
  xml_path: /report/monitoring_stations/monitoring_station/measurements
  levels: [station, measurement]
  fields: [...]

This produces a <station> column (which parent station each measurement belongs to) and a <measurement> column (the per-station row counter), letting you join the measurements table back to the stations table on <station>.

3. Parse the XML

import polars as pl
from xml2arrow import XmlToArrowParser

parser = XmlToArrowParser("config.yaml")
record_batches = parser.parse("data.xml")  # also accepts pathlib.Path, bytes,
                                           # bytearray, or any file-like object

# Access a table by name
batch = record_batches["measurements"]     # pyarrow.RecordBatch

# Convert to a pandas DataFrame
df = batch.to_pandas()

# Convert to a Polars DataFrame
df = pl.from_arrow(batch)

# Convert to a PyArrow Table
import pyarrow as pa
table = pa.Table.from_batches([batch])

parse() returns a dict[str, pyarrow.RecordBatch] whose keys are the table names defined in your config. Because the values are standard PyArrow RecordBatch objects they integrate directly with pandas, Polars, DuckDB, and any other tool in the Arrow ecosystem.

Tip: Constructing an XmlToArrowParser validates the config and compiles its path lookup table once, up front. When processing many files with the same config, build the parser once and reuse it across parse() calls โ€” this amortizes that fixed setup cost and is noticeably faster than creating a new parser per file, especially for many small documents.

parser = XmlToArrowParser("config.yaml")  # validate + compile once
for path in xml_files:
    record_batches = parser.parse(path)   # reused for every file
    ...

Example

This example extracts meteorological station data from a nested XML document into three linked Arrow tables.

XML data (stations.xml)

<report>
  <header>
    <title>Meteorological Station Data</title>
    <created_by>National Weather Service</created_by>
    <creation_time>2024-12-30T13:59:15Z</creation_time>
  </header>
  <monitoring_stations>
    <monitoring_station id="MS001">
      <location>
        <latitude>-61.39110459389277</latitude>
        <longitude>48.08662749089257</longitude>
        <elevation>547.1050788360882</elevation>
      </location>
      <measurements>
        <measurement>
          <timestamp>2024-12-30T12:39:15Z</timestamp>
          <temperature unit="C">35.486545480326114</temperature>
          <pressure unit="hPa">950.439973486407</pressure>
          <humidity unit="%">49.77716576844861</humidity>
        </measurement>
        <measurement>
          <timestamp>2024-12-30T12:44:15Z</timestamp>
          <temperature unit="C">29.095166644493865</temperature>
          <pressure unit="hPa">1049.3215015450517</pressure>
          <humidity unit="%">32.5687148391251</humidity>
        </measurement>
      </measurements>
      <metadata>
        <description>Located in the Arctic Tundra area, used for Scientific Research.</description>
        <install_date>2024-03-31</install_date>
      </metadata>
    </monitoring_station>
    <monitoring_station id="MS002">
      <location>
        <latitude>11.891496388319311</latitude>
        <longitude>135.09336983543022</longitude>
        <elevation>174.53349357280004</elevation>
      </location>
      <measurements>
        <measurement>
          <timestamp>2024-12-30T12:39:15Z</timestamp>
          <temperature unit="C">24.791842953632283</temperature>
          <pressure unit="hPa">989.4054287187706</pressure>
          <humidity unit="%">57.70794884397625</humidity>
        </measurement>
        <measurement>
          <timestamp>2024-12-30T12:44:15Z</timestamp>
          <temperature unit="C">15.153690541845911</temperature>
          <pressure unit="hPa">1001.413052919951</pressure>
          <humidity unit="%">45.45094598045342</humidity>
        </measurement>
        <measurement>
          <timestamp>2024-12-30T12:49:15Z</timestamp>
          <temperature unit="C">-4.022555715139081</temperature>
          <pressure unit="hPa">1000.5225751769922</pressure>
          <humidity unit="%">70.40117458947834</humidity>
        </measurement>
        <measurement>
          <timestamp>2024-12-30T12:54:15Z</timestamp>
          <temperature unit="C">25.852920542644185</temperature>
          <pressure unit="hPa">953.762785698162</pressure>
          <humidity unit="%">42.62088244545566</humidity>
        </measurement>
      </measurements>
      <metadata>
        <description>Located in the Desert area, used for Weather Forecasting.</description>
        <install_date>2024-01-17</install_date>
      </metadata>
    </monitoring_station>
  </monitoring_stations>
</report>

Configuration (stations.yaml)

tables:
  - name: report
    xml_path: /
    levels: []
    fields:
      - name: title
        xml_path: /report/header/title
        data_type: Utf8
      - name: created_by
        xml_path: /report/header/created_by
        data_type: Utf8
      - name: creation_time
        xml_path: /report/header/creation_time
        data_type: Utf8

  - name: stations
    xml_path: /report/monitoring_stations
    levels:
      - station
    fields:
      - name: id
        xml_path: /report/monitoring_stations/monitoring_station/@id
        data_type: Utf8
      - name: latitude
        xml_path: /report/monitoring_stations/monitoring_station/location/latitude
        data_type: Float32
      - name: longitude
        xml_path: /report/monitoring_stations/monitoring_station/location/longitude
        data_type: Float32
      - name: elevation
        xml_path: /report/monitoring_stations/monitoring_station/location/elevation
        data_type: Float32
      - name: description
        xml_path: /report/monitoring_stations/monitoring_station/metadata/description
        data_type: Utf8
      - name: install_date
        xml_path: /report/monitoring_stations/monitoring_station/metadata/install_date
        data_type: Utf8

  - name: measurements
    xml_path: /report/monitoring_stations/monitoring_station/measurements
    levels:
      - station      # Links each measurement back to its parent station
      - measurement
    fields:
      - name: timestamp
        xml_path: /report/monitoring_stations/monitoring_station/measurements/measurement/timestamp
        data_type: Utf8
      - name: temperature
        xml_path: /report/monitoring_stations/monitoring_station/measurements/measurement/temperature
        data_type: Float64
        offset: 273.15   # Convert ยฐC โ†’ K
      - name: pressure
        xml_path: /report/monitoring_stations/monitoring_station/measurements/measurement/pressure
        data_type: Float64
        scale: 100.0     # Convert hPa โ†’ Pa
      - name: humidity
        xml_path: /report/monitoring_stations/monitoring_station/measurements/measurement/humidity
        data_type: Float64

Parsing and using the output

import polars as pl
from xml2arrow import XmlToArrowParser

parser = XmlToArrowParser("stations.yaml")
record_batches = parser.parse("stations.xml")

stations_df = pl.from_arrow(record_batches["stations"])
measurements_df = pl.from_arrow(record_batches["measurements"])

# Join measurements back to their parent station using the <station> index
merged = measurements_df.join(
    stations_df.select(["<station>", "id"]),
    on="<station>",
)
print(merged.select(["id", "timestamp", "temperature", "pressure"]))

Output

- report:
 โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
 โ”‚ title                       โ”† created_by               โ”† creation_time        โ”‚
 โ”‚ ---                         โ”† ---                      โ”† ---                  โ”‚
 โ”‚ str                         โ”† str                      โ”† str                  โ”‚
 โ•žโ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•ชโ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•ชโ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•ก
 โ”‚ Meteorological Station Data โ”† National Weather Service โ”† 2024-12-30T13:59:15Z โ”‚
 โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

- stations:
 โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
 โ”‚ <station> โ”† id    โ”† latitude   โ”† longitude  โ”† elevation  โ”† description            โ”† install_date โ”‚
 โ”‚ ---       โ”† ---   โ”† ---        โ”† ---        โ”† ---        โ”† ---                    โ”† ---          โ”‚
 โ”‚ u32       โ”† str   โ”† f32        โ”† f32        โ”† f32        โ”† str                    โ”† str          โ”‚
 โ•žโ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•ชโ•โ•โ•โ•โ•โ•โ•โ•ชโ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•ชโ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•ชโ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•ชโ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•ชโ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•ก
 โ”‚ 0         โ”† MS001 โ”† -61.391106 โ”† 48.086628  โ”† 547.105103 โ”† Located in the Arctic  โ”† 2024-03-31   โ”‚
 โ”‚           โ”†       โ”†            โ”†            โ”†            โ”† Tundra aโ€ฆ              โ”†              โ”‚
 โ”‚ 1         โ”† MS002 โ”† 11.891497  โ”† 135.093369 โ”† 174.533493 โ”† Located in the Desert  โ”† 2024-01-17   โ”‚
 โ”‚           โ”†       โ”†            โ”†            โ”†            โ”† area, usโ€ฆ              โ”†              โ”‚
 โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

- measurements:
 โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
 โ”‚ <station> โ”† <measurement> โ”† timestamp            โ”† temperature โ”† pressure      โ”† humidity  โ”‚
 โ”‚ ---       โ”† ---           โ”† ---                  โ”† ---         โ”† ---           โ”† ---       โ”‚
 โ”‚ u32       โ”† u32           โ”† str                  โ”† f64         โ”† f64           โ”† f64       โ”‚
 โ•žโ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•ชโ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•ชโ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•ชโ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•ชโ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•ชโ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•ก
 โ”‚ 0         โ”† 0             โ”† 2024-12-30T12:39:15Z โ”† 308.636545  โ”† 95043.997349  โ”† 49.777166 โ”‚
 โ”‚ 0         โ”† 1             โ”† 2024-12-30T12:44:15Z โ”† 302.245167  โ”† 104932.150155 โ”† 32.568715 โ”‚
 โ”‚ 1         โ”† 0             โ”† 2024-12-30T12:39:15Z โ”† 297.941843  โ”† 98940.542872  โ”† 57.707949 โ”‚
 โ”‚ 1         โ”† 1             โ”† 2024-12-30T12:44:15Z โ”† 288.303691  โ”† 100141.305292 โ”† 45.450946 โ”‚
 โ”‚ 1         โ”† 2             โ”† 2024-12-30T12:49:15Z โ”† 269.127444  โ”† 100052.257518 โ”† 70.401175 โ”‚
 โ”‚ 1         โ”† 3             โ”† 2024-12-30T12:54:15Z โ”† 299.002921  โ”† 95376.27857   โ”† 42.620882 โ”‚
 โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

The <station> index in the measurements table links each measurement to its parent station by row position, enabling a join on stations.<station> = measurements.<station>.

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

xml2arrow-0.18.0.tar.gz (37.5 kB view details)

Uploaded Source

Built Distributions

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

xml2arrow-0.18.0-cp310-abi3-win_amd64.whl (431.2 kB view details)

Uploaded CPython 3.10+Windows x86-64

xml2arrow-0.18.0-cp310-abi3-win32.whl (405.3 kB view details)

Uploaded CPython 3.10+Windows x86

xml2arrow-0.18.0-cp310-abi3-musllinux_1_2_x86_64.whl (714.0 kB view details)

Uploaded CPython 3.10+musllinux: musl 1.2+ x86-64

xml2arrow-0.18.0-cp310-abi3-musllinux_1_2_i686.whl (743.2 kB view details)

Uploaded CPython 3.10+musllinux: musl 1.2+ i686

xml2arrow-0.18.0-cp310-abi3-musllinux_1_2_armv7l.whl (773.3 kB view details)

Uploaded CPython 3.10+musllinux: musl 1.2+ ARMv7l

xml2arrow-0.18.0-cp310-abi3-musllinux_1_2_aarch64.whl (656.7 kB view details)

Uploaded CPython 3.10+musllinux: musl 1.2+ ARM64

xml2arrow-0.18.0-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (501.9 kB view details)

Uploaded CPython 3.10+manylinux: glibc 2.17+ x86-64

xml2arrow-0.18.0-cp310-abi3-manylinux_2_17_s390x.manylinux2014_s390x.whl (567.6 kB view details)

Uploaded CPython 3.10+manylinux: glibc 2.17+ s390x

xml2arrow-0.18.0-cp310-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (546.8 kB view details)

Uploaded CPython 3.10+manylinux: glibc 2.17+ ppc64le

xml2arrow-0.18.0-cp310-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (496.5 kB view details)

Uploaded CPython 3.10+manylinux: glibc 2.17+ ARMv7l

xml2arrow-0.18.0-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (479.2 kB view details)

Uploaded CPython 3.10+manylinux: glibc 2.17+ ARM64

xml2arrow-0.18.0-cp310-abi3-manylinux_2_5_i686.manylinux1_i686.whl (530.7 kB view details)

Uploaded CPython 3.10+manylinux: glibc 2.5+ i686

xml2arrow-0.18.0-cp310-abi3-macosx_11_0_arm64.whl (461.6 kB view details)

Uploaded CPython 3.10+macOS 11.0+ ARM64

xml2arrow-0.18.0-cp310-abi3-macosx_10_12_x86_64.whl (482.3 kB view details)

Uploaded CPython 3.10+macOS 10.12+ x86-64

File details

Details for the file xml2arrow-0.18.0.tar.gz.

File metadata

  • Download URL: xml2arrow-0.18.0.tar.gz
  • Upload date:
  • Size: 37.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: maturin/1.14.1

File hashes

Hashes for xml2arrow-0.18.0.tar.gz
Algorithm Hash digest
SHA256 68a734c99f177d4e371b9de9dde308720e84813faf804e7f02383d1fed9fa959
MD5 bdd4949820bfb13071a7a0df42e490e2
BLAKE2b-256 47355621541e025b132a83da775c1408627e3a48faccf6c7664f8815469c2cd4

See more details on using hashes here.

File details

Details for the file xml2arrow-0.18.0-cp310-abi3-win_amd64.whl.

File metadata

File hashes

Hashes for xml2arrow-0.18.0-cp310-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 4492d7f06b646c849e50037e328a660f625f3eae79ed28b99ec1d75ece14216b
MD5 72c7d69fc3c890b90ac628fd11f7e58e
BLAKE2b-256 aa5720b963561f615ae1782bb9e488f140736ff13ce73e92f7edbe3013d58111

See more details on using hashes here.

File details

Details for the file xml2arrow-0.18.0-cp310-abi3-win32.whl.

File metadata

  • Download URL: xml2arrow-0.18.0-cp310-abi3-win32.whl
  • Upload date:
  • Size: 405.3 kB
  • Tags: CPython 3.10+, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: maturin/1.14.1

File hashes

Hashes for xml2arrow-0.18.0-cp310-abi3-win32.whl
Algorithm Hash digest
SHA256 3ef195eaf03223521af32fc5020339faaf5b783e9418427b09f361ead53d4ee4
MD5 c159fcc1624f290227e5f84a253e58e5
BLAKE2b-256 bac3b0d85d2f92179756c63be3397198b0b77eca4a542375036eef9aeb88fd9b

See more details on using hashes here.

File details

Details for the file xml2arrow-0.18.0-cp310-abi3-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for xml2arrow-0.18.0-cp310-abi3-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 fa3357c0d14666a0f421eb7bc36384a0afd0ac3e180e0974cab568a0e51e35de
MD5 ddfad426f815b1f2b98e7a78f08a0d1a
BLAKE2b-256 6971e2f101dae15b2eb4900993d37ba5db6cb7a7906facf22b33f364b2c6b987

See more details on using hashes here.

File details

Details for the file xml2arrow-0.18.0-cp310-abi3-musllinux_1_2_i686.whl.

File metadata

File hashes

Hashes for xml2arrow-0.18.0-cp310-abi3-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 52f8b63315feb849fc5e8cd8df14991093ec166b40ce7ad4d153df8d6f7fc5f8
MD5 ae645f0ce3c00c0696d5c2a13a6893b7
BLAKE2b-256 72ff987c2a69e9aecdcdcbe0b1a4163d07910d6920f09ed2b62b69795e220a30

See more details on using hashes here.

File details

Details for the file xml2arrow-0.18.0-cp310-abi3-musllinux_1_2_armv7l.whl.

File metadata

File hashes

Hashes for xml2arrow-0.18.0-cp310-abi3-musllinux_1_2_armv7l.whl
Algorithm Hash digest
SHA256 e64143b262e96820da124fcf9dc44c5d9d979954e9a79e023e4a3a46825be0cf
MD5 abb48daf72edc26c509c80903892a493
BLAKE2b-256 2b489cf96a94aaf0d79be58566d4ff03079eb9b09e46cb8cea30328a884f69be

See more details on using hashes here.

File details

Details for the file xml2arrow-0.18.0-cp310-abi3-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for xml2arrow-0.18.0-cp310-abi3-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 76438a887074e7b748cfba443865557e67568e7d92306a98949fd73079bda2a7
MD5 878d4a9f8099f49d12937be01557d670
BLAKE2b-256 da9b825594dd61dab584d755836082eb89ac100a1e71d298d2fbc78536b1e92e

See more details on using hashes here.

File details

Details for the file xml2arrow-0.18.0-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for xml2arrow-0.18.0-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 d678de4cb0c32a6b72c5e7b1d36d0bc1cf0aa44b5741e3686523e84cf68c8715
MD5 64225c5900dac2ed1ce0d1ba7b1db4ec
BLAKE2b-256 494e21bf18edfae9f87daf6523a63e3049a5115088863a30dc52de37b2919cca

See more details on using hashes here.

File details

Details for the file xml2arrow-0.18.0-cp310-abi3-manylinux_2_17_s390x.manylinux2014_s390x.whl.

File metadata

File hashes

Hashes for xml2arrow-0.18.0-cp310-abi3-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 ebca713f715af3c0873247004b70a93af1354876e21bfea53e02a751a49169bb
MD5 1658a6ff100956924952e6745199c945
BLAKE2b-256 3e33ee5d3641c8f151bfd8c69be2848586ae3875d0e7edbaa03e056426d65ee8

See more details on using hashes here.

File details

Details for the file xml2arrow-0.18.0-cp310-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl.

File metadata

File hashes

Hashes for xml2arrow-0.18.0-cp310-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 63fb519e4724b54a2ca3f12cfe05d40f075f342c659a016d59c948e859121079
MD5 9c9a355b456b7939502c5e24c64603e9
BLAKE2b-256 7f9a2d63bc774c1a2c31dca1488220e50ebc84eb8c286a6c3ea300a602537f0e

See more details on using hashes here.

File details

Details for the file xml2arrow-0.18.0-cp310-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl.

File metadata

File hashes

Hashes for xml2arrow-0.18.0-cp310-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 0c14d2e08c41e4c0c8a22f417ce83fc362ebd1bc5f38a2283fcdbf8d877cc9e9
MD5 e6afdf2ae3594678d2f3207c20903287
BLAKE2b-256 0226151b96d085e5e0da36cdca92e2ec99183aebaf3f5cfdc81b0b3d25559ad1

See more details on using hashes here.

File details

Details for the file xml2arrow-0.18.0-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for xml2arrow-0.18.0-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 87fd9e47a3075c6e590f00a79777cbf45990f829a6146a5069bd0ba7b5e1631c
MD5 4e6af040375e30db9052336d164ed239
BLAKE2b-256 320991bec1de47eaf2191d0002ccc237aeca3b31836a9241b0b93fd05195d2cf

See more details on using hashes here.

File details

Details for the file xml2arrow-0.18.0-cp310-abi3-manylinux_2_5_i686.manylinux1_i686.whl.

File metadata

File hashes

Hashes for xml2arrow-0.18.0-cp310-abi3-manylinux_2_5_i686.manylinux1_i686.whl
Algorithm Hash digest
SHA256 ea8aebdd0e55546aa8ded288a8ee5410b5caedacd5b4cd69a83fdb54008e8169
MD5 75f798bfe8eab82f08f9e6bc847409d0
BLAKE2b-256 0e91347547b5751fd8d87228a6ac65e65f695ca8297f317f3132cc16d62e0766

See more details on using hashes here.

File details

Details for the file xml2arrow-0.18.0-cp310-abi3-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for xml2arrow-0.18.0-cp310-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 76f7d63a9e78f73d386aa5cb8fe17bd21e750a42cc070fc7ee2e8d36d3dd6c2c
MD5 b204feba20a035224777b84c22869b38
BLAKE2b-256 efd5b35ff89bb97de82fe731ec731fbe917a3fbb2948b0c0a823b542ff08cff5

See more details on using hashes here.

File details

Details for the file xml2arrow-0.18.0-cp310-abi3-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for xml2arrow-0.18.0-cp310-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 352245b8bba84c319bcab1a05c4921d17aa127ea72ee7153f4d6557316969068
MD5 64e2f0da686ad35eb8ac3ac2d19bffe7
BLAKE2b-256 b7359aedeb7d78e0db25ade053cdd61ffce33fdc6af84daf778f3a470e39383b

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page