Skip to main content

ZXTX file format support.

Project description

ZXTX

Test status

ZXTX is a secure, compressed, and verifiable file format for structured text and binary data. It supports optional encryption, compression, and cryptographic signing, making it ideal for transmitting sensitive files safely.

Built in Python. Powered by cryptography.

Features

  • AES-256-CTR + HMAC authenticated encryption
  • LZMA and Zlib compression support
  • Ed25519 and RSA signing and verification
  • Structured file format with typed headers and bodies
  • Command-line interface (CLI) for reading, writing, and inspecting .zxtx files

Installation

pip install zxtx

Or with PDM:

pdm add zxtx

Usage

Writing a ZXTX file

zxtx write input.txt output.zxtx --cipher aes256_ctr_hmac --compression zstd --private-key mykey.pem --certificate mycert.pem --password "supersecret"

Reading a ZXTX file

zxtx read example.zxtx output.txt --private-key mykey.pem --public-key pubkey.pem --password "supersecret"

Dumping metadata

zxtx dump example.zxtx --public-key pubkey.pem

Supported Methods

Cipher Methods

  • none
  • aes256_gcm
  • chacha20_poly1305

Compression Methods

  • none
  • zlib
  • lzma
  • brotli

Format Specification

The ZXTX file format is formally documented in SPECIFICATION.md. It defines:

  • Magic header
  • Versioning
  • Field layout
  • Signature embedding, etc

Security Notes

  • ZXTX uses AEAD (authenticated encryption) to prevent tampering.
  • Private keys can be password-encrypted.
  • Signature verification ensures authenticity.
  • Don't share your private key. Use a certificate for signing and a public key for verification.

Python API

from zxtx.highlevel import open

with open("file.zxtx", password=b"secret", public_key=b"...") as f:
    data = f.read_bytes()

See the zxtx.highlevel module for full API details.

License

MIT License – Copyright (c) 2025 voyager-2021 (ZXTX)

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

zxtx-0.1.3.tar.gz (29.3 kB view details)

Uploaded Source

Built Distribution

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

zxtx-0.1.3-py3-none-any.whl (15.5 kB view details)

Uploaded Python 3

File details

Details for the file zxtx-0.1.3.tar.gz.

File metadata

  • Download URL: zxtx-0.1.3.tar.gz
  • Upload date:
  • Size: 29.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.8

File hashes

Hashes for zxtx-0.1.3.tar.gz
Algorithm Hash digest
SHA256 b3d0ee0f5aeda6495ff60d90bf4f65dc0d57874061e32234adca7a7d6668ce14
MD5 6d9f398e959fb4be27a88b7ec41b435a
BLAKE2b-256 a4f4d7f757df7f5a8a7bb36ea668d81fd782830b8d53d4d412a80262772cabb9

See more details on using hashes here.

Provenance

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

Publisher: release.yml on voyager-2021/zxtx

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

File details

Details for the file zxtx-0.1.3-py3-none-any.whl.

File metadata

  • Download URL: zxtx-0.1.3-py3-none-any.whl
  • Upload date:
  • Size: 15.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.8

File hashes

Hashes for zxtx-0.1.3-py3-none-any.whl
Algorithm Hash digest
SHA256 eb7ec006a1dcb777d24043c89bb9d9c35078fc91148e6550f6b33c8a9cae14c8
MD5 6a71ac58e6ada761bd2c03abc17bd3a8
BLAKE2b-256 0d9ff2c5d15453f799967d7f2e80292649906b5d5e20728c05825cbe9644a165

See more details on using hashes here.

Provenance

The following attestation bundles were made for zxtx-0.1.3-py3-none-any.whl:

Publisher: release.yml on voyager-2021/zxtx

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