Installation¶
Requirements¶
- Python 3.11 or newer (declared in
pyproject.toml). - No external services beyond the NIOS grid you intend to manage.
From PyPI¶
That is everything: ibx-nios-sdk is a declared dependency and installs with it.
From the repository (editable install)¶
Editable install is recommended for day-to-day use - git pull picks up changes without reinstalling.
git clone https://github.com/Infoblox-PS/ibcli.git
cd ibcli
# Create a virtual environment
python -m venv .venv
source .venv/bin/activate # Windows: .venv\Scripts\activate
# Editable install
pip install -e .
After installation, ibcli is on your PATH:
With Poetry¶
If you use Poetry (2.0 or newer - it reads the PEP 621 [project] metadata directly, no migration needed):
git clone https://github.com/Infoblox-PS/ibcli.git
cd ibcli
poetry install # creates .venv, installs runtime deps, writes poetry.lock
poetry run ibcli --help # invoke without activating the venv
poetry shell # or activate the venv (Poetry 1.x);
# Poetry 2.x uses `poetry env activate`
The committed poetry.lock gives reproducible installs across machines.
Runtime dependencies¶
Declared in pyproject.toml:
| Package | Purpose |
|---|---|
ibx-nios-sdk |
Infoblox-published async Python SDK for WAPI - provides the NiosClient HTTP layer |
httpx |
Async HTTP client used by the SDK and by mocked tests |
prompt_toolkit |
Cross-platform tab completion, REPL history, line editing |
All three are installed automatically. ibcli additionally checks the SDK version at startup and explains what to do if an environment has one older than 1.0.0.
Development dependencies¶
dev and lint are PEP 735 dependency groups, not extras, so pip install -e '.[dev]' and
poetry install --extras dev do not install them. The dev group holds pytest, pytest-asyncio,
pytest-cov, httpx and ruff; lint holds pymarkdownlnt; docs holds zensical. No separate requests-mock library - the mocked test suite uses httpx.MockTransport directly.
Run the mocked suite:
Windows notes¶
prompt_toolkit is cross-platform. The history file is written to %USERPROFILE%\.ibcli_history. TLS certificate verification behaves identically to other platforms.
Verifying the install¶
If ibcli is not found after install, confirm your virtual environment is active (which ibcli should land
inside .venv/bin/). With Poetry, prefix commands with poetry run to invoke without activating the venv.