Skip to content

A package for getting cloud products and product descriptions from a cloud provider website.

License

Notifications You must be signed in to change notification settings

dylanhogg/cloud-products

Repository files navigation

cloud-products

pypi Version Latest Tag Build Dependencies

A package for getting cloud products and product descriptions from a cloud provider website with cache support.

Currently supports getting AWS product information from https://aws.amazon.com/products

GCP and Azure product information will be added in time.

Install from PyPi

pip install cloud-products

Example 1: List AWS products

from cloud_products.aws import AwsCrawler
for product in AwsCrawler().get_products():
    print(f"{product.code}: {product.name}: {product.desc}")

Example output:

alexaforbusiness: Alexa for Business: Empower your Organization with Alexa
amazon-mq: Amazon MQ: Managed Message Broker for ActiveMQ
amplify: AWS Amplify: Build and deploy mobile and web applications
api-gateway: Amazon API Gateway: Build, Deploy, and Manage APIs
...

Example 2: Get product descriptions as a list of lines

from cloud_products.aws import AwsCrawler
cloud_products = AwsCrawler()
product = cloud_products.get_products()[0]
lines = cloud_products.get_product_text(product)
print(lines[4])

Example output:

Alexa for Business is a service that enables organizations and employees to use Alexa to ...

Example 3: Usage to get matching product(s):

from cloud_products import aws
cloud_products = aws.AwsCrawler()
sagemaker_products = cloud_products.get_products_matching("sagemaker")
sagemaker_description = cloud_products.get_product_text(sagemaker_products[0])
print(sagemaker_description[3])

Example output:

Amazon SageMaker is a fully managed service that provides every developer and data scientist with ...

Example 4: Save product descriptions and FAQ pages to files:

from cloud_products import aws
cloud_products = aws.AwsCrawler()
for product in cloud_products.get_products():
    print(f"Saving {product.name}")
    cloud_products.save_product(product, output_path)
    cloud_products.save_faq(product, output_path)

Example output:

Saving Alexa for Business
Saving Amazon MQ
Saving AWS Amplify
Saving Amazon API Gateway
...

Example 5: Get Pandas dataframe of products:

Note: requires the optional pandas package to be installed.

This dataframe has the product name, code, url and full descriptions.

from cloud_products.aws import AwsCrawler
df = AwsCrawler().get_products_as_df()
print(df)

Example output:

                   name            std_name              code  ...                          seed_url                                               desc                                       product_text
0    Alexa for Business  alexa for business  alexaforbusiness  ...  https://aws.amazon.com/products/               Empower your Organization with Alexa  Alexa for Business Use Alexa for work Get Star...
1             Amazon MQ              aws mq         amazon-mq  ...  https://aws.amazon.com/products/                     Managed Message Broker Service  Amazon MQ Fully managed service for open sourc...
2           AWS Amplify         aws amplify           amplify  ...  https://aws.amazon.com/products/       Build and deploy mobile and web applications  AWS Amplify Fastest, easiest way to build mobi...
3    Amazon API Gateway     aws api gateway       api-gateway  ...  https://aws.amazon.com/products/                     Build, Deploy, and Manage APIs  Amazon API Gateway Create, maintain, and secur...
4          AWS App Mesh        aws app mesh          app-mesh  ...  https://aws.amazon.com/products/                  Monitor and control microservices  AWS App Mesh Application-level networking for ...

Cloud Products is distributed under the MIT license.

About

A package for getting cloud products and product descriptions from a cloud provider website.

Topics

Resources

License

Stars

Watchers

Forks