Python library for Vultr API
Project description
Python Library for Vultr API
The unofficial python library for the Vultr API.
Installation
pip install -U pyvultr
Usage
Configuration
from pyvultr import VultrV2
# Set your api key or we'll get it from env `VULTR_API_KEY`.
VULTR_API_KEY = '...'
v2 = VultrV2(api_key=VULTR_API_KEY)
Get Account
account = v2.account.get()
print(account)
List Region
regions: VultrPagination[BackupItem] = v2.region.list()
# Here `regions` is a VultrPagination object, you can use it like list, eg: get by index or slice.
# VultrPagination will help you automatically get the next page when you need it.
print(regions[3:5])
# >>> [RegionItem(id='dfw', country='US', options=['ddos_protection'], continent='North America', city='Dallas'), RegionItem(id='ewr', country='US', options=['ddos_protection', 'block_storage'], continent='North America', city='New Jersey')]
print(regions[12])
# >>> RegionItem(id='ord', country='US', options=['ddos_protection'], continent='North America', city='Chicago')
# Of course you can use `for` to iterate all items.
# But be careful, it will cause a lot of requests if it's has a lot of data.
for region in regions:
print(region)
# A smarter way to iterate is to determine the number of iterations you want.
smart_regions: VultrPagination[RegionItem] = v2.region.list(capacity=3)
for region in smart_regions:
print(region)
# >>> RegionItem(id='ams', country='NL', options=['ddos_protection'], continent='Europe', city='Amsterdam')
# >>> RegionItem(id='atl', country='US', options=['ddos_protection'], continent='North America', city='Atlanta')
# >>> RegionItem(id='cdg', country='FR', options=['ddos_protection'], continent='Europe', city='Paris')
# At last, you can get all data just like calling attributes (better programming experience if you use IDE):
first_region: RegionItem = regions.first()
print(first_region.country, first_region.city)
# >>> NL Amsterdam
CLI
PyVultr also provides a command line interface.
It's a simple wrapper of the python library using Fire, and it has a beautiful output by using Pygments.
It registered a command pyvultr in the system, so you can just type pyvultr to use it:
# please setup Your API Key first:
# you can generate your API Key from https://my.vultr.com/settings/#settingsapi
# export VULTR_API_KEY="..."
# show help by type `pyvultr`
$ pyvultr
pyvultr cli usage is very similar to the python library usage.
let's explain this with get account information api :
In Python:
from pyvultr import VultrV2
# here we get api key from env `VULTR_API_KEY`
VultrV2().account.get()
>>> AccountInfo(name='test man', email='test@xxx.xxx', acls=['manage_users', 'subscriptions_view', 'subscriptions', 'billing', 'support', 'provisioning', 'dns', 'abuse', 'upgrade', 'firewall', 'alerts', 'objstore', 'loadbalancer', 'vke'], balance=11.2, pending_charges=3.4, last_payment_date='2019-07-16T05:19:50+00:00', last_payment_amount=-10)
In CLI:
$ pyvultr account get
{
"name": "test man",
"email": "test@xxx.xxx",
"acls": [
"manage_users",
"subscriptions_view",
"subscriptions",
"billing",
"support",
"provisioning",
"dns",
"abuse",
"upgrade",
"firewall",
"alerts",
"objstore",
"loadbalancer",
"vke"
],
"balance": 11.2,
"pending_charges": 3.4,
"last_payment_date": "2019-07-16T05:19:50+00:00",
"last_payment_amount": -10
}
Actually, we have a beautiful output:
Testing
python -m pytest -v
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file pyvultr-0.1.5.tar.gz.
File metadata
- Download URL: pyvultr-0.1.5.tar.gz
- Upload date:
- Size: 38.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.1.12 CPython/3.6.8 Darwin/21.2.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4954904650bad58c6b48ae0d5015fe4f7d41e79be943d0b8526ccda9d48efcc5
|
|
| MD5 |
2be697e98fd6c61e12839e7f8a134665
|
|
| BLAKE2b-256 |
d744f603101422b1bd7c6ab970be0201e234f4d68fe17f3ee1a58634bd354aa4
|
File details
Details for the file pyvultr-0.1.5-py3-none-any.whl.
File metadata
- Download URL: pyvultr-0.1.5-py3-none-any.whl
- Upload date:
- Size: 56.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.1.12 CPython/3.6.8 Darwin/21.2.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0d4dda9cf9e0fd2f8293c8bde97a3f88628e2950ac65947b97d82fc4050c6525
|
|
| MD5 |
6a8323efa1a8fa05d07c70357d315ea9
|
|
| BLAKE2b-256 |
dbc52f123fe2cbb4e101ec1d34fbf91a1097aea4238ec23e34936981d997a034
|