mechub sovereign network-security automation ← all projects
foundation early MIT

rustez

Async Junos device automation in Rust

A Rust replacement for Juniper PyEZ: async-first Junos device automation built on rustnetconf, with a CLI and Python bindings.

About

rustez is async-first Junos device automation that replaces Juniper PyEZ, built on rustnetconf for NETCONF transport, SSH, connection pooling and vendor profiles.

It targets the same Junos automation jobs as PyEZ with typed RPCs, typed facts and typed configs, and native async concurrency.

Features

  • Core library: Device, Facts, Config (load, diff, commit, rollback), RPC and operational data
  • rustez CLI for facts, RPCs and config apply, with a stable --json envelope
  • Python bindings via PyO3 (PyPI wheels for Linux x86_64)
  • Fail-closed host-key verification
  • Verified against a vSRX running Junos 24.4R1.9

Quick start

Python

pip install rustez

CLI

rustez facts 10.0.0.1 -u admin --password-file /path/to/password-0600

Full instructions in the README ↗