Skip to main content

A Python package for high-performance GPU/CPU buffer rendering with support for tables, text, and graphics.

Project description

MatrixBuffer

MatrixBuffer is a Python package that provides a multiprocess-safe buffer for PyTorch tensors, specifically designed for rendering RGB matrices and tables using Pygame. This package allows for efficient sharing of tensor data between processes, making it suitable for applications that require real-time rendering and updates.

Features

  • Multiprocess Safe: Utilizes shared memory and locks to ensure safe access to tensor data across multiple processes.
  • Flexible Modes: Supports both numerical and RGB modes for tensor data.
  • Table Rendering: Built-in utilities to render structured tabular data directly on the screen.
  • Easy Integration: Designed to work seamlessly with Pygame for rendering visual data.

Installation

You can install the MatrixBuffer package using pip:

pip install matrixbuffer

Usage

Here is a simple example of how to use the MatrixBuffer package:

width, height = 640, 480
buffer = MultiprocessSafeTensorBuffer(n=height, m=width, mode="rgb")
buffer.write_matrix(torch.zeros((height,width,3), dtype=torch.uint8))

g = Graphics(width=width, height=height, bg_color=(30,30,30))

text1 = Text("Custom Rendering Engine!", x=50, y=50, font_size=32, color=(255,255,0))
table1 = Table(
    data=[["Name","Age"], ["Alice","24"], ["Bob","30"]],
    x=50, y=120, cell_width=120, cell_height=40,
    bg_color=(50,50,100), grid_color=(255,255,255)
)

text1.render_to_tensor(buffer)
table1.render_to_tensor(buffer)

g.run(buffer)

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

matrixbuffer-0.2.5.tar.gz (7.2 kB view details)

Uploaded Source

Built Distribution

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

matrixbuffer-0.2.5-py3-none-any.whl (7.9 kB view details)

Uploaded Python 3

File details

Details for the file matrixbuffer-0.2.5.tar.gz.

File metadata

  • Download URL: matrixbuffer-0.2.5.tar.gz
  • Upload date:
  • Size: 7.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.1

File hashes

Hashes for matrixbuffer-0.2.5.tar.gz
Algorithm Hash digest
SHA256 38fd42eb6b9240bbc62976602853808e96bb7285b1cbcb8fa77d9c8af404ffa7
MD5 ce861d632d58e3eaa4b1db5c6bca3158
BLAKE2b-256 0fcd9d40227ef55121b8a701d85163828a1adf62540f61636600340f0575e6fa

See more details on using hashes here.

File details

Details for the file matrixbuffer-0.2.5-py3-none-any.whl.

File metadata

  • Download URL: matrixbuffer-0.2.5-py3-none-any.whl
  • Upload date:
  • Size: 7.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.1

File hashes

Hashes for matrixbuffer-0.2.5-py3-none-any.whl
Algorithm Hash digest
SHA256 e5fe8b97e9c9fd40a081ee182d33480e1c3e93d705e6050abf7eb2c9a34c84cb
MD5 bc2ec9951edf21eba93570bb8f0534e6
BLAKE2b-256 4a8eb1d3726eb327d67dedfb5e861643e5c6ba1bcf4b2f7faed7adda70e5aae6

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