Skip to main content

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

Project description

<img src="https://raw.githubusercontent.com/Pranay-Bhaskar/bionify/main/assets/bionify_logo.png" alt="Bionify Logo" width="180"" alt="Bionify Logo" width="220"/>

PyPI version Python versions License: MIT GitHub Repository

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

# Bionify 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.1.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.1-cp313-cp313-win_amd64.whl (44.0 kB view details)

Uploaded CPython 3.13Windows x86-64

File details

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

File metadata

  • Download URL: bionify-0.1.1.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.1.tar.gz
Algorithm Hash digest
SHA256 7c368c8da3021038a925c742a5890d8c7cd2280566605352d3fa585518835c27
MD5 37dc5014cb650a9e069acf4176a0c86d
BLAKE2b-256 98c835e5d007b86f3c407d883510b3a2659597c8be555cdca9af1d2ec6262aea

See more details on using hashes here.

File details

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

File metadata

  • Download URL: bionify-0.1.1-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 44.0 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.1-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 f0b92b8b3446e1e5edfa08492783b9e77cab224e69089298c7b1b14da3fcfef1
MD5 4bbe909f70e70111ee775a120b1114c4
BLAKE2b-256 e6ab6703ddb340e12c9bcf58b4e8c95c8e909bb993e81a0719e5d9136868fe09

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