cot
Common OVF Tool
What it is and what it does
COT is a command-line tool for working with OVF and OVA virtual appliance packages, particularly those used in VMware environments. It lets you inspect, modify, and deploy these packages—editing hardware specs like CPU and RAM counts, adding or removing disks, embedding bootstrap configuration, and provisioning new VMs on ESXi servers. The tool is built around the Open Virtualization Format standard and includes support for Cisco network appliances.
The package depends on pyvmomi for VMware API interaction, requests for HTTP operations, and several utilities for logging and system introspection. It runs on macOS and Linux, supporting both Python 2.7 and Python 3.4 through 3.7. However, it has been abandoned since 2019 with no active maintenance, so it may have compatibility issues with current Python versions and VMware APIs.
Use it for:
- Modify CPU, RAM, or NIC configuration in OVF/OVA packages before deployment to ESXi.
- Add bootstrap or cloud-init configuration files to virtual appliance packages.
- Inspect and summarize the contents of OVA packages to understand their hardware and software requirements.
- Automate provisioning of Cisco CSR 1000V or IOS XRv appliances to VMware vSphere environments.
- Remove or replace disk images and other files within OVF/OVA packages.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
COT edits and deploys Open Virtualization Format (OVF/OVA) virtual appliance packages, allowing you to modify hardware configuration, add or remove disks, edit properties, and deploy to VMware ESXi servers.
No, unless you are maintaining legacy infrastructure that already uses this tool. The package is abandoned (last release 2019, last commit August 2023) with no active maintenance or security updates. Its dependencies target older Python versions and may conflict with modern environments. If you need OVF/OVA editing, evaluate actively maintained alternatives or VMware's own tooling.
Install
cot on PyPI
pip
pip install cotuv
uv add cotpoetry
poetry add cotInstalling cot
Before you install
Low install friction with a pure-Python wheel distribution. However, the package is abandoned—last release was in 2019 and last commit in August 2023—so expect no active maintenance or security updates.
License in practice
MIT license is permissive; you can use, modify, and distribute this package freely with minimal restrictions, though you must retain the license notice.
Quickstart
pip install cot
from cot.cli import main
main()
Requires Python 2.7 or Python 3.4+. Some runtime dependencies (pyOpenSSL, ndg-httpsclient) may require system OpenSSL libraries. VMware vSphere/ESXi connectivity requires network access and valid credentials.
Verify before relying
- Whether the package's Python 2.7 and early Python 3.x support remains functional on modern systems.
- Current state of compatibility with recent VMware vSphere/ESXi API versions.
- Whether dependencies like enum34 and backports.shutil-get-terminal-size are still necessary or conflict with modern Python.
Package facts
| License | MIT (permissive) |
| Python support | supports the current Python release (>=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, <4) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 10 — argparse, colorlog, pyvmomi, requests, verboselogs, pyOpenSSL, ndg-httpsclient, psutil, backports.shutil-get-terminal-size, enum34 |
| Maintenance | abandoned — 2,445 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 219,566/month — #9,325 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: cot-2.2.1-py2.py3-none-any.whl
Keywords: virtualization, ovf, ova, esxi, vmware, vcenter
Tags
More Python Modules packages
Converts domain names between Unicode and…
permissive · top 100 on PyPI
setuptoolsSetuptools is a Python build backend and…
permissive · top 100 on PyPI
PyYAMLPyYAML parses and emits YAML 1.1 data format,…
permissive · top 100 on PyPI
pydanticPydantic validates Python data structures…
permissive · top 100 on PyPI
annotated-typesProvides reusable metadata objects for use with…
permissive · top 100 on PyPI
typing-inspectionProvides runtime tools to inspect and…
permissive · top 100 on PyPI
pyvmomiPython SDK for VMware vSphere Management API…
permissive · top 5,000 on PyPI
vmware-vcenterProvides Python bindings to VMware vCenter…
permissive · top 15,000 on PyPI
kclikcli is a command-line provisioning and…
unclear · top 15,000 on PyPI
os-traitsos-traits provides a standardized catalog of…
permissive · top 15,000 on PyPI
vmware-vapi-common-clientProvides Python client bindings for VMware vAPI…
permissive · top 15,000 on PyPI
vmware-vapi-runtimeVMware vAPI Runtime provides HTTP client,…
permissive · top 15,000 on PyPI
oslo.vmwareoslo.vmware provides a library for common…
permissive · top 15,000 on PyPI
libvirt-pythonProvides Python bindings to the libvirt…
copyleft · top 15,000 on PyPI
homeconnect-websocketControl HomeConnect appliances over a local…
unclear · top 15,000 on PyPI
azure-mgmt-desktopvirtualizationManages Azure Desktop Virtualization resources…
permissive · top 15,000 on PyPI