Skip to main content

A python package for scraping and exporting GCP Compute Machines metadata and costs information.

Project description

GCP Compute Machines Costs

This project is a python package for scraping and exporting GCP Compute Machines metadata and costs information.

Requirements

  • python >= 3.12
  • GCP service account with the next assigned permissions:
    • compute.machineTypes.list
    • compute.regions.list
    • compute.zones.list

Installation

pip install gcp-compute-machines

Usage

Create new file scrape.py with the next content and change gcp_project_name and gcp_sa_account_path variables.

API Scraper

from gcp_compute_machines import GCPMachinesScraper

gcp_project_name = 'CHANGE_ME'
gcp_sa_account_path = 'CHANGE_ME'

scraper = GCPMachinesScraper(
    gpc_project_name=gcp_project_name,
    gcp_sa_account_path=gcp_sa_account_path
)
machines = scraper.fetch_gcp_machines(
    # dump=True means that app saves the scrapped SKUs data locally
    dump=True,
    # Set load=True if you want to use local SKUs data between sequential runs.
    load=False
)

scraper.dump_pricing_info(
    file_path='./data/flat_gcp_machines_pricing.yaml'
)

Loader for https://gcloud-compute.com/

This code downloads data from the website above and loads it into pydantic model.

from gcp_compute_machines import GCloudComputeMachinesProvider

scraper = GCloudComputeMachinesProvider()
machines = scraper.fetch_gcp_machines()
scraper.dump_pricing_info("./data/flat_gcloud_compute_machines_pricing.yaml")

Keep in mind that:

  • All pricing fields are normalized to hourly cost
  • Some fields were renamed or dropped

License

This project is under the Apache License, Version 2.0 unless noted otherwise.

Important info

Please note this project is not an official Google product.

That means no warranty in costs data integrity. Use scraped data wisely.

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

gcp_compute_machines-0.1.2.tar.gz (21.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

gcp_compute_machines-0.1.2-py3-none-any.whl (32.5 kB view details)

Uploaded Python 3

File details

Details for the file gcp_compute_machines-0.1.2.tar.gz.

File metadata

  • Download URL: gcp_compute_machines-0.1.2.tar.gz
  • Upload date:
  • Size: 21.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for gcp_compute_machines-0.1.2.tar.gz
Algorithm Hash digest
SHA256 895ae5165980201257dfb6c4f6111243c37e865a4390496651be9bf40b4d443a
MD5 141af44199118269109bd9ea0fd48832
BLAKE2b-256 14874e09b6ea34dec94e88371d924a73cc254cf133a742b57aac9cc78405589d

See more details on using hashes here.

Provenance

The following attestation bundles were made for gcp_compute_machines-0.1.2.tar.gz:

Publisher: publish.yml on vbutoma/gcp-compute-machines-costs

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file gcp_compute_machines-0.1.2-py3-none-any.whl.

File metadata

File hashes

Hashes for gcp_compute_machines-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 2b2125b33a5bfbda57427359fd336a4ea6184a1847dd2e1e080f7fa0e4704ff7
MD5 3e8cc010dd95e613ecc1840823b3ab8d
BLAKE2b-256 faa84ae10c8fea9fe1e6681e57d2263c1f8b20581179810b3f1becd3102e6b98

See more details on using hashes here.

Provenance

The following attestation bundles were made for gcp_compute_machines-0.1.2-py3-none-any.whl:

Publisher: publish.yml on vbutoma/gcp-compute-machines-costs

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page