Skip to main content

A high-performance bionic reading traceback and log formatter for the terminal.

Project description

Bionify Logo

PyPI version Python versions License: MIT

Bionify is a lightning-fast, C++ powered terminal formatter that applies Bionic Reading algorithms to your Python tracebacks and logs.

By strategically bolding the first half of words, Bionify guides your eyes through massive walls of terminal text, allowing you to parse crash logs, errors, and system outputs in a fraction of the time.

Bionify Terminal Output Demo

Features

  • Zero-Config Hooks: Import it once, and Fovea automatically intercepts and styles your unhandled exceptions and stderr outputs.
  • Native Logging Integration: Includes a custom formatter for Python's standard logging library.
  • Hyperlink Protection: Smart enough to leave URLs (https://) and file paths (C:\) unformatted so they remain clickable in modern terminals like VS Code.
  • Blazing Fast Backend: The text parsing engine is written entirely in C++ using nanobind, ensuring zero latency even on massive stack traces.
  • Custom Aesthetics: Easily configure intensity, bolding, and ANSI colors to match your terminal theme.

Installation

Currently available for Windows (64-bit).

pip install bionify

Quick Start

The easiest way to use Fovea is to simply import it at the top of your entry-point file. It will automatically hook into sys.excepthook and sys.stderr.

import bionify

# Fovea is now active! Any unhandled exceptions will be styled.
raise RuntimeError("This traceback will be styled for rapid reading!")

Advanced Usage

Customizing the Aesthetic

Fovea defaults to Bold Cyan with a 50% reading intensity. You can easily adjust this to match your terminal theme:

import bionify

# Change the fixation intensity (0.1 to 1.0)
bionify.set_prescription(0.6)

# Change the color (cyan, magenta, yellow, red, green, blue, white)
bionify.set_style(bold=True, color="magenta")

# Power user? Pass your own raw ANSI escape sequences
bionify.set_color_ansi(prefix="\033[1;95m", suffix="\033[0m")

Using with the logging Library

If you want to apply Bionify to your standard Python logs, use the provided BionicFormatter:

import logging
from bionify.hook import BionicFormatter

logger = logging.getLogger("MyBackend")
handler = logging.StreamHandler()

# Attach the Fovea formatter
handler.setFormatter(BionicFormatter("%(levelname)s: %(message)s"))
logger.addHandler(handler)
logger.setLevel(logging.INFO)

logger.info("Database connection established successfully.")

Contributing

Contributions, issues, and feature requests are welcome! Feel free to check the issues page.

License

This project is licensed under the MIT License © 2026 Pranay.

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

bionify-0.1.0.tar.gz (104.5 kB view details)

Uploaded Source

Built Distribution

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

bionify-0.1.0-cp313-cp313-win_amd64.whl (43.9 kB view details)

Uploaded CPython 3.13Windows x86-64

File details

Details for the file bionify-0.1.0.tar.gz.

File metadata

  • Download URL: bionify-0.1.0.tar.gz
  • Upload date:
  • Size: 104.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.2

File hashes

Hashes for bionify-0.1.0.tar.gz
Algorithm Hash digest
SHA256 c84812769e07314436d05f4ba1b12d7cdf22fd23cb6fa6c8cd5ed04e0815264a
MD5 83bc1c7b1e3b024624119533e6ff2b3c
BLAKE2b-256 ca5087a4306da30781a5c3bc59624810b6f06f3c358f3c53f00c13168aa1fb63

See more details on using hashes here.

File details

Details for the file bionify-0.1.0-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: bionify-0.1.0-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 43.9 kB
  • Tags: CPython 3.13, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.2

File hashes

Hashes for bionify-0.1.0-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 04177d1526bcfeae407f0ec072b194ea7d539dda1033ab62e053e7e7895b8e9d
MD5 5d002415a0dd4843156d1a0e1561a9e3
BLAKE2b-256 2d6bcb8db03200cc6b06c13f61c4970b4336be817c23faf3c286c7eed67201b2

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