Python 3 wrapper for the Vultr API v2.
Vultr API Reference: https://www.vultr.com/api
Tip
Please submit a Feature Request or report any Issues.
For more details visit www.vultr.com.
From PyPi: https://pypi.org/project/vultr-python
python -m pip install vultr-python
From Source:
git clone https://github.com/cssnr/vultr-python.git
python -m pip install vultr-python
You will need to create an api key and whitelist your IP address for most functions.
Initialize the Vultr class with your API Key or use the VULTR_API_KEY environment variable.
from vultr import Vultr
vultr = Vultr("VULTR_API_KEY")List plans and get available regions for that plan
plans = vultr.list_plans({"type": "vc2"}) # Filter by type
plan = plans[0] # 0 seems to be the base plan
regions = vultr.list_regions()
available = vultr.filter_regions(regions, plan["locations"])Get the OS list and filter by name
os_list = vultr.list_os()
ubuntu_lts = vultr.filter_os(os_list, "Ubuntu 24.04 LTS x64")Create a new ssh key from key string
sshkey = vultr.create_key("key-name", "ssh-rsa AAAA...")
vultr.delete_key(sshkey['id'])Create a new instance
data = {
"os_id": ubuntu_lts["id"],
"sshkey_id": [sshkey["id"]],
"hostname": "my-new-host",
"label": "my-new-host",
}
instance = vultr.create_instance(available[0], plan, **data)Arbitrary Methods get, post, patch, put, delete
plans = vultr.get("/plans", {"type": "vc2"})
sshkey = vultr.post("/ssh-keys", name="key-name", ssh_key="ssh-rsa AAAA...")
instance = vultr.patch("/instances/{instance-id}", plan=plans[1]["id"])
database = vultr.put("/databases/{database-id}", tag="new tag")
vultr.delete("/snapshots/{snapshot-id}")Error Handling
>>> instance = vultr.create_instance("atl", "vc2-1c-0.5gb-v6", os_id=2284)
Traceback (most recent call last):
vultr.vultr.VultrException: Error 400: Server add failed: Ubuntu 24.04 LTS x64 requires a plan with at least 1000 MB memory.Using the VultrException class
from vultr import VultrException
try:
instance = vultr.create_instance("atl", "vc2-1c-0.5gb-v6", os_id=2284)
except VultrException as error:
print(error.error)
# 'Server add failed: Ubuntu 24.04 LTS x64 requires a plan with at least 1000 MB memory.'
print(error.status)
# 400Full Documentation: https://cssnr.github.io/vultr-python
Vultr API Reference: https://www.vultr.com/api
For general help or to request a feature, see:
- Q&A Discussion: https://github.com/cssnr/vultr-python/discussions/categories/q-a
- Request a Feature: https://github.com/cssnr/vultr-python/discussions/categories/feature-requests
- Chat with us on Discord: https://discord.gg/wXy6m2X8wY
If you are experiencing an issue/bug or getting unexpected results, you can:
- Report an Issue: https://github.com/cssnr/vultr-python/issues
- Provide General Feedback: https://cssnr.github.io/feedback/
- Chat with us on Discord: https://discord.gg/wXy6m2X8wY
If you would like to submit a PR, please review the CONTRIBUTING.md.
Please consider making a donation to support the development of this project and additional open source projects.
For a full list of current projects visit: https://cssnr.github.io/