Skip to main content

cyclo_manager CLI: pip-installable launcher for cyclo_manager server and UI containers. Run 'cyclo_manager up' to start Docker stack.

Project description

cyclo_manager CLI

cyclo_manager CLI is a pip-installable launcher for the cyclo_manager stack. It starts the cyclo_manager server, web UI, Zenoh daemon, and noVNC server as Docker containers using a single command.

Prerequisites

  • Docker with Docker Compose (v2)
  • Python 3.10+

Installation

From the cyclo_manager_cli directory:

pip install .

Or install from a wheel:

python -m build --wheel
pip install dist/cyclo_manager-*.whl

If the cyclo_manager command is not found, add the pip scripts directory to your PATH:

export PATH="$HOME/.local/bin:$PATH"

To make it permanent (e.g. on Linux):

echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.bashrc

Alternatively, run via Python module:

python3 -m cyclo_manager_cli.cli up

Commands

Command Description
cyclo_manager up Start API + web UI; create Zenoh + noVNC containers without starting them (start later from UI or docker start)
cyclo_manager up -c /path/to/config.yml Start with a custom config file (creates a copy from the bundled config if the path does not exist)
cyclo_manager up -r 35 Set ROS2 domain ID (default: 30)
cyclo_manager up --pull Pull images before starting
cyclo_manager down Stop all cyclo_manager stack containers
cyclo_manager --help Show help

What runs

Running cyclo_manager up (from the packaged docker-compose.yml):

  • Started immediately: cyclo_manager (FastAPI API), cyclo_manager_ui (Next.js)
  • Created but not started: rmw_zenoh (zenoh_daemon), novnc-server — images are pulled (with --pull), containers exist so you can start them from the Control UI or docker start zenoh_daemon / docker start novnc-server when needed.

The CLI passes the config path via CYCLO_MANAGER_CONFIG_FILE and optionally ROS_DOMAIN_ID (e.g. cyclo_manager up -r 35).

Config

By default, cyclo_manager up uses the bundled config at cyclo_manager_cli/cyclo_manager_cli/config/config.yml. It defines:

  • containers – Container names and agent socket paths (e.g. ai_worker, physical_ai_server)

Use -c /path/to/config.yml to supply your own file. If the file does not exist, the CLI copies the bundled config to that path and then uses it.

Access

After cyclo_manager up:

Running from the repository

To run cyclo_manager from the repo root (e.g. for development) without the CLI:

# From repository root
docker compose -f docker-compose.dev.yml up -d

This uses the root config.yml and mounts agent sockets from /var/run/robotis/agent_sockets. See the main README for architecture and API details.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

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

cyclo_manager-0.1.0.dev1-py3-none-any.whl (6.4 kB view details)

Uploaded Python 3

File details

Details for the file cyclo_manager-0.1.0.dev1-py3-none-any.whl.

File metadata

File hashes

Hashes for cyclo_manager-0.1.0.dev1-py3-none-any.whl
Algorithm Hash digest
SHA256 f0dfba5a3dbf737d5b830b8b8df1b76b2c74e2fc381befb52083b683c1d54f7e
MD5 ae49bd2fcdafa1ad9e0f32fefd4a4bd3
BLAKE2b-256 b05ddb29df1bc52011be2a1ab2974de1f1ff9825df76e66ef19a1bcad82250a3

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