Skip to main content

RXML is a python library to read and write xml files up to 2 times faster than python's xml included library.

Project description

rxml

What is rxml?

rxml is a simple python library to read xml files up to 2 times faster than python's xml(ElementTree) library.

Installation

To install rxml you can use pip:

pip install rxml

Simply as that!

Example usage

To a given xml with test.xml as name:

<?xml version="1.0" encoding="UTF-8"?>
<note example_attr="example value">
    <to>
        <name>Example Name</name>
    </to>
    <from>
        <name>Example Name</name>
    </from>
    <heading>An Example Heading</heading>
    <body>An Example Body!</body>
</note>

We write the following python code:

from rxml import read_file

root_node = read_file("test.xml", "note")

where "test.xml" is the file_name and "note" is the root_tag.

After that we can simply iter through the children with:

for node in root_node.children:
    # do something with the node here

You can also write it to a file or string(refer to the .pyi file for the args).

from rxml import Node, write_file

example_node = Node(
    name="hello_world", 
    attrs={"example_attr": "example"},
    text="Hello World!"
)
write_file(example_node, "test_ex.xml")

Node attributes

This is how the Node looks like:

class Node:
    name: str
    attrs: dict[str, str]
    children: list[Node]
    text: str

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

rxml-1.1.0.tar.gz (8.7 kB view hashes)

Uploaded Source

Built Distributions

rxml-1.1.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.1 MB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ x86-64

rxml-1.1.0-pp310-pypy310_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl (1.2 MB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ s390x

rxml-1.1.0-pp310-pypy310_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (1.2 MB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ ppc64le

rxml-1.1.0-pp310-pypy310_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (1.1 MB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ ARMv7l

rxml-1.1.0-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.0 MB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ ARM64

rxml-1.1.0-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.whl (1.1 MB view hashes)

Uploaded PyPy manylinux: glibc 2.5+ i686

rxml-1.1.0-cp312-none-win_amd64.whl (170.7 kB view hashes)

Uploaded CPython 3.12 Windows x86-64

rxml-1.1.0-cp312-none-win32.whl (163.7 kB view hashes)

Uploaded CPython 3.12 Windows x86

rxml-1.1.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.1 MB view hashes)

Uploaded CPython 3.12 manylinux: glibc 2.17+ x86-64

rxml-1.1.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl (1.2 MB view hashes)

Uploaded CPython 3.12 manylinux: glibc 2.17+ s390x

rxml-1.1.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (1.2 MB view hashes)

Uploaded CPython 3.12 manylinux: glibc 2.17+ ppc64le

rxml-1.1.0-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (1.1 MB view hashes)

Uploaded CPython 3.12 manylinux: glibc 2.17+ ARMv7l

rxml-1.1.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.0 MB view hashes)

Uploaded CPython 3.12 manylinux: glibc 2.17+ ARM64

rxml-1.1.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl (1.1 MB view hashes)

Uploaded CPython 3.12 manylinux: glibc 2.5+ i686

rxml-1.1.0-cp312-cp312-macosx_11_0_arm64.whl (282.2 kB view hashes)

Uploaded CPython 3.12 macOS 11.0+ ARM64

rxml-1.1.0-cp312-cp312-macosx_10_12_x86_64.whl (285.5 kB view hashes)

Uploaded CPython 3.12 macOS 10.12+ x86-64

rxml-1.1.0-cp311-none-win_amd64.whl (170.7 kB view hashes)

Uploaded CPython 3.11 Windows x86-64

rxml-1.1.0-cp311-none-win32.whl (165.6 kB view hashes)

Uploaded CPython 3.11 Windows x86

rxml-1.1.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.1 MB view hashes)

Uploaded CPython 3.11 manylinux: glibc 2.17+ x86-64

rxml-1.1.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl (1.2 MB view hashes)

Uploaded CPython 3.11 manylinux: glibc 2.17+ s390x

rxml-1.1.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (1.2 MB view hashes)

Uploaded CPython 3.11 manylinux: glibc 2.17+ ppc64le

rxml-1.1.0-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (1.1 MB view hashes)

Uploaded CPython 3.11 manylinux: glibc 2.17+ ARMv7l

rxml-1.1.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.0 MB view hashes)

Uploaded CPython 3.11 manylinux: glibc 2.17+ ARM64

rxml-1.1.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl (1.1 MB view hashes)

Uploaded CPython 3.11 manylinux: glibc 2.5+ i686

rxml-1.1.0-cp311-cp311-macosx_11_0_arm64.whl (282.7 kB view hashes)

Uploaded CPython 3.11 macOS 11.0+ ARM64

rxml-1.1.0-cp311-cp311-macosx_10_12_x86_64.whl (286.4 kB view hashes)

Uploaded CPython 3.11 macOS 10.12+ x86-64

rxml-1.1.0-cp310-none-win_amd64.whl (170.8 kB view hashes)

Uploaded CPython 3.10 Windows x86-64

rxml-1.1.0-cp310-none-win32.whl (166.0 kB view hashes)

Uploaded CPython 3.10 Windows x86

rxml-1.1.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.1 MB view hashes)

Uploaded CPython 3.10 manylinux: glibc 2.17+ x86-64

rxml-1.1.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl (1.2 MB view hashes)

Uploaded CPython 3.10 manylinux: glibc 2.17+ s390x

rxml-1.1.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (1.2 MB view hashes)

Uploaded CPython 3.10 manylinux: glibc 2.17+ ppc64le

rxml-1.1.0-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (1.1 MB view hashes)

Uploaded CPython 3.10 manylinux: glibc 2.17+ ARMv7l

rxml-1.1.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.0 MB view hashes)

Uploaded CPython 3.10 manylinux: glibc 2.17+ ARM64

rxml-1.1.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl (1.1 MB view hashes)

Uploaded CPython 3.10 manylinux: glibc 2.5+ i686

rxml-1.1.0-cp310-cp310-macosx_11_0_arm64.whl (283.4 kB view hashes)

Uploaded CPython 3.10 macOS 11.0+ ARM64

rxml-1.1.0-cp310-cp310-macosx_10_12_x86_64.whl (286.8 kB view hashes)

Uploaded CPython 3.10 macOS 10.12+ x86-64

Supported by

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