Skip to main content

Small JUnit XML serialization/deserialization for Python

Project description

juwunit

juwunit is a small JUnit XML serializer and deserializer for Python.

It's a small Python layer on top of the excellent quick-junit.

Usage

Install it:

uv add juwunit

Loading a report:

import juwunit

report = juwunit.Report.from_xml("...")
for suite in report.test_suites:
    for case in suite.test_cases:
        print(f"{case.name}: {case.status}")

Building a report:

import juwunit

case = juwunit.TestCase("my-test", status=juwunit.Success())
suite = juwunit.TestSuite("my-suite")
suite.add_test_case(case)
report = juwunit.Report("my-report")
report.add_test_suite(suite)

print(report.to_xml())

The Python API follows quick-junit closely while using Python-native types where that is more natural:

  • uuid.UUID for report UUIDs
  • timezone-aware datetime.datetime for timestamps
  • datetime.timedelta for durations
  • Success, Failure, Error, and Skipped status objects
  • dict[str, str]-style extra attributes and ordered Property objects

Development

Install the editable extension:

uv run --dev maturin develop

Run the unit tests:

# rust side
cargo test

# python side
uv run --dev pytest

Linting/formatting/typechecking:

uv run --dev ruff format
uv run --dev ruff check --fix
uv run --dev ty check

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

juwunit-0.1.2.tar.gz (35.5 kB view details)

Uploaded Source

Built Distributions

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

juwunit-0.1.2-cp310-abi3-win_arm64.whl (640.8 kB view details)

Uploaded CPython 3.10+Windows ARM64

juwunit-0.1.2-cp310-abi3-win_amd64.whl (690.2 kB view details)

Uploaded CPython 3.10+Windows x86-64

juwunit-0.1.2-cp310-abi3-musllinux_1_2_x86_64.whl (607.0 kB view details)

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

juwunit-0.1.2-cp310-abi3-musllinux_1_2_aarch64.whl (587.6 kB view details)

Uploaded CPython 3.10+musllinux: musl 1.2+ ARM64

juwunit-0.1.2-cp310-abi3-manylinux_2_34_x86_64.whl (525.7 kB view details)

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

juwunit-0.1.2-cp310-abi3-manylinux_2_34_aarch64.whl (519.8 kB view details)

Uploaded CPython 3.10+manylinux: glibc 2.34+ ARM64

juwunit-0.1.2-cp310-abi3-macosx_11_0_arm64.whl (471.8 kB view details)

Uploaded CPython 3.10+macOS 11.0+ ARM64

juwunit-0.1.2-cp310-abi3-macosx_10_12_x86_64.whl (482.8 kB view details)

Uploaded CPython 3.10+macOS 10.12+ x86-64

File details

Details for the file juwunit-0.1.2.tar.gz.

File metadata

  • Download URL: juwunit-0.1.2.tar.gz
  • Upload date:
  • Size: 35.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.14 {"installer":{"name":"uv","version":"0.11.14","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for juwunit-0.1.2.tar.gz
Algorithm Hash digest
SHA256 2525fb13028907cfbd9b9703bbe3b051514a4823d8d387343964d57e06d14912
MD5 8351ea5ef32cee0379aa9c614958baa3
BLAKE2b-256 2db457428eaaa860885c564f0b292a0da7cf267d149cb5524ee6e2c2a78d8136

See more details on using hashes here.

File details

Details for the file juwunit-0.1.2-cp310-abi3-win_arm64.whl.

File metadata

  • Download URL: juwunit-0.1.2-cp310-abi3-win_arm64.whl
  • Upload date:
  • Size: 640.8 kB
  • Tags: CPython 3.10+, Windows ARM64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.14 {"installer":{"name":"uv","version":"0.11.14","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for juwunit-0.1.2-cp310-abi3-win_arm64.whl
Algorithm Hash digest
SHA256 a9143c4e6d2c6efe5c812662b1fcab1fc28cc6e933831ea6b0d2b6f5e438fba0
MD5 b9ef7bbbd81c5bc38bd443b5a4123a3b
BLAKE2b-256 21e0f4cafcf329a28c65c446e341941e6a3c814eedc5bbb0e1f65105420eaec2

See more details on using hashes here.

File details

Details for the file juwunit-0.1.2-cp310-abi3-win_amd64.whl.

File metadata

  • Download URL: juwunit-0.1.2-cp310-abi3-win_amd64.whl
  • Upload date:
  • Size: 690.2 kB
  • Tags: CPython 3.10+, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.14 {"installer":{"name":"uv","version":"0.11.14","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for juwunit-0.1.2-cp310-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 fe4fbb9221068b904e03c1036b6b563b2149c058b6ee0a2f90db093d1f3cd256
MD5 f18b0b4c749b003204af0524b68486f0
BLAKE2b-256 839f2fa7d2d0a27f6f542722ad471b3f347aa8c3b0f8aa1d948bd6bdd8e70382

See more details on using hashes here.

File details

Details for the file juwunit-0.1.2-cp310-abi3-musllinux_1_2_x86_64.whl.

File metadata

  • Download URL: juwunit-0.1.2-cp310-abi3-musllinux_1_2_x86_64.whl
  • Upload date:
  • Size: 607.0 kB
  • Tags: CPython 3.10+, musllinux: musl 1.2+ x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.14 {"installer":{"name":"uv","version":"0.11.14","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for juwunit-0.1.2-cp310-abi3-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 55ee6297f9af71c99d0bca4a4aed91a41eec0d47f22a51c35cb14769a8eacab0
MD5 edce9dca2f971c9324a38a8aa608a427
BLAKE2b-256 b996789f131260c2d4c8811e65d175d96b515366e9d32b356da0d96b43c68ff0

See more details on using hashes here.

File details

Details for the file juwunit-0.1.2-cp310-abi3-musllinux_1_2_aarch64.whl.

File metadata

  • Download URL: juwunit-0.1.2-cp310-abi3-musllinux_1_2_aarch64.whl
  • Upload date:
  • Size: 587.6 kB
  • Tags: CPython 3.10+, musllinux: musl 1.2+ ARM64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.14 {"installer":{"name":"uv","version":"0.11.14","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for juwunit-0.1.2-cp310-abi3-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 51530f2e2f849c4e733c3a3d45d1fba19e599730781959cab41d72a58019b453
MD5 bf13b2fb56fcab00665757dfa7dde203
BLAKE2b-256 1eb6b2e41ba9a47cf59e889868b97f90c47dd3b854beffd31e5f8a3217500e2a

See more details on using hashes here.

File details

Details for the file juwunit-0.1.2-cp310-abi3-manylinux_2_34_x86_64.whl.

File metadata

  • Download URL: juwunit-0.1.2-cp310-abi3-manylinux_2_34_x86_64.whl
  • Upload date:
  • Size: 525.7 kB
  • Tags: CPython 3.10+, manylinux: glibc 2.34+ x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.14 {"installer":{"name":"uv","version":"0.11.14","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for juwunit-0.1.2-cp310-abi3-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 96d1ede9ba6ef3185b5ea47984d6173bd3aeb99b0d14789f0c61a9366f2ecaef
MD5 67585ffcddc759f98b3f2498e3409841
BLAKE2b-256 cf70658d0cbb4eae47c62a7546921fc0fb1df6c515af004e275aaec376aa9c09

See more details on using hashes here.

File details

Details for the file juwunit-0.1.2-cp310-abi3-manylinux_2_34_aarch64.whl.

File metadata

  • Download URL: juwunit-0.1.2-cp310-abi3-manylinux_2_34_aarch64.whl
  • Upload date:
  • Size: 519.8 kB
  • Tags: CPython 3.10+, manylinux: glibc 2.34+ ARM64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.14 {"installer":{"name":"uv","version":"0.11.14","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for juwunit-0.1.2-cp310-abi3-manylinux_2_34_aarch64.whl
Algorithm Hash digest
SHA256 98eac7e0490a8965f1af1cae6567b19172fe1d750cc79a888d53906e36967599
MD5 ff27cd2333dda6077d9968a5688504c7
BLAKE2b-256 c0b376e8c33993d08ccc9c9b32217781b665c640f6cbfc4dfb8867b41c9dce4e

See more details on using hashes here.

File details

Details for the file juwunit-0.1.2-cp310-abi3-macosx_11_0_arm64.whl.

File metadata

  • Download URL: juwunit-0.1.2-cp310-abi3-macosx_11_0_arm64.whl
  • Upload date:
  • Size: 471.8 kB
  • Tags: CPython 3.10+, macOS 11.0+ ARM64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.14 {"installer":{"name":"uv","version":"0.11.14","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for juwunit-0.1.2-cp310-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 5a2a5b2d39ad83ebc02c81930d798d0af79481dab85ec3ab14c6f305bb39aea0
MD5 fad313dfcd3568107a4dcee0e53bd6ab
BLAKE2b-256 1fde708a25a1a6f2aa19ea3048aa8d29a70218077d7ae55f78f445f3713a783e

See more details on using hashes here.

File details

Details for the file juwunit-0.1.2-cp310-abi3-macosx_10_12_x86_64.whl.

File metadata

  • Download URL: juwunit-0.1.2-cp310-abi3-macosx_10_12_x86_64.whl
  • Upload date:
  • Size: 482.8 kB
  • Tags: CPython 3.10+, macOS 10.12+ x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.14 {"installer":{"name":"uv","version":"0.11.14","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for juwunit-0.1.2-cp310-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 738e8c1c2afffb06636d9c522fa2988e45db6ebc028a1ba6fe22c575a56cc598
MD5 cbeb9deb78ab835480fbd9c0b29a9424
BLAKE2b-256 b437cbb597b524b17f69a65de10b8019067deeb7433fdbd5436e9033a1eb5b00

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