vm-console-client
Python library for the InsightVM/Nexpose RESTful API.
Author: Muhammad-Rebaal
Install
pip install vm-console-client
Then import:
import rapid7vmconsole
Quick Setup (from source)
cd vm-console-client-python
python3 -m venv env
source env/bin/activate # Windows: env\Scripts\activate
pip install -r requirements.txt
pip install .
Run one of the sample clients:
mv samples/list_assets.py .
# Edit username, password, and host in list_assets.py
python list_assets.py
Publish to PyPI
Package name on PyPI: vm-console-client
Import name after install: rapid7vmconsole
Author: Muhammad-Rebaal
1. Create a PyPI account
- Sign up at https://pypi.org/account/register/
- Enable 2FA (required for uploading)
- Create an API token: Account settings → API tokens → “Add API token”
- Scope: “Entire account” for the first upload, or project-scoped after the project exists
- Copy the token (starts with
pypi-…) — you only see it once
Optional but recommended: also create an account on https://test.pypi.org and test-upload there first.
2. Build the package (from this folder)
pip install --upgrade build twine
python -m build
This creates dist/vm_console_client-<version>-py3-none-any.whl and .tar.gz.
3. (Optional) Upload to TestPyPI first
python -m twine upload --repository testpypi dist/*
When prompted:
- Username:
__token__ - Password: paste your TestPyPI API token (including the
pypi-prefix)
Install from TestPyPI to verify:
pip install --index-url https://test.pypi.org/simple/ --extra-index-url https://pypi.org/simple/ vm-console-client
python -c "import rapid7vmconsole; print(rapid7vmconsole.__author__, rapid7vmconsole.__version__)"
4. Upload to real PyPI
# Rebuild if you changed anything, or remove old dist/ first:
# Remove-Item -Recurse -Force dist # PowerShell
# rm -rf dist # bash
python -m build
python -m twine upload dist/*
Username: __token__
Password: your PyPI API token
5. Install and use
pip install vm-console-client
import rapid7vmconsole
print(rapid7vmconsole.__author__) # Muhammad-Rebaal
print(rapid7vmconsole.__version__)
Bump VERSION in setup.py (and __version__ in rapid7vmconsole/__init__.py) before each new release — PyPI does not allow re-uploading the same version.
Auto-generating code
The library can be regenerated from an InsightVM/Nexpose Swagger file using Swagger Codegen. An example command:
java -jar swagger-codegen-cli-2.3.0.jar generate \
-i api-files/console-swagger-6.5.5.json \
-l python \
-o ./ \
-c setup_workspace/config.json
Versioning and Releases
Generated libraries follow X.Y.Z console versioning.
Metadata
Release files for vm-console-client 6.6.55
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| vm_console_client-6.6.55.tar.gz | 275.5 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| vm_console_client-6.6.55-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 909.8 kB
Release files / vm_console_client-6.6.55.tar.gz
| Download URL | vm_console_client-6.6.55.tar.gz |
|---|---|
| Size | 275.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
47ca9617f03e0e516d32700ada2889f0e8c94b35ab9c4b43f4fa8b80bc2b5dd3
|
|
BLAKE2b-256 checksum How to use checksums |
1936064ae6f503cbbc159d3668adef3f5298b86a78ed212c5f7d76d8eed63bee
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.5
|
Release files / vm_console_client-6.6.55-py3-none-any.whl
| Download URL | vm_console_client-6.6.55-py3-none-any.whl |
|---|---|
| Size | 634.3 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
a86164566b51f3a6e62a1fa283dff04f84b45231b4557bbae9b1a8847cb7255c
|
|
BLAKE2b-256 checksum How to use checksums |
c9a4470a30fa13920a224941b3607dad1315f92d24f67dc07c44c8bbc8cdd110
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.5
|