semvec/pypi-packages huggingface dataset:
pynari 1.4.0
Python bindings for ANARI
Requires Python: >=3.8

# pynari - Python Bindings for ANARI

This project provides a python interface for the Khronos ANARI
rendering API. This implementation currently requires a CUDA capable
GPU (support for other backends will be added at a later time).

# Usage - Quickstart

Assuming you already know how the ANARI API works (and that you have
pip-installed this package) you can use ANARI in python as follows:
First, import this package

```
import pynari as anari
```
(for all the steps below we assume you imported `pynari` as `anari`;
this is not required, but please take this in mind for the examples below).

Once the package has been imported you can then create a ANARI
"device" using

```
device = anari.newDevice('default')
```
(the 'default' will later allow for selecting between different back-ends, 
but this current implementation is hard-coded to the 'barney' backend,
see https://github.com/ingowald/barney).

You can then create various ANARI actor objects through
creator-methods on that device, such as, for example

```
world = device.newWorld()
mesh  = device.newGeometry('triangle')
array = device.newArray(anari.FLOAT32_VEC3,vertex)
```
etc. 

Large arrays (such as vertex or index arrays for a triangle mesh)
are expected to be populated using `numpy`, and wrapped in the ANARI 'array' type:
```
import numpy as np
...
vertex = np.array(...,dtype=np.float32)
mesh.setParameter('vertex.position',anari.ARRAY,
                  device.newArray(anari.FLOAT32_VEC3,vertex));
index  = np.array(...,dtype=np.uint32)
mesh.setParameter('primitive.index',anari.ARRAY,
                  device.newArray(anari.UINT32_VEC3,index));
```

# The ANARI API, and how it is exposed in `pynari`

For a full description of what ANARI Objects are, what kind of
objects exist, and how they work, please refer to the ANARI API Spec 
at https://registry.khronos.org/ANARI/specs/1.0/ANARI-1.0.html . 

Since the official ANARI API is a plain C API we could not 
implement this literally, but had to make certain changes to make ti
more "pythonic". Basically, these rules were applied (we will assume
that the `pynari` module was imported under the alias as `anari`):

- If there is a C constant/enum of name `ANARI_XYZ`, it is exposed as
  `anari.XYZ`. Example: the C enum of `ANARI_FLOAT32` is
  `anari.FLOAT32` in pynari.
  
- If there is a C API function of `anariFunctionXyz(ANARIDevice
  device, ...)` it will be exposed as `device.functionXyz(...)`. Note
  that in order to remain as close to the C-style API as possible we
  use CAML-case for function names, not python-casing. I.e., pynari
  uses `device.functionXyz(...)`, not `device.function_xyz(...)`.
  
# Examples

For a list of several samples, please visit the pynari github repo
https://github.com/ingowald/pynari

For any issues, please use the github pynari issue tracker.
steelsnakes 0.0.1a7
A python library for structural steel.
Requires Python: >=3.11

# `steelsnakes`

![Logo](./docs/logo-4.png)

<div align="center">
  <p>
  <!-- python version -->
    <a href="https://python.org"><img src="https://img.shields.io/badge/python-3.11+-blue.svg" alt="Python Version" style="margin: 2px;"/></a>
    <!-- license -->
     <a href="./LICENSE.md"><img src="https://img.shields.io/badge/license-GPLv2-blue.svg" alt="License" style="margin: 2px;"/></a>
    <!-- pypi version -->
     <a href="https://pypi.org/project/steelsnakes/"><img src="https://img.shields.io/pypi/v/steelsnakes.svg" alt="PyPI Version" style="margin: 2px;"/></a>
    <!-- documentation -->
     <a href="https://steelsnakes.readthedocs.io/"><img src="https://img.shields.io/badge/docs-mkdocs-blue.svg" alt="Documentation" style="margin: 2px;"/></a>
    <!-- build status -->
    <!-- <a href="#"><img src="https://img.shields.io/github/actions/workflow/status/steelsnakes/steelsnakes/ci.yml?branch=main" alt="Build Status" style="margin: 2px;</a> -->
    <!-- pypi stats -->
    <a href="https://pepy.tech/projects/steelsnakes"><img src="https://static.pepy.tech/personalized-badge/steelsnakes?period=total&units=ABBREVIATION&left_color=GREY&right_color=BLUE&left_text=downloads" alt="PyPI Downloads"></a>
    

  </p>
</div>

A python library for structural steel.
Currently supports 🇬🇧 UK, 🇪🇺 EU, 🇺🇸 US
Developing 🇮🇳 IN.
Considering 🇦🇺 AU / 🇳🇿 NZ, 🇯🇵 JP, 🇲🇽 MX, 🇿🇦 SA, 🇨🇳 CN, 🇨🇦 CA, 🇰🇷 KR.

## Quick Start

### Installation

```bash
pip install steelsnakes
```

### Basic Usage

```python
from steelsnakes.UK import UB, UC, PFC

# Create section objects using the designations
beam = UB("457x191x67") # Universal Beam
column = UC("305x305x137") # Universal Column
channel = PFC("430x100x64") # Parallel Flange Channel

# Access properties immediately
print(f"Beam moment of inertia: {beam.I_yy} cm⁴")
print(f"Column mass: {column.mass_per_metre} kg/m")
print(f"Channel shear center: {channel.e0} mm")
```

## Documentation

- **[Installation Guide](https://steelsnakes.readthedocs.io/en/latest/getting-started/installation/)** - Get started quickly
- **[User Guide](https://steelsnakes.readthedocs.io/en/latest/user-guide/section-types/)** - Comprehensive feature documentation
- **[Examples](https://steelsnakes.readthedocs.io/en/latest/examples/basic/)** - Practical usage examples
- **[API Reference](https://steelsnakes.readthedocs.io/en/latest/reference/core/)** - Complete API documentation

## Contributing

All contributions are welcome! See the [Contributing Guidelines](https://steelsnakes.readthedocs.io/en/latest/contributing/) for details.

## License

This project is licensed under the GNU General Public License v2.0. See the [LICENSE](https://github.com/waynemaranga/steelsnakes/blob/main/LICENSE.md) file for details.

## Acknowledgments

- SCI (Steel Construction Institute)
- ArcelorMittal
- AISC (American Institute of Steel Construction)
- SAISC (South African Institute of Steel Construction)

---
pymatgraph 0.3.3
A Python package for high-performance tensor-based GPU/CPU buffer rendering, supporting tables, text, images, and graphics.
Requires Python: >=3.8
Keywords: GPU, CPU, graphics, tensor, rendering, tables, text, images, pygame, kivy, high-performance

# 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:

```bash
pip install pymatgraph
```

## Usage
Here is a simple example of how to use the pymatgraph package:
```python
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)
```
jack-midi-monitor 1.1.2
Provides a means to monitor midi events from a Jack client.

# jack_midi_monitor

Provides a means to monitor midi events from a Jack client.
Includes both a console and a Qt GUI version.

## Command line:

	$ jack-midi-monitor-cli

This will pop up a little QtDialog which will display incoming MIDI events.
You can resize the dialog to make the font size bigger.

## Gui:

	$ jack-midi-monitor

... will print incoming MIDI events to the console.

## Connections

Connect to the "JackMidiMonitor:input" port using your preferred method.

For example, from the command line:

	$ jack_connect system:midi_capture_1 JackMidiMonitor:input

(jack_connect is part of the "jackd2" package on Debian)