Open-source CLI for the Ignition 8.3 REST API — ignition-cli

Hey everyone,

With Ignition 8.3 shipping a full REST API, I wanted a proper CLI tool for the operations I kept doing through the web UI or curl scripts. Nothing like that existed, so I built ignition-cli; an open-source Python CLI that wraps the 8.3+ REST API.

What it does:

  • Gateway — status, info, backup, restore, modules, logs
  • Projects — list, show, create, delete, export, import, diff between gateways, watch & sync
  • Tags — browse (recursive tree), read, write, export, import, list providers
  • Devices — list, show, status
  • Resources — generic CRUD for JSON-based resources.
  • Raw API — GET/POST/PUT/DELETE any endpoint, discover endpoints from the OpenAPI spec, download the spec
  • Output — table, JSON, YAML, CSV
ignition-cli config add dev --url https://gateway:8043 --token "keyId:secretKey"
ignition-cli gateway status
ignition-cli project list
ignition-cli tag browse --recursive
ignition-cli project diff MyProject --target-gateway prod
ignition-cli api discover --filter tag

Built with Python (Typer + httpx + Pydantic), MIT licensed, CI/CD friendly.

GitHub: GitHub - floriansmeyers/SFLOW-Ignition-CLI: CLI-Tool for Inductive Automation Ignition 8.3.3+

I'd love feedback; what workflows are painful for you right now that a CLI could help with?

3 Likes

Well, Claude created, but...

Not really. Have you actually tried? What you've got might handle the 80% case with just a plain config.json data file, but definitely won't handle anything more interesting, like themes/fonts/icons, images in image management, CSV files attached to drivers, etc, etc.

I don't see any API level handling for deployment modes, which would be more interesting I think than just swapping between gateway instances.

1 Like

Hello Paul,

To be honest: no.

Currently mainly focused on trying to get my claude-code to work as easy as possible (using Bash) with my Ignition gateway instead of needing to cURL everything.

So; that one is definitely not battle-tested.