It has been quite some time since we’ve had a PyVMC release. We published v1.8 on May 20th, 2022.
The most visible change to the code is a contribution from Tom Twyman. Tom added the pyvmc_vcdr library, which supports calls to the new VCDR API. Customers have been looking forward to a REST API for VCDR for a long time, we are excited for the first iteration of the API and look forward to new releases.
The bulk of the changes in 1.8 are code refactoring, the result of a ton of work put in by both Tom Twyman and Chris White. PyVMC has not been built by professional developers – we’re all amateur Python users trying to make VMC on AWS API calls a little easier for us and our customers. One of the mistakes we made when building this tool was to tightly couple the API calls with the output. This made it impossible to use any of the API calls in any other project. This has created double work for us while maintaining the SDDC Import/Export Fling. In many cases, PyVMC and SDDC Import/Export are two sides of the same coin. PyVMC takes JSON responses and prints out to the screen, where SDDC Import/Export takes most of the same JSON responses but uses them as payloads for a new API call.
The code has now been split into separate libraries. The libraries make the API calls, and pyVMC.py handles how to display the responses. The code split will make it much easier for us to re-use code in other projects. We realize we can make actual packages and submit them to PyPI and are considering that as a next step.