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.3.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.3-cp310-abi3-win_arm64.whl (640.8 kB view details)

Uploaded CPython 3.10+Windows ARM64

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

Uploaded CPython 3.10+Windows x86-64

juwunit-0.1.3-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.3-cp310-abi3-musllinux_1_2_aarch64.whl (587.5 kB view details)

Uploaded CPython 3.10+musllinux: musl 1.2+ ARM64

juwunit-0.1.3-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.3-cp310-abi3-manylinux_2_34_aarch64.whl (519.8 kB view details)

Uploaded CPython 3.10+manylinux: glibc 2.34+ ARM64

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

Uploaded CPython 3.10+macOS 11.0+ ARM64

juwunit-0.1.3-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.3.tar.gz.

File metadata

  • Download URL: juwunit-0.1.3.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.3.tar.gz
Algorithm Hash digest
SHA256 92ba3a1bafe29cbd5a22789c0042cca6e0245313f44cb36c694a9c3e48cd8a7f
MD5 d8218f9a87627aff8f65dcdeb5195368
BLAKE2b-256 de190166c0e4a80ffc0182df22aee2d545bff1ce9decabca0855ebe55d41f886

See more details on using hashes here.

Provenance

The following attestation bundles were made for juwunit-0.1.3.tar.gz:

Publisher: publish.yml on astral-sh/juwunit

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

File details

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

File metadata

  • Download URL: juwunit-0.1.3-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.3-cp310-abi3-win_arm64.whl
Algorithm Hash digest
SHA256 023934ec4c80faa5f6e1fe95237f67a7a9477e7bcd2b3d054aa4b1a1efac2b5c
MD5 a7bbd26bf8842d128990209886952573
BLAKE2b-256 0ccb19d8a753067b02a13016c76eaf2a36bc399f4e6a10e7f855b2f0df2d15b6

See more details on using hashes here.

Provenance

The following attestation bundles were made for juwunit-0.1.3-cp310-abi3-win_arm64.whl:

Publisher: publish.yml on astral-sh/juwunit

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

File details

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

File metadata

  • Download URL: juwunit-0.1.3-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.3-cp310-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 e152f54780666b8a2048505bef1c72dde91f1bf30ac1f059537118575a366ed9
MD5 c9ee4793169868ebe36caee6b489769a
BLAKE2b-256 e8fe5c20c27ac4b4d3f699c084553f76eb55561e755a23478a92720205acf4fe

See more details on using hashes here.

Provenance

The following attestation bundles were made for juwunit-0.1.3-cp310-abi3-win_amd64.whl:

Publisher: publish.yml on astral-sh/juwunit

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

File details

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

File metadata

  • Download URL: juwunit-0.1.3-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.3-cp310-abi3-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 99a0883cb8020abea53c48ed83b1e8c0a9875f50a8a8f3f1ae3ed5b170ae6031
MD5 0e2dafed339f0bd478ff67cf6c58c2b4
BLAKE2b-256 ec23165b7d4fab918ad3c6b3fa1587d3c8cb78daf490e24455afa70e6aa45863

See more details on using hashes here.

Provenance

The following attestation bundles were made for juwunit-0.1.3-cp310-abi3-musllinux_1_2_x86_64.whl:

Publisher: publish.yml on astral-sh/juwunit

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

File details

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

File metadata

  • Download URL: juwunit-0.1.3-cp310-abi3-musllinux_1_2_aarch64.whl
  • Upload date:
  • Size: 587.5 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.3-cp310-abi3-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 aa83671252850727ce8c94c91ce6d00c2c4aaf81c9658c09e5d24720e4466d5e
MD5 1bc36f70c6a3a3d928b463bec6d2fa50
BLAKE2b-256 7cb3d72750a84bd199763a8c6d9c02e12e1b7a79c723fd78991aafd864abd114

See more details on using hashes here.

Provenance

The following attestation bundles were made for juwunit-0.1.3-cp310-abi3-musllinux_1_2_aarch64.whl:

Publisher: publish.yml on astral-sh/juwunit

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

File details

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

File metadata

  • Download URL: juwunit-0.1.3-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.3-cp310-abi3-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 b09b3476626f21001a48d34b0ed5e9a5a94d3ba1763b2a2673b8076153e0294b
MD5 fd4d3b0bdb8ee15645135893e6cef55c
BLAKE2b-256 72bd03d821572c7e8406265fb5791d860217fc18e300960f2be3f79c6de3aaa0

See more details on using hashes here.

Provenance

The following attestation bundles were made for juwunit-0.1.3-cp310-abi3-manylinux_2_34_x86_64.whl:

Publisher: publish.yml on astral-sh/juwunit

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

File details

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

File metadata

  • Download URL: juwunit-0.1.3-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.3-cp310-abi3-manylinux_2_34_aarch64.whl
Algorithm Hash digest
SHA256 ad88b1a98410e8f01c4dcc09b729688602efddb04f44dd336f1eed6152ca4c1e
MD5 3c3617d7399a6ebee661aa505c41105f
BLAKE2b-256 369aacac72a1105af1b99d4007103637018afa87e708e3e7fc976894b0ddce95

See more details on using hashes here.

Provenance

The following attestation bundles were made for juwunit-0.1.3-cp310-abi3-manylinux_2_34_aarch64.whl:

Publisher: publish.yml on astral-sh/juwunit

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

File details

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

File metadata

  • Download URL: juwunit-0.1.3-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.3-cp310-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 1975b6413de2e907fe25fa5a8cbafd897e0723cd2ebcfa6e149256d191cfe5df
MD5 b6d19a50bf08118ff56d5d7218bdc82a
BLAKE2b-256 fbbee5aa4b4cb207b2ec4fc8418496a2dbe433b2a19eca0c2711ea8f498f4011

See more details on using hashes here.

Provenance

The following attestation bundles were made for juwunit-0.1.3-cp310-abi3-macosx_11_0_arm64.whl:

Publisher: publish.yml on astral-sh/juwunit

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

File details

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

File metadata

  • Download URL: juwunit-0.1.3-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.3-cp310-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 2f6ab4ae98ad829f98100d9884cf101f4e7685f68da68ad020bcca8685fdc130
MD5 cd9550ea7ce0044950aa5ffe2f24e6f4
BLAKE2b-256 ae22a3463fe2bb8d8ed6db2df059fb2d390a345c5f0413142ee529a1113a9f0f

See more details on using hashes here.

Provenance

The following attestation bundles were made for juwunit-0.1.3-cp310-abi3-macosx_10_12_x86_64.whl:

Publisher: publish.yml on astral-sh/juwunit

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