A Python-based CLI and library for cloud pricing APIs. Currently covering AWS Pricing.
utu – from the Maori language, can be a verb that means to repay, pay, …
pyutu – when said fast, sounds like “pay you too” … which seems appropriate.
Initially, this library just strives to simplify pulling product details and pricing terms from a Service’s Offer File for a given Region.
Installation
pip install pyutu
CLI Examples
Activate help
pyutu --help
A CLI example that shows details from the pricing index file.
$> pyutu index
Format Version: v1.0
Publication Date: 2015-12-15T23:51:56Z
Services Offered: AmazonDynamoDB, AmazonVPC, AmazonSimpleDB, AmazonGlacier,
AmazonEC2, AmazonS3, AmazonSES, AmazonRoute53, AmazonElastiCache, AmazonRDS,
AmazonRedshift, awskms, AmazonCloudFront
...snip...
A CLI example showing how to get EC2 Linux on-demand prices in the default region for the m4.large instance type.
$> pyutu price ec2 -a operatingSystem Linux -a instanceType m4.large
Service Alias: AmazonEC2
URL: https://pricing.us-east-1.amazonaws.com/offers/v1.0/aws/AmazonEC2/current/index.json
Region: us-west-2
Product Terms: OnDemand
Filtering Attributes: {'instanceType': 'm4.large', 'operatingSystem': 'Linux'}
Rate Code: 8ZSNJR8WJ5729VXM.JRTCKXETXF.6YS6EN2CT7 price: {
"beginRange": "0",
"description": "$0.139 per Dedicated Usage Linux m4.large Instance Hour",
"effectiveDate": "2015-12-01T00:00:00Z",
"endRange": "Inf",
"pricePerUnit": {
"USD": "0.1390000000"
},
"regionId": "us-west-2",
"sku": "8ZSNJR8WJ5729VXM",
"term_description": "OnDemand",
"unit": "Hrs"
}
Rate Code: B2M25Y2U9824Q5TG.JRTCKXETXF.6YS6EN2CT7 price: {
"beginRange": "0",
"description": "$0.126 per On Demand Linux m4.large Instance Hour",
"effectiveDate": "2015-12-01T00:00:00Z",
"endRange": "Inf",
"pricePerUnit": {
"USD": "0.1260000000"
},
"regionId": "us-west-2",
"sku": "B2M25Y2U9824Q5TG",
"term_description": "OnDemand",
"unit": "Hrs"
}
Rate Code: 62WK2ZX9BN3SYAXW.JRTCKXETXF.6YS6EN2CT7 price: {
"beginRange": "0",
"description": "$0.000 per Linux m4.large Dedicated Host Instance hour",
"effectiveDate": "2015-12-01T00:00:00Z",
"endRange": "Inf",
"pricePerUnit": {
"USD": "0.0000000000"
},
"regionId": "us-west-2",
"sku": "62WK2ZX9BN3SYAXW",
"term_description": "OnDemand",
"unit": "Hrs"
}
Total Prices Found: 3
Time: 5.768927000000001 secs
A CLI example showing how to get EC2 Linux product details in the default region for the shared tenancy m4.large instance type
$> pyutu product ec2 -a operatingSystem Linux -a instanceType m4.large -a tenancy Shared
Service Alias: AmazonEC2
URL: https://pricing.us-east-1.amazonaws.com/offers/v1.0/aws/AmazonEC2/current/index.json
Region: us-west-2
Product Terms: OnDemand
Filtering Attributes: {'operatingSystem': 'Linux', 'tenancy': 'Shared', 'instanceType': 'm4.large'}
Product SKU: B2M25Y2U9824Q5TG product: {
"offerCode": "AmazonEC2",
"product": {
"attributes": {
"clockSpeed": "2.4 GHz",
"currentGeneration": "Yes",
"dedicatedEbsThroughput": "450 Mbps",
"enhancedNetworkingSupported": "Yes",
"instanceFamily": "General purpose",
"instanceType": "m4.large",
"licenseModel": "No License required",
"location": "US West (Oregon)",
"locationType": "AWS Region",
"memory": "8 GiB",
"networkPerformance": "Moderate",
"operatingSystem": "Linux",
"operation": "RunInstances",
"physicalProcessor": "Intel Xeon E5-2676 v3 (Haswell)",
"preInstalledSw": "NA",
"processorArchitecture": "64-bit",
"processorFeatures": "Intel AVX; Intel AVX2; Intel Turbo",
"servicecode": "AmazonEC2",
"storage": "EBS only",
"tenancy": "Shared",
"usagetype": "USW2-BoxUsage:m4.large",
"vcpu": "2"
},
"productFamily": "Compute Instance",
"sku": "B2M25Y2U9824Q5TG"
},
"regionId": "us-west-2",
"term": {
"B2M25Y2U9824Q5TG.JRTCKXETXF": {
"effectiveDate": "2015-12-01T00:00:00Z",
"offerTermCode": "JRTCKXETXF",
"priceDimensions": {
"B2M25Y2U9824Q5TG.JRTCKXETXF.6YS6EN2CT7": {
"appliesTo": [],
"beginRange": "0",
"description": "$0.126 per On Demand Linux m4.large Instance Hour",
"endRange": "Inf",
"pricePerUnit": {
"USD": "0.1260000000"
},
"rateCode": "B2M25Y2U9824Q5TG.JRTCKXETXF.6YS6EN2CT7",
"unit": "Hrs"
}
},
"sku": "B2M25Y2U9824Q5TG",
"termAttributes": {}
}
},
"term_description": "OnDemand"
}
Total Products Found: 1
Time: 5.734775 secs
A CLI example showing how to get all on-demand DDB prices in the default region.
$> pyutu price ddb
Service Alias: AmazonDynamoDB
URL: https://pricing.us-east-1.amazonaws.com/offers/v1.0/aws/AmazonDynamoDB/current/index.json
Region: us-west-2
Product Terms: OnDemand
Filtering Attributes: {}
Rate Code: VTDJ9RVHJGJP999U.JRTCKXETXF.6YS6EN2CT7 price: {
"beginRange": "0",
"description": "$0.00 per GB - US West (Oregon) data transfer from EUC1 (FRA)",
"effectiveDate": "2015-07-01T00:00:00Z",
"endRange": "Inf",
"pricePerUnit": {
"USD": "0.0000000000"
},
"regionId": "us-west-2",
"sku": "VTDJ9RVHJGJP999U",
"term_description": "OnDemand",
"unit": "GB"
}
...snip...
Total Prices Found: 31
Time: 0.417241 secs
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 pyutu-0.4.2.tar.gz.
File metadata
- Download URL: pyutu-0.4.2.tar.gz
- Upload date:
- Size: 4.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
cd5bbd08373bf0a6d84a568401357c8655c2a254e5c2aee7970d46f010857d63
|
|
| MD5 |
7c108bcbb7a53101081d50d37db64665
|
|
| BLAKE2b-256 |
a15e6289ba7f1796f3daef29989391c126a099443b02ca95d4d10a40fa61e6c0
|
File details
Details for the file pyutu-0.4.2-py3.5.egg.
File metadata
- Download URL: pyutu-0.4.2-py3.5.egg
- Upload date:
- Size: 4.1 kB
- Tags: Egg
- Uploaded using Trusted Publishing? No
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
393c8529c6c4d703c5f95ff802402f8bb2de3585ce61b95f27247fb71b121e9c
|
|
| MD5 |
e0dfe1060f590af3f1eabec336f10eb9
|
|
| BLAKE2b-256 |
10fed0a386744b7b482c9c0354524b313ef66fe62d1172cfe5c1c67bfa549ca7
|