Skip to main content

A high-performance, aesthetically pleasing Matrix rain TUI with horror elements.

Project description

QMATRIX

License Python Platform

QMatrix is not just another Matrix rain script. It is a high-performance, precision-tuned TUI engine designed to replicate the authentic "Digital Rain" aesthetic of the original 1999 masterpiece, infused with modern "horror" glitch mechanics and premium terminal visuals.

Crafted by Rex Ackermann


⚡ Features

🟢 Matrix Aesthetic

  • The Wall of Code: Optimized for high-density rendering (Density=1), creating a solid curtain of raining data.
  • Precision Gradient: A bespoke 4-stage color engine:
    1. Head: Blinding White lead characters.
    2. Body: A vibrant, alternating mix of Sushi Green (#86ab48) and Neon Bright Green.
    3. Tail: Deep Green fade-out.
  • True Physics: Quotes don't just fade; they physically slide down the screen like heavy blocks of data.
  • Katakana Glyphs: Full support for half-width Katakana, achieving the iconic "Matrix" look.

👻 Horror & Glitch Mechanics

  • Stationary Persistence: Quotes type out, freeze in mid-air, and then drop or vanish.
  • Hybrid Logic:
    • 90%: Quotes slide down ("Rain").
    • 10%: Quotes glitch and vanish instantly ("Ghost in the Shell").
  • Subliminal Corruption: Rare chance for text to shatter, flip, or invert during the fall.

🚀 Production Ready

  • Crash-Proof: Robust signal handling (Ctrl+C safe).
  • Clean Exit: Leaves your terminal spotless on quit.
  • Performance: stdscr.timeout based loop for smooth 20FPS rendering without CPU hogging.
  • Terminal Optimization: Special color overrides for Kitty and Ghostty terminals.

📦 Installation

Since this is a production-grade Python package, you can install it directly from PyPI:

pip install qmatrix

Or build from source:

git clone https://github.com/rexackermann/qmatrix.git
cd qmatrix
pip install .

🎮 Usage

Run it simply by typing:

qmatrix

Premium Flags

Customize the simulation to your exact mood:

Flag Description Default
-d, --density Spacing between columns (1 = Max Density) 1
--tail-min Minimum length of rain trails 25
--tail-max Maximum length of rain trails 50
-m, --mix Ratio of Quotes vs Normal Rain 0.15
--horror Enable subliminal glitch effects False
--sexy Force high-fidelity colors for modern terminals False
--fps Target Frame Rate (Smoothness) 60 (Sexy) / 20
--transparent Use terminal's native background (Images/Wallpaper) False
--bg-color Set solid background color (e.g., red, blue) black

Example Production Run:

qmatrix --density 1 --tail-min 30 --mix 0.2 --horror --transparent

🛠 Configuration

QMatrix supports XDG configuration. You can place a persistent config file at: ~/.config/qmatrix/config.json

{
    "speed": 0.2,
    "color": "green",
    "density": 1,
    "tail_min": 30,
    "horror": true
}

📜 License

Distributed under the MIT License. See LICENSE for more information.


💡 Credits

Special thanks to the Tmatrix project for the original inspiration and physics concepts.

"The Matrix is everywhere. It is all around us."

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

qmatrix-1.2.7.tar.gz (12.6 kB view details)

Uploaded Source

Built Distribution

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

qmatrix-1.2.7-py3-none-any.whl (12.9 kB view details)

Uploaded Python 3

File details

Details for the file qmatrix-1.2.7.tar.gz.

File metadata

  • Download URL: qmatrix-1.2.7.tar.gz
  • Upload date:
  • Size: 12.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.2

File hashes

Hashes for qmatrix-1.2.7.tar.gz
Algorithm Hash digest
SHA256 dc2eefd3a871468fdf496a9f65173904e00f572e65ac2aff43bd8e7abd9dd510
MD5 383a0182e5b1cb38df1c55cb1b9b88e9
BLAKE2b-256 cc89642c724f8fc4c4ee01c1a680bc7d53babab5d2fbb6772d5b212faba11570

See more details on using hashes here.

File details

Details for the file qmatrix-1.2.7-py3-none-any.whl.

File metadata

  • Download URL: qmatrix-1.2.7-py3-none-any.whl
  • Upload date:
  • Size: 12.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.2

File hashes

Hashes for qmatrix-1.2.7-py3-none-any.whl
Algorithm Hash digest
SHA256 40c2f09cf364bb5d00c24143cb7236cf4ef35ffe945de94f3abd842991b4549b
MD5 eaa1333d33726ca33032e2749a4267db
BLAKE2b-256 4d3360f61ce5a5bc853b8c233a6dc27daf2f8027811c5c5c5c70d5b0053486af

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