Skip to main content

Command-line utility for generating and broadcasting DMX over sACN and Art-Net

Project description

Ray CLI

GitHub last commit GitHub commits since CI

Ray CLI is a command-line engineering utility for generating and broadcasting DMX data over sACN and Art-Net.

Installation

Install ray-cli from PyPi:

# With pip.
pip install ray-cli
# With pipx.
pipx install ray-cli
# Or uv.
uv tool install ray-cli

Or, directly from GitHub:

Note: The GitHub installation requires uv to be installed!

git clone git@github.com:nobbmaestro/ray-cli.git
cd ray-cli
make install

Usage

Basic Example

To broadcast a ramp DMX signal to a specific IP address:

ray-cli sacn            \
    --dst 192.168.86.67 \
    --mode chase        \
    --universes 1 2     \
    --channels 24       \
    --fps 50            \
    --duration 60

Available Modes

Mode Description
chase Light chases across the channel range
ramp Linear ramp up and down
ramp-up Gradually increases intensity
ramp-down Gradually decreases intensity
sine Sine wave modulation
square Binary high/low intensity
static Static intensity output

Complete List of Command-Line Options

usage: ray-cli sacn [-m MODE] [-c CHANNELS] [-i INTENSITY] [-I INTENSITY_MIN]
                    [-f FREQUENCY] [-u UNIVERSES [UNIVERSES ...]] [-p PRIORITY]
                    [--src SRC] [--dst DST] [-w WORKERS] [-P PACKETS | -d DURATION]
                    [--fps FPS] [-v | -q] [--dry] [--purge] [--purge-on-exit] [-h] [-V]

options:
  -m, --mode MODE                            DMX signal shape mode (choices: chase, ramp,
                                             ramp-down, ramp-up, sine, square, static,
                                             default: ramp)
  -c, --channels CHANNELS                    DMX channels at universe to send to (range:
                                             1-512, default: 24)
  -i, --intensity INTENSITY                  DMX channels output intensity (range: 1-255,
                                             default: 10)
  -I, --intensity-min INTENSITY_MIN          DMX channels minimum output intensity (range:
                                             0-254, default: 0)
  -f, --frequency FREQUENCY                  frequency of the generated signal (range:
                                             0.001-unlimited, default: 1.0)
  -u, --universes UNIVERSES [UNIVERSES ...]  sACN universe(s) to send to (range: 1-63999,
                                             default: [1])
  -p, --priority PRIORITY                    DMX source priority (range: 0-200, default:
                                             100)

network group:
  --src SRC                                  IP address of the DMX source (default:
                                             0.0.0.0)
  --dst DST                                  IP address of the DMX destination (default:
                                             MULTICAST)

runtime group:
  -w, --workers WORKERS                      number of sender workers per universe (range:
                                             1-100, default: 1)
  -P, --packets PACKETS                      number of packets to send per universe per
                                             worker (range: 1-unlimited)
  -d, --duration DURATION                    broadcast duration in seconds (range:
                                             0.001-unlimited)
  --fps FPS                                  frames per second per universe (range:
                                             0.001-unlimited, default: 10)

display options:
  -v, --verbose                              run in verbose mode
  -q, --quiet                                run in quiet mode

operational options:
  --dry                                      simulate outputs without broadcast
  --purge                                    send zero-data on all channels and exit
  --purge-on-exit                            send zero-data on all channels upon
                                             completion

query options:
  -h, --help                                 print help and exit
  -V, --version                              show program's version number and exit

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

ray_cli-1.0.3.tar.gz (44.9 kB view details)

Uploaded Source

Built Distribution

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

ray_cli-1.0.3-py3-none-any.whl (24.2 kB view details)

Uploaded Python 3

File details

Details for the file ray_cli-1.0.3.tar.gz.

File metadata

  • Download URL: ray_cli-1.0.3.tar.gz
  • Upload date:
  • Size: 44.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.13 {"installer":{"name":"uv","version":"0.9.13"},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for ray_cli-1.0.3.tar.gz
Algorithm Hash digest
SHA256 d7a833b78f458896daf5e5a6d761401c0be4e9f34f77671b81e4184c6416851c
MD5 77e60a903339fbce0c4645d634db6629
BLAKE2b-256 494535743a5fd8fee56eb8a71a05bde860eddcb367a7d2d2f3bc262af2634d20

See more details on using hashes here.

File details

Details for the file ray_cli-1.0.3-py3-none-any.whl.

File metadata

  • Download URL: ray_cli-1.0.3-py3-none-any.whl
  • Upload date:
  • Size: 24.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.13 {"installer":{"name":"uv","version":"0.9.13"},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for ray_cli-1.0.3-py3-none-any.whl
Algorithm Hash digest
SHA256 ad3fc85a21e1d8a4383e25ae78c8ad9743e726875a8dd4b97185252b2a8581ed
MD5 eaa01b8e0de3d3b533c09d4ea64d3a26
BLAKE2b-256 16be67fc6f690860dca9b4a67466fe3470c3ce3023449bb0f7043cc5a47581e6

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