semvec/pypi-packages huggingface dataset:
acts-channel 0.4.0
acts channel client
License: MIT
Requires Python: >=3.8
Keywords: workflow, acts-channel

# acts-channel

Acts-channel is a workflow client to connect to [`acts-server`](https://github.com/yaojianpin/acts-server)

# Usage

Before connecting, please download [`acts-server`](https://github.com/yaojianpin/acts-server) and start it

```console
pip install acts-channel
```

## Example

```py
import signal
import sys
import time

from acts_channel import Channel


def signal_handler(signal, frame):
    print('Caught Ctrl+C / SIGINT signal')
    sys.exit(0)

def main():
    chan = Channel(url = "127.0.0.1:10080")
    signal.signal(signal.SIGINT, signal_handler)
    model = """
    id: test
    name: workflow in python
    steps:
        - name: step 1
          id: step1
          acts:
              - uses: acts.core.irq
                key: abc
    """
    resp = chan.deploy(model)

    ret = resp.unwrap_or_raise(ValueError)
    print("chan.deploy:", ret)

    resp = chan.send("model:get", { "id": "test", "fmt": "tree"})
    print(resp.ok_value["data"])

    chan.subscribe("client-1", on_message)

    resp = chan.start("test", { "custom": "aaa" })
    print(resp.ok_value)

    print("waiting for all messages...")
    time.sleep(5)

def on_message(chan: Channel, message):
    print(f"on_message: {message}")
    if message["key"] == "abc":
        chan.act("complete", message["pid"], message["tid"], {})


if __name__ == "__main__":
    main()
```
meshviewer 0.1.4
A modern OpenGL STL mesh viewer using ModernGL and ImGui
License: MIT
Requires Python: >=3.8

# MeshViewer

A modern 3D mesh viewer built with ModernGL and GLFW for visualizing STL and OBJ files.

![MeshViewer](https://via.placeholder.com/800x450.png?text=MeshViewer+Screenshot)

## Features

- Load and visualize STL and OBJ 3D mesh files
- Interactive camera controls:
  - Left-click drag: Rotate view (arcball rotation)
  - Right-click drag: Pan view
  - Scroll wheel: Zoom in/out
  - Ctrl+Left-click: Pick point on mesh (prints coordinates to console)
- Shader-based rendering with proper lighting
- 3D axis visualization
- Support for multiple meshes with different colors

## Installation

### Prerequisites

- Python 3.8+
- OpenGL 3.3+ compatible graphics hardware and drivers

### Install from source

```bash
# Clone the repository
git clone https://github.com/yourusername/meshviewer.git
cd meshviewer

# Install the package and dependencies
pip install -e .
```

Or install directly using pip:

```bash
pip install meshviewer
```

## Usage

### Command Line

```bash
# View a single mesh file
meshviewer path/to/your/mesh.stl

# View multiple mesh files at once
meshviewer path/to/mesh1.stl path/to/mesh2.obj
```

### As a Python Module

```python
from meshviewer.viewer import MeshViewer

# Create a viewer instance
viewer = MeshViewer()

# Load one or more mesh files
viewer.load_mesh("path/to/mesh.stl", color=(0.7, 0.7, 0.7))
viewer.load_mesh("path/to/another_mesh.obj", color=(0.3, 0.6, 0.9))

# Start the viewer
viewer.run()
```

## Controls

- **Left Mouse Button**: Rotate the view
- **Right Mouse Button**: Pan the view
- **Mouse Wheel**: Zoom in/out
- **Ctrl + Left Click**: Pick a point on the mesh (coordinates printed to console)
- **ESC**: Exit the viewer

## Dependencies

- moderngl: OpenGL wrapper
- glfw: Window and input management
- numpy: Numerical operations
- pyglm: Math library for 3D operations
- trimesh: Mesh processing

## License

[MIT License](LICENSE)

## Contributing

Contributions are welcome! Please feel free to submit a Pull Request.