Skip to main content

Python library for building, reading, and verifying .jxz signed containers

Project description

py-jxz

Python library for building, reading, and verifying .jxz signed containers.

The .jxz format packages signed JUnit XML test reports with attachments for secure transmission, as specified by the jux-container-format specification.

Features

  • Build .jxz containers from JUnit XML reports and attachments
  • Read and extract .jxz containers with digest validation
  • Sign containers with detached XMLDSIG signatures
  • Verify signatures and SHA-256 manifest digests
  • Minimal dependencies: signxml + cryptography beyond stdlib

Installation

pip install py-jxz

Quick Start

Build a container

from jxz import ContainerBuilder

builder = ContainerBuilder()
builder.set_report(junit_xml_bytes)
builder.add_attachment("screenshots/login.png", png_bytes)

# Unsigned
jxz_bytes = builder.build()

# Signed
jxz_bytes = builder.build(private_key=key, certificate=cert)

Read and verify a container

from jxz import ContainerReader

reader = ContainerReader(jxz_bytes)
reader.verify()
report = reader.get_report()
attachments = reader.get_attachments()

Documentation

Related Projects

Project Description
jux-container-format .jxz format specification
py-juxlib Jux client library (depends on py-jxz)
jux-openapi Jux REST API specification

License

Apache-2.0

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

py_jxz-0.1.6.tar.gz (30.3 kB view details)

Uploaded Source

Built Distribution

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

py_jxz-0.1.6-py3-none-any.whl (24.1 kB view details)

Uploaded Python 3

File details

Details for the file py_jxz-0.1.6.tar.gz.

File metadata

  • Download URL: py_jxz-0.1.6.tar.gz
  • Upload date:
  • Size: 30.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for py_jxz-0.1.6.tar.gz
Algorithm Hash digest
SHA256 42ce46286bf1d3e306563a109a8f4f5ea881a231936f48a237a4d13c7d4bdc75
MD5 145114b93150f089d7ec933a630308fd
BLAKE2b-256 9503dbc02346ad046822b9fbc3c10d96173cb322ed03bb16b3d0fb499d126758

See more details on using hashes here.

Provenance

The following attestation bundles were made for py_jxz-0.1.6.tar.gz:

Publisher: build-release.yml on jux-tools/py-jxz

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

File details

Details for the file py_jxz-0.1.6-py3-none-any.whl.

File metadata

  • Download URL: py_jxz-0.1.6-py3-none-any.whl
  • Upload date:
  • Size: 24.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for py_jxz-0.1.6-py3-none-any.whl
Algorithm Hash digest
SHA256 f820b3fc1f0135beb91f8d53f85e301e2bec7d494dbaf38d9c80042848cad5cf
MD5 38adf3d6dd589876afc306cc5bb569da
BLAKE2b-256 719fde44c2e1fd27e470feb3364f00d2bc5876534cd7acfaeff031d981d0b35f

See more details on using hashes here.

Provenance

The following attestation bundles were made for py_jxz-0.1.6-py3-none-any.whl:

Publisher: build-release.yml on jux-tools/py-jxz

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