Skip to main content

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

Project description

pymatgraph

pymatgraph 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 pymatgraph package using pip:

pip install pymatgraph

Usage

Here is a simple example of how to use the pymatgraph 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

pymatgraph-0.3.0.tar.gz (12.4 kB view details)

Uploaded Source

Built Distribution

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

pymatgraph-0.3.0-py3-none-any.whl (13.0 kB view details)

Uploaded Python 3

File details

Details for the file pymatgraph-0.3.0.tar.gz.

File metadata

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

File hashes

Hashes for pymatgraph-0.3.0.tar.gz
Algorithm Hash digest
SHA256 55bab0d61048ebba25ea7f00bd52f0b7a51ef8e113e462766c7335c77cdf625b
MD5 ff93c4ee5e6bef4da9dc9f8932698c76
BLAKE2b-256 3fdbb333912db566bce119df008c21729de04578dc55778ededa88cec44a91f5

See more details on using hashes here.

File details

Details for the file pymatgraph-0.3.0-py3-none-any.whl.

File metadata

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

File hashes

Hashes for pymatgraph-0.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 6e4820e5172c565dddb70eba4a6c4b58292e7832013cf41d8433caba48e4ae7b
MD5 1eadb4bd1b5dda42a32dec647850f678
BLAKE2b-256 57b449767c87a89483f56e9bd663b509fb31fab7c4a744c56a9473e8d1ca4d1f

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