CINXE.COM
Setting up a Python development environment | Google Cloud
<!doctype html> <html lang="en" dir="ltr"> <head> <meta name="google-signin-client-id" content="721724668570-nbkv1cfusk7kk4eni4pjvepaus73b13t.apps.googleusercontent.com"> <meta name="google-signin-scope" content="profile email https://www.googleapis.com/auth/developerprofiles https://www.googleapis.com/auth/developerprofiles.award https://www.googleapis.com/auth/cloud-platform https://www.googleapis.com/auth/webhistory"> <meta property="og:site_name" content="Google Cloud"> <meta property="og:type" content="website"><meta name="theme-color" content="#039be5"><meta charset="utf-8"> <meta content="IE=Edge" http-equiv="X-UA-Compatible"> <meta name="viewport" content="width=device-width, initial-scale=1"> <link rel="manifest" href="/_pwa/cloud/manifest.json" crossorigin="use-credentials"> <link rel="preconnect" href="//www.gstatic.com" crossorigin> <link rel="preconnect" href="//fonts.gstatic.com" crossorigin> <link rel="preconnect" href="//fonts.googleapis.com" crossorigin> <link rel="preconnect" href="//apis.google.com" crossorigin> <link rel="preconnect" href="//www.google-analytics.com" crossorigin><link rel="stylesheet" href="//fonts.googleapis.com/css?family=Google+Sans:400,500,700|Google+Sans+Text:400,400italic,500,500italic,700,700italic|Roboto:400,400italic,500,500italic,700,700italic|Roboto+Mono:400,500,700&display=swap"> <link rel="stylesheet" href="//fonts.googleapis.com/css2?family=Material+Icons&family=Material+Symbols+Outlined&display=block"><link rel="stylesheet" href="https://www.gstatic.com/devrel-devsite/prod/v38a693baeb774512feb42f10aac8f755d8791ed41119b5be7a531f8e16f8279f/cloud/css/app.css"> <link rel="shortcut icon" href="https://www.gstatic.com/devrel-devsite/prod/v38a693baeb774512feb42f10aac8f755d8791ed41119b5be7a531f8e16f8279f/cloud/images/favicons/onecloud/favicon.ico"> <link rel="apple-touch-icon" href="https://www.gstatic.com/devrel-devsite/prod/v38a693baeb774512feb42f10aac8f755d8791ed41119b5be7a531f8e16f8279f/cloud/images/favicons/onecloud/super_cloud.png"><link rel="canonical" href="https://cloud.google.com/python/docs/setup"><link rel="search" type="application/opensearchdescription+xml" title="Google Cloud" href="https://cloud.google.com/s/opensearch.xml"> <link rel="alternate" hreflang="en" href="https://cloud.google.com/python/docs/setup" /><link rel="alternate" hreflang="x-default" href="https://cloud.google.com/python/docs/setup" /><title>Setting up a Python development environment | Google Cloud</title> <meta property="og:title" content="Setting up a Python development environment | Google Cloud"><meta property="og:url" content="https://cloud.google.com/python/docs/setup"><meta property="og:image" content="https://cloud.google.com/_static/cloud/images/social-icon-google-cloud-1200-630.png"> <meta property="og:image:width" content="1200"> <meta property="og:image:height" content="630"><meta property="og:locale" content="en"><meta name="twitter:card" content="summary_large_image"><script type="application/ld+json"> { "@context": "https://schema.org", "@type": "Article", "headline": "Setting up a Python development environment" } </script><script type="application/ld+json"> { "@context": "https://schema.org", "@type": "BreadcrumbList", "itemListElement": [{ "@type": "ListItem", "position": 1, "name": "Python", "item": "https://cloud.google.com/python" },{ "@type": "ListItem", "position": 2, "name": "Documentation", "item": "https://cloud.google.com/python/docs" },{ "@type": "ListItem", "position": 3, "name": "Setting up a Python development environment", "item": "https://cloud.google.com/python/docs/setup" }] } </script> <link rel="stylesheet" href="/extras.css"></head> <body class="" template="page" theme="cloud-theme" type="article" layout="docs" free-trial display-toc pending> <devsite-progress type="indeterminate" id="app-progress"></devsite-progress> <a href="#main-content" class="skip-link button"> Skip to main content </a> <section class="devsite-wrapper"> <devsite-cookie-notification-bar></devsite-cookie-notification-bar><cloudx-track userCountry="SG"></cloudx-track> <cloudx-utils-init></cloudx-utils-init> <devsite-header keep-tabs-visible> <div class="devsite-header--inner nocontent"> <div class="devsite-top-logo-row-wrapper-wrapper"> <div class="devsite-top-logo-row-wrapper"> <div class="devsite-top-logo-row"> <button type="button" id="devsite-hamburger-menu" class="devsite-header-icon-button button-flat material-icons gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Navigation menu button" visually-hidden aria-label="Open menu"> </button> <div class="devsite-product-name-wrapper"> <a href="/" class="devsite-site-logo-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Site logo" track-type="globalNav" track-name="googleCloud" track-metadata-position="nav" track-metadata-eventDetail="nav"> <picture> <img src="https://www.gstatic.com/devrel-devsite/prod/v38a693baeb774512feb42f10aac8f755d8791ed41119b5be7a531f8e16f8279f/cloud/images/cloud-logo.svg" class="devsite-site-logo" alt="Google Cloud"> </picture> </a> <span class="devsite-product-name"> <ul class="devsite-breadcrumb-list" > <li class="devsite-breadcrumb-item devsite-has-google-wordmark"> </li> </ul> </span> </div> <div class="devsite-top-logo-row-middle"> <div class="devsite-header-upper-tabs"> <cloudx-tabs-nav class="upper-tabs"> <nav class="devsite-tabs-wrapper" aria-label="Upper tabs"> <tab class="devsite-active"> <a href="https://cloud.google.com/docs" class="devsite-tabs-content gc-analytics-event " track-metadata-eventdetail="https://cloud.google.com/docs" track-type="nav" track-metadata-position="nav - docs-home" track-metadata-module="primary nav" aria-label="Documentation, selected" data-category="Site-Wide Custom Events" data-label="Tab: Documentation" track-name="docs-home" track-link-column-type="single-column" > Documentation </a> </tab> <tab class="devsite-dropdown devsite-clickable "> <a href="https://cloud.google.com/docs/tech-area-overviews" class="devsite-tabs-content gc-analytics-event " track-metadata-eventdetail="https://cloud.google.com/docs/tech-area-overviews" track-type="nav" track-metadata-position="nav - technology-areas" track-metadata-module="primary nav" data-category="Site-Wide Custom Events" data-label="Tab: Technology areas" track-name="technology-areas" track-link-column-type="single-column" > Technology areas </a> <button aria-haspopup="menu" aria-expanded="false" aria-label="Dropdown menu for Technology areas" track-type="nav" track-metadata-eventdetail="https://cloud.google.com/docs/tech-area-overviews" track-metadata-position="nav - technology-areas" track-metadata-module="primary nav" data-category="Site-Wide Custom Events" data-label="Tab: Technology areas" track-name="technology-areas" track-link-column-type="single-column" class="devsite-tabs-dropdown-toggle devsite-icon devsite-icon-arrow-drop-down"></button> <div class="devsite-tabs-dropdown" role="menu" aria-label="submenu" hidden> <button class="devsite-tabs-close-button material-icons button-flat gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Close dropdown menu" aria-label="Close dropdown menu" track-type="nav" track-name="close" track-metadata-eventdetail="#" track-metadata-position="nav - technology-areas" track-metadata-module="tertiary nav">close</button> <div class="devsite-tabs-dropdown-content"> <div class="devsite-tabs-dropdown-column "> <ul class="devsite-tabs-dropdown-section "> <li class="devsite-nav-item"> <a href="https://cloud.google.com/docs/ai-ml" track-type="nav" track-metadata-eventdetail="https://cloud.google.com/docs/ai-ml" track-metadata-position="nav - technology-areas" track-metadata-module="tertiary nav" tooltip > <div class="devsite-nav-item-title"> AI and ML </div> </a> </li> <li class="devsite-nav-item"> <a href="https://cloud.google.com/docs/application-development" track-type="nav" track-metadata-eventdetail="https://cloud.google.com/docs/application-development" track-metadata-position="nav - technology-areas" track-metadata-module="tertiary nav" tooltip > <div class="devsite-nav-item-title"> Application development </div> </a> </li> <li class="devsite-nav-item"> <a href="https://cloud.google.com/docs/application-hosting" track-type="nav" track-metadata-eventdetail="https://cloud.google.com/docs/application-hosting" track-metadata-position="nav - technology-areas" track-metadata-module="tertiary nav" tooltip > <div class="devsite-nav-item-title"> Application hosting </div> </a> </li> <li class="devsite-nav-item"> <a href="https://cloud.google.com/docs/compute-area" track-type="nav" track-metadata-eventdetail="https://cloud.google.com/docs/compute-area" track-metadata-position="nav - technology-areas" track-metadata-module="tertiary nav" tooltip > <div class="devsite-nav-item-title"> Compute </div> </a> </li> <li class="devsite-nav-item"> <a href="https://cloud.google.com/docs/data" track-type="nav" track-metadata-eventdetail="https://cloud.google.com/docs/data" track-metadata-position="nav - technology-areas" track-metadata-module="tertiary nav" tooltip > <div class="devsite-nav-item-title"> Data analytics and pipelines </div> </a> </li> <li class="devsite-nav-item"> <a href="https://cloud.google.com/docs/databases" track-type="nav" track-metadata-eventdetail="https://cloud.google.com/docs/databases" track-metadata-position="nav - technology-areas" track-metadata-module="tertiary nav" tooltip > <div class="devsite-nav-item-title"> Databases </div> </a> </li> <li class="devsite-nav-item"> <a href="https://cloud.google.com/docs/dhm-cloud" track-type="nav" track-metadata-eventdetail="https://cloud.google.com/docs/dhm-cloud" track-metadata-position="nav - technology-areas" track-metadata-module="tertiary nav" tooltip > <div class="devsite-nav-item-title"> Distributed, hybrid, and multicloud </div> </a> </li> <li class="devsite-nav-item"> <a href="https://cloud.google.com/docs/generative-ai" track-type="nav" track-metadata-eventdetail="https://cloud.google.com/docs/generative-ai" track-metadata-position="nav - technology-areas" track-metadata-module="tertiary nav" tooltip > <div class="devsite-nav-item-title"> Generative AI </div> </a> </li> <li class="devsite-nav-item"> <a href="https://cloud.google.com/docs/industry" track-type="nav" track-metadata-eventdetail="https://cloud.google.com/docs/industry" track-metadata-position="nav - technology-areas" track-metadata-module="tertiary nav" tooltip > <div class="devsite-nav-item-title"> Industry solutions </div> </a> </li> <li class="devsite-nav-item"> <a href="https://cloud.google.com/docs/networking" track-type="nav" track-metadata-eventdetail="https://cloud.google.com/docs/networking" track-metadata-position="nav - technology-areas" track-metadata-module="tertiary nav" tooltip > <div class="devsite-nav-item-title"> Networking </div> </a> </li> <li class="devsite-nav-item"> <a href="https://cloud.google.com/docs/observability" track-type="nav" track-metadata-eventdetail="https://cloud.google.com/docs/observability" track-metadata-position="nav - technology-areas" track-metadata-module="tertiary nav" tooltip > <div class="devsite-nav-item-title"> Observability and monitoring </div> </a> </li> <li class="devsite-nav-item"> <a href="https://cloud.google.com/docs/security" track-type="nav" track-metadata-eventdetail="https://cloud.google.com/docs/security" track-metadata-position="nav - technology-areas" track-metadata-module="tertiary nav" tooltip > <div class="devsite-nav-item-title"> Security </div> </a> </li> <li class="devsite-nav-item"> <a href="https://cloud.google.com/docs/storage" track-type="nav" track-metadata-eventdetail="https://cloud.google.com/docs/storage" track-metadata-position="nav - technology-areas" track-metadata-module="tertiary nav" tooltip > <div class="devsite-nav-item-title"> Storage </div> </a> </li> </ul> </div> </div> </div> </tab> <tab class="devsite-dropdown devsite-clickable "> <a href="https://cloud.google.com/docs/cross-product-overviews" class="devsite-tabs-content gc-analytics-event " track-metadata-eventdetail="https://cloud.google.com/docs/cross-product-overviews" track-type="nav" track-metadata-position="nav - crossproduct" track-metadata-module="primary nav" data-category="Site-Wide Custom Events" data-label="Tab: Cross-product tools" track-name="crossproduct" track-link-column-type="single-column" > Cross-product tools </a> <button aria-haspopup="menu" aria-expanded="false" aria-label="Dropdown menu for Cross-product tools" track-type="nav" track-metadata-eventdetail="https://cloud.google.com/docs/cross-product-overviews" track-metadata-position="nav - crossproduct" track-metadata-module="primary nav" data-category="Site-Wide Custom Events" data-label="Tab: Cross-product tools" track-name="crossproduct" track-link-column-type="single-column" class="devsite-tabs-dropdown-toggle devsite-icon devsite-icon-arrow-drop-down"></button> <div class="devsite-tabs-dropdown" role="menu" aria-label="submenu" hidden> <button class="devsite-tabs-close-button material-icons button-flat gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Close dropdown menu" aria-label="Close dropdown menu" track-type="nav" track-name="close" track-metadata-eventdetail="#" track-metadata-position="nav - crossproduct" track-metadata-module="tertiary nav">close</button> <div class="devsite-tabs-dropdown-content"> <div class="devsite-tabs-dropdown-column "> <ul class="devsite-tabs-dropdown-section "> <li class="devsite-nav-item"> <a href="https://cloud.google.com/docs/access-resources" track-type="nav" track-metadata-eventdetail="https://cloud.google.com/docs/access-resources" track-metadata-position="nav - crossproduct" track-metadata-module="tertiary nav" tooltip > <div class="devsite-nav-item-title"> Access and resources management </div> </a> </li> <li class="devsite-nav-item"> <a href="https://cloud.google.com/docs/costs-usage" track-type="nav" track-metadata-eventdetail="https://cloud.google.com/docs/costs-usage" track-metadata-position="nav - crossproduct" track-metadata-module="tertiary nav" tooltip > <div class="devsite-nav-item-title"> Costs and usage management </div> </a> </li> <li class="devsite-nav-item"> <a href="https://cloud.google.com/docs/devtools" track-type="nav" track-metadata-eventdetail="https://cloud.google.com/docs/devtools" track-metadata-position="nav - crossproduct" track-metadata-module="tertiary nav" tooltip > <div class="devsite-nav-item-title"> Google Cloud SDK, languages, frameworks, and tools </div> </a> </li> <li class="devsite-nav-item"> <a href="https://cloud.google.com/docs/iac" track-type="nav" track-metadata-eventdetail="https://cloud.google.com/docs/iac" track-metadata-position="nav - crossproduct" track-metadata-module="tertiary nav" tooltip > <div class="devsite-nav-item-title"> Infrastructure as code </div> </a> </li> <li class="devsite-nav-item"> <a href="https://cloud.google.com/docs/migration" track-type="nav" track-metadata-eventdetail="https://cloud.google.com/docs/migration" track-metadata-position="nav - crossproduct" track-metadata-module="tertiary nav" tooltip > <div class="devsite-nav-item-title"> Migration </div> </a> </li> </ul> </div> </div> </div> </tab> <tab class="devsite-dropdown devsite-clickable "> <a href="https://cloud.google.com/" class="devsite-tabs-content gc-analytics-event " track-metadata-eventdetail="https://cloud.google.com/" track-type="nav" track-metadata-position="nav - related-sites" track-metadata-module="primary nav" data-category="Site-Wide Custom Events" data-label="Tab: Related sites" track-name="related-sites" track-link-column-type="single-column" > Related sites </a> <button aria-haspopup="menu" aria-expanded="false" aria-label="Dropdown menu for Related sites" track-type="nav" track-metadata-eventdetail="https://cloud.google.com/" track-metadata-position="nav - related-sites" track-metadata-module="primary nav" data-category="Site-Wide Custom Events" data-label="Tab: Related sites" track-name="related-sites" track-link-column-type="single-column" class="devsite-tabs-dropdown-toggle devsite-icon devsite-icon-arrow-drop-down"></button> <div class="devsite-tabs-dropdown" role="menu" aria-label="submenu" hidden> <button class="devsite-tabs-close-button material-icons button-flat gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Close dropdown menu" aria-label="Close dropdown menu" track-type="nav" track-name="close" track-metadata-eventdetail="#" track-metadata-position="nav - related-sites" track-metadata-module="tertiary nav">close</button> <div class="devsite-tabs-dropdown-content"> <div class="devsite-tabs-dropdown-column "> <ul class="devsite-tabs-dropdown-section "> <li class="devsite-nav-item"> <a href="https://cloud.google.com/" track-type="nav" track-metadata-eventdetail="https://cloud.google.com/" track-metadata-position="nav - related-sites" track-metadata-module="tertiary nav" tooltip > <div class="devsite-nav-item-title"> Google Cloud Home </div> </a> </li> <li class="devsite-nav-item"> <a href="https://cloud.google.com/free" track-type="nav" track-metadata-eventdetail="https://cloud.google.com/free" track-metadata-position="nav - related-sites" track-metadata-module="tertiary nav" tooltip > <div class="devsite-nav-item-title"> Free Trial and Free Tier </div> </a> </li> <li class="devsite-nav-item"> <a href="https://cloud.google.com/architecture" track-type="nav" track-metadata-eventdetail="https://cloud.google.com/architecture" track-metadata-position="nav - related-sites" track-metadata-module="tertiary nav" tooltip > <div class="devsite-nav-item-title"> Architecture Center </div> </a> </li> <li class="devsite-nav-item"> <a href="https://cloud.google.com/blog" track-type="nav" track-metadata-eventdetail="https://cloud.google.com/blog" track-metadata-position="nav - related-sites" track-metadata-module="tertiary nav" tooltip > <div class="devsite-nav-item-title"> Blog </div> </a> </li> <li class="devsite-nav-item"> <a href="https://cloud.google.com/contact" track-type="nav" track-metadata-eventdetail="https://cloud.google.com/contact" track-metadata-position="nav - related-sites" track-metadata-module="tertiary nav" tooltip > <div class="devsite-nav-item-title"> Contact Sales </div> </a> </li> <li class="devsite-nav-item"> <a href="https://cloud.google.com/developers" track-type="nav" track-metadata-eventdetail="https://cloud.google.com/developers" track-metadata-position="nav - related-sites" track-metadata-module="tertiary nav" tooltip > <div class="devsite-nav-item-title"> Google Cloud Developer Center </div> </a> </li> <li class="devsite-nav-item"> <a href="https://developers.google.com/" track-type="nav" track-metadata-eventdetail="https://developers.google.com/" track-metadata-position="nav - related-sites" track-metadata-module="tertiary nav" tooltip > <div class="devsite-nav-item-title"> Google Developer Center </div> </a> </li> <li class="devsite-nav-item"> <a href="https://console.cloud.google.com/marketplace" track-type="nav" track-metadata-eventdetail="https://console.cloud.google.com/marketplace" track-metadata-position="nav - related-sites" track-metadata-module="tertiary nav" tooltip > <div class="devsite-nav-item-title"> Google Cloud Marketplace </div> </a> </li> <li class="devsite-nav-item"> <a href="https://cloud.google.com/marketplace/docs" track-type="nav" track-metadata-eventdetail="https://cloud.google.com/marketplace/docs" track-metadata-position="nav - related-sites" track-metadata-module="tertiary nav" tooltip > <div class="devsite-nav-item-title"> Google Cloud Marketplace Documentation </div> </a> </li> <li class="devsite-nav-item"> <a href="https://www.cloudskillsboost.google/paths" track-type="nav" track-metadata-eventdetail="https://www.cloudskillsboost.google/paths" track-metadata-position="nav - related-sites" track-metadata-module="tertiary nav" tooltip > <div class="devsite-nav-item-title"> Google Cloud Skills Boost </div> </a> </li> <li class="devsite-nav-item"> <a href="https://cloud.google.com/solutions" track-type="nav" track-metadata-eventdetail="https://cloud.google.com/solutions" track-metadata-position="nav - related-sites" track-metadata-module="tertiary nav" tooltip > <div class="devsite-nav-item-title"> Google Cloud Solution Center </div> </a> </li> <li class="devsite-nav-item"> <a href="https://cloud.google.com/support-hub" track-type="nav" track-metadata-eventdetail="https://cloud.google.com/support-hub" track-metadata-position="nav - related-sites" track-metadata-module="tertiary nav" tooltip > <div class="devsite-nav-item-title"> Google Cloud Support </div> </a> </li> <li class="devsite-nav-item"> <a href="https://www.youtube.com/@googlecloudtech" track-type="nav" track-metadata-eventdetail="https://www.youtube.com/@googlecloudtech" track-metadata-position="nav - related-sites" track-metadata-module="tertiary nav" tooltip > <div class="devsite-nav-item-title"> Google Cloud Tech Youtube Channel </div> </a> </li> </ul> </div> </div> </div> </tab> </nav> </cloudx-tabs-nav> </div> <devsite-search enable-signin enable-search enable-suggestions project-name="Python" tenant-name="Google Cloud" project-scope="/python/docs" url-scoped="https://cloud.google.com/s/results/python/docs" > <form class="devsite-search-form" action="https://cloud.google.com/s/results" method="GET"> <div class="devsite-search-container"> <button type="button" search-open class="devsite-search-button devsite-header-icon-button button-flat material-icons" aria-label="Open search"></button> <div class="devsite-searchbox"> <input aria-activedescendant="" aria-autocomplete="list" aria-label="Search" aria-expanded="false" aria-haspopup="listbox" autocomplete="off" class="devsite-search-field devsite-search-query" name="q" placeholder="Search" role="combobox" type="text" value="" > <div class="devsite-search-image material-icons" aria-hidden="true"> </div> <div class="devsite-search-shortcut-icon-container" aria-hidden="true"> <kbd class="devsite-search-shortcut-icon">/</kbd> </div> </div> </div> </form> <button type="button" search-close class="devsite-search-button devsite-header-icon-button button-flat material-icons" aria-label="Close search"></button> </devsite-search> </div> <devsite-language-selector> <ul role="presentation"> <li role="presentation"> <a role="menuitem" lang="en" >English</a> </li> <li role="presentation"> <a role="menuitem" lang="de" >Deutsch</a> </li> <li role="presentation"> <a role="menuitem" lang="es_419" >Español – América Latina</a> </li> <li role="presentation"> <a role="menuitem" lang="fr" >Français</a> </li> <li role="presentation"> <a role="menuitem" lang="pt_br" >Português – Brasil</a> </li> <li role="presentation"> <a role="menuitem" lang="zh_cn" >中文 – 简体</a> </li> <li role="presentation"> <a role="menuitem" lang="ja" >日本語</a> </li> <li role="presentation"> <a role="menuitem" lang="ko" >한국어</a> </li> </ul> </devsite-language-selector> <devsite-user enable-profiles fp-auth id="devsite-user"> <span class="button devsite-top-button" aria-hidden="true" visually-hidden>Sign in</span> </devsite-user> </div> </div> </div> <div class="devsite-collapsible-section "> <div class="devsite-header-background"> <div class="devsite-product-id-row" hidden> <div class="devsite-product-description-row"> </div> </div> <div class="devsite-doc-set-nav-row"> <ul class="devsite-breadcrumb-list" > <li class="devsite-breadcrumb-item "> <a href="https://cloud.google.com/python" class="devsite-breadcrumb-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Lower Header" data-value="1" track-type="globalNav" track-name="breadcrumb" track-metadata-position="1" track-metadata-eventdetail="Python" > Python </a> </li> </ul> <cloudx-tabs-nav class="lower-tabs"> <nav class="devsite-tabs-wrapper" aria-label="Lower tabs"> <tab > <a href="https://cloud.google.com/python/docs" class="devsite-tabs-content gc-analytics-event " track-metadata-eventdetail="https://cloud.google.com/python/docs" track-type="nav" track-metadata-position="nav - overview" track-metadata-module="primary nav" data-category="Site-Wide Custom Events" data-label="Tab: Overview" track-name="overview" > Overview </a> </tab> <tab class="devsite-active"> <a href="https://cloud.google.com/python/docs/setup" class="devsite-tabs-content gc-analytics-event " track-metadata-eventdetail="https://cloud.google.com/python/docs/setup" track-type="nav" track-metadata-position="nav - guides" track-metadata-module="primary nav" aria-label="Guides, selected" data-category="Site-Wide Custom Events" data-label="Tab: Guides" track-name="guides" > Guides </a> </tab> <tab > <a href="https://cloud.google.com/python/docs/reference" class="devsite-tabs-content gc-analytics-event " track-metadata-eventdetail="https://cloud.google.com/python/docs/reference" track-type="nav" track-metadata-position="nav - reference" track-metadata-module="primary nav" data-category="Site-Wide Custom Events" data-label="Tab: Reference" track-name="reference" > Reference </a> </tab> <tab > <a href="https://cloud.google.com/docs/samples/?language=python" class="devsite-tabs-content gc-analytics-event " track-metadata-eventdetail="https://cloud.google.com/docs/samples/?language=python" track-type="nav" track-metadata-position="nav - samples" track-metadata-module="primary nav" data-category="Site-Wide Custom Events" data-label="Tab: Samples" track-name="samples" > Samples </a> </tab> </nav> </cloudx-tabs-nav> <div class="devsite-product-button-row"> <a href="https://cloud.google.com/contact" class="cta-button-secondary button " data-overflow-wrapper="tab" data-overflow-container="left" data-overflow="devsite-tabs-wrapper" track-name="sales" track-metadata-eventDetail="nav" track-type="contact" track-metadata-position="nav" >Contact Us</a> <a href="//console.cloud.google.com/freetrial" class="cloud-free-trial-button cta-button-primary button-primary button cloud-button cloud-button--primary " referrerpolicy="no-referrer-when-downgrade" track-type="freeTrial" track-metadata-eventDetail="nav" data-overflow-container="right" data-overflow="devsite-top-logo-row" data-overflow-class="devsite-header-link devsite-top-button button cloud-free-trial-button cloud-free-trial-enabled cloud-button cloud-button--primary" track-name="gcpCta" track-metadata-position="nav" >Start free</a> </div> </div> </div> </div> </div> </devsite-header> <devsite-book-nav scrollbars > <div class="devsite-book-nav-filter" > <span class="filter-list-icon material-icons" aria-hidden="true"></span> <input type="text" placeholder="Filter" aria-label="Type to filter" role="searchbox"> <span class="filter-clear-button hidden" data-title="Clear filter" aria-label="Clear filter" role="button" tabindex="0"></span> </div> <nav class="devsite-book-nav devsite-nav nocontent" aria-label="Side menu"> <div class="devsite-mobile-header"> <button type="button" id="devsite-close-nav" class="devsite-header-icon-button button-flat material-icons gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Close navigation" aria-label="Close navigation"> </button> <div class="devsite-product-name-wrapper"> <a href="/" class="devsite-site-logo-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Site logo" track-type="globalNav" track-name="googleCloud" track-metadata-position="nav" track-metadata-eventDetail="nav"> <picture> <img src="https://www.gstatic.com/devrel-devsite/prod/v38a693baeb774512feb42f10aac8f755d8791ed41119b5be7a531f8e16f8279f/cloud/images/cloud-logo.svg" class="devsite-site-logo" alt="Google Cloud"> </picture> </a> <span class="devsite-product-name"> <ul class="devsite-breadcrumb-list" > <li class="devsite-breadcrumb-item devsite-has-google-wordmark"> </li> </ul> </span> </div> </div> <div class="devsite-book-nav-wrapper"> <div class="devsite-mobile-nav-top"> <ul class="devsite-nav-list"> <li class="devsite-nav-item"> <a href="/docs" class="devsite-nav-title gc-analytics-event devsite-nav-active" data-category="Site-Wide Custom Events" data-label="Tab: Documentation" track-name="docs-home" track-link-column-type="single-column" data-category="Site-Wide Custom Events" data-label="Responsive Tab: Documentation" track-type="globalNav" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Documentation </span> </a> <ul class="devsite-nav-responsive-tabs"> <li class="devsite-nav-item"> <a href="/python/docs" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Tab: Overview" track-name="overview" data-category="Site-Wide Custom Events" data-label="Responsive Tab: Overview" track-type="globalNav" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Overview </span> </a> </li> <li class="devsite-nav-item"> <a href="/python/docs/setup" class="devsite-nav-title gc-analytics-event devsite-nav-has-children devsite-nav-active" data-category="Site-Wide Custom Events" data-label="Tab: Guides" track-name="guides" data-category="Site-Wide Custom Events" data-label="Responsive Tab: Guides" track-type="globalNav" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip menu="_book"> Guides </span> <span class="devsite-nav-icon material-icons" data-icon="forward" menu="_book"> </span> </a> </li> <li class="devsite-nav-item"> <a href="/python/docs/reference" class="devsite-nav-title gc-analytics-event devsite-nav-has-children " data-category="Site-Wide Custom Events" data-label="Tab: Reference" track-name="reference" data-category="Site-Wide Custom Events" data-label="Responsive Tab: Reference" track-type="globalNav" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Reference </span> <span class="devsite-nav-icon material-icons" data-icon="forward" > </span> </a> </li> <li class="devsite-nav-item"> <a href="/docs/samples/?language=python" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Tab: Samples" track-name="samples" data-category="Site-Wide Custom Events" data-label="Responsive Tab: Samples" track-type="globalNav" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Samples </span> </a> </li> </ul> </li> <li class="devsite-nav-item"> <a href="/docs/tech-area-overviews" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Tab: Technology areas" track-name="technology-areas" track-link-column-type="single-column" data-category="Site-Wide Custom Events" data-label="Responsive Tab: Technology areas" track-type="globalNav" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Technology areas </span> </a> <ul class="devsite-nav-responsive-tabs devsite-nav-has-menu "> <li class="devsite-nav-item"> <span class="devsite-nav-title" tooltip data-category="Site-Wide Custom Events" data-label="Tab: Technology areas" track-name="technology-areas" track-link-column-type="single-column" > <span class="devsite-nav-text" tooltip menu="Technology areas"> More </span> <span class="devsite-nav-icon material-icons" data-icon="forward" menu="Technology areas"> </span> </span> </li> </ul> </li> <li class="devsite-nav-item"> <a href="/docs/cross-product-overviews" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Tab: Cross-product tools" track-name="crossproduct" track-link-column-type="single-column" data-category="Site-Wide Custom Events" data-label="Responsive Tab: Cross-product tools" track-type="globalNav" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Cross-product tools </span> </a> <ul class="devsite-nav-responsive-tabs devsite-nav-has-menu "> <li class="devsite-nav-item"> <span class="devsite-nav-title" tooltip data-category="Site-Wide Custom Events" data-label="Tab: Cross-product tools" track-name="crossproduct" track-link-column-type="single-column" > <span class="devsite-nav-text" tooltip menu="Cross-product tools"> More </span> <span class="devsite-nav-icon material-icons" data-icon="forward" menu="Cross-product tools"> </span> </span> </li> </ul> </li> <li class="devsite-nav-item"> <a href="/" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Tab: Related sites" track-name="related-sites" track-link-column-type="single-column" data-category="Site-Wide Custom Events" data-label="Responsive Tab: Related sites" track-type="globalNav" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Related sites </span> </a> <ul class="devsite-nav-responsive-tabs devsite-nav-has-menu "> <li class="devsite-nav-item"> <span class="devsite-nav-title" tooltip data-category="Site-Wide Custom Events" data-label="Tab: Related sites" track-name="related-sites" track-link-column-type="single-column" > <span class="devsite-nav-text" tooltip menu="Related sites"> More </span> <span class="devsite-nav-icon material-icons" data-icon="forward" menu="Related sites"> </span> </span> </li> </ul> </li> <li class="devsite-nav-item"> <a href="//console.cloud.google.com/" class="devsite-nav-title gc-analytics-event " track-metadata-position="nav" track-name="console" track-type="globalNav" referrerpolicy="no-referrer-when-downgrade" track-metadata-eventDetail="nav" data-category="Site-Wide Custom Events" data-label="Responsive Tab: Console" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Console </span> </a> </li> <li class="devsite-nav-item"> <a href="/contact" class="cta-button-secondary button" data-overflow-wrapper="tab" data-overflow-container="left" data-overflow="devsite-tabs-wrapper" track-name="sales" track-metadata-eventDetail="nav" track-type="contact" track-metadata-position="nav" data-category="Site-Wide Custom Events" data-label="Responsive Tab: Contact Us" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Contact Us </span> </a> </li> <li class="devsite-nav-item"> <a href="//console.cloud.google.com/freetrial" class="cloud-free-trial-button cta-button-primary button-primary button cloud-button cloud-button--primary" referrerpolicy="no-referrer-when-downgrade" track-type="freeTrial" track-metadata-eventDetail="nav" data-overflow-container="right" data-overflow="devsite-top-logo-row" data-overflow-class="devsite-header-link devsite-top-button button cloud-free-trial-button cloud-free-trial-enabled cloud-button cloud-button--primary" track-name="gcpCta" track-metadata-position="nav" data-category="Site-Wide Custom Events" data-label="Responsive Tab: Start free" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Start free </span> </a> </li> </ul> </div> <div class="devsite-mobile-nav-bottom"> <ul class="devsite-nav-list" menu="_book"> <li class="devsite-nav-item devsite-nav-heading"><div class="devsite-nav-title devsite-nav-title-no-path"> <span class="devsite-nav-text" tooltip>Getting started</span> </div></li> <li class="devsite-nav-item"><a href="/python/docs/setup" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /python/docs/setup" track-type="bookNav" track-name="click" track-metadata-eventdetail="/python/docs/setup" ><span class="devsite-nav-text" tooltip>Setting up a Python development environment</span></a></li> <li class="devsite-nav-item"><a href="/python/docs/supported-python-versions" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /python/docs/supported-python-versions" track-type="bookNav" track-name="click" track-metadata-eventdetail="/python/docs/supported-python-versions" ><span class="devsite-nav-text" tooltip>Supported Python versions</span></a></li> <li class="devsite-nav-item"><a href="/python/docs/getting-started" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /python/docs/getting-started" track-type="bookNav" track-name="click" track-metadata-eventdetail="/python/docs/getting-started" ><span class="devsite-nav-text" tooltip>Getting started with Python</span></a></li> <li class="devsite-nav-item"><a href="/python/docs/python2-sunset" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /python/docs/python2-sunset" track-type="bookNav" track-name="click" track-metadata-eventdetail="/python/docs/python2-sunset" ><span class="devsite-nav-text" tooltip>Python 2 support on Google Cloud</span></a></li> <li class="devsite-nav-item devsite-nav-expandable"><div class="devsite-expandable-nav"> <a class="devsite-nav-toggle" aria-hidden="true"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"> <span class="devsite-nav-text" tooltip>Quickstarts by use case</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/appengine/docs/standard/python3/quickstart" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /appengine/docs/standard/python3/quickstart" track-type="bookNav" track-name="click" track-metadata-eventdetail="/appengine/docs/standard/python3/quickstart" ><span class="devsite-nav-text" tooltip>Deploying apps to the App Engine standard environment</span></a></li><li class="devsite-nav-item"><a href="/appengine/docs/flexible/python/quickstart" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /appengine/docs/flexible/python/quickstart" track-type="bookNav" track-name="click" track-metadata-eventdetail="/appengine/docs/flexible/python/quickstart" ><span class="devsite-nav-text" tooltip>Deploying apps to the App Engine flexible environment</span></a></li><li class="devsite-nav-item"><a href="/python/docs/getting-started/getting-started-on-compute-engine" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /python/docs/getting-started/getting-started-on-compute-engine" track-type="bookNav" track-name="click" track-metadata-eventdetail="/python/docs/getting-started/getting-started-on-compute-engine" ><span class="devsite-nav-text" tooltip>Deploying apps to Compute Engine</span></a></li><li class="devsite-nav-item"><a href="/kubernetes-engine/docs/quickstarts/deploying-a-language-specific-app" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /kubernetes-engine/docs/quickstarts/deploying-a-language-specific-app" track-type="bookNav" track-name="click" track-metadata-eventdetail="/kubernetes-engine/docs/quickstarts/deploying-a-language-specific-app" ><span class="devsite-nav-text" tooltip>Deploying apps to Kubernetes Engine</span></a></li><li class="devsite-nav-item"><a href="/run/docs/quickstarts/build-and-deploy/deploy-python-service" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /run/docs/quickstarts/build-and-deploy/deploy-python-service" track-type="bookNav" track-name="click" track-metadata-eventdetail="/run/docs/quickstarts/build-and-deploy/deploy-python-service" ><span class="devsite-nav-text" tooltip>Deploy a Python service to Cloud Run</span></a></li><li class="devsite-nav-item"><a href="/functions/docs/create-deploy-http-python" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /functions/docs/create-deploy-http-python" track-type="bookNav" track-name="click" track-metadata-eventdetail="/functions/docs/create-deploy-http-python" ><span class="devsite-nav-text" tooltip>Create and deploy a HTTP Cloud Function by using Python</span></a></li><li class="devsite-nav-item"><a href="/python/tutorials/bookshelf-deployment-manager" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /python/tutorials/bookshelf-deployment-manager" track-type="bookNav" track-name="click" track-metadata-eventdetail="/python/tutorials/bookshelf-deployment-manager" ><span class="devsite-nav-text" tooltip>Deploying apps with Cloud Deployment Manager</span></a></li><li class="devsite-nav-item"><a href="/python/docs/getting-started/session-handling-with-firestore" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /python/docs/getting-started/session-handling-with-firestore" track-type="bookNav" track-name="click" track-metadata-eventdetail="/python/docs/getting-started/session-handling-with-firestore" ><span class="devsite-nav-text" tooltip>Handling sessions with Firestore</span></a></li><li class="devsite-nav-item"><a href="/python/docs/getting-started/background-processing" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /python/docs/getting-started/background-processing" track-type="bookNav" track-name="click" track-metadata-eventdetail="/python/docs/getting-started/background-processing" ><span class="devsite-nav-text" tooltip>Background processing</span></a></li><li class="devsite-nav-item devsite-nav-expandable"><div class="devsite-expandable-nav"> <a class="devsite-nav-toggle" aria-hidden="true"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"> <span class="devsite-nav-text" tooltip>Working with Django</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/python/django" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /python/django" track-type="bookNav" track-name="click" track-metadata-eventdetail="/python/django" ><span class="devsite-nav-text" tooltip>Overview</span></a></li><li class="devsite-nav-item"><a href="/python/django/appengine" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /python/django/appengine" track-type="bookNav" track-name="click" track-metadata-eventdetail="/python/django/appengine" ><span class="devsite-nav-text" tooltip>Django on App Engine standard environment</span></a></li><li class="devsite-nav-item"><a href="/python/django/flexible-environment" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /python/django/flexible-environment" track-type="bookNav" track-name="click" track-metadata-eventdetail="/python/django/flexible-environment" ><span class="devsite-nav-text" tooltip>Django on App Engine flexible environment</span></a></li><li class="devsite-nav-item"><a href="/python/django/run" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /python/django/run" track-type="bookNav" track-name="click" track-metadata-eventdetail="/python/django/run" ><span class="devsite-nav-text" tooltip>Django on Cloud Run</span></a></li><li class="devsite-nav-item"><a href="/python/django/kubernetes-engine" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /python/django/kubernetes-engine" track-type="bookNav" track-name="click" track-metadata-eventdetail="/python/django/kubernetes-engine" ><span class="devsite-nav-text" tooltip>Django on Google Kubernetes Engine</span></a></li></ul></div></li><li class="devsite-nav-item devsite-nav-expandable"><div class="devsite-expandable-nav"> <a class="devsite-nav-toggle" aria-hidden="true"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"> <span class="devsite-nav-text" tooltip>Monitoring and debugging your app</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/python/monitor-and-debug" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /python/monitor-and-debug" track-type="bookNav" track-name="click" track-metadata-eventdetail="/python/monitor-and-debug" ><span class="devsite-nav-text" tooltip>Overview</span></a></li><li class="devsite-nav-item"><a href="/logging/docs/setup/python" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /logging/docs/setup/python" track-type="bookNav" track-name="click" track-metadata-eventdetail="/logging/docs/setup/python" ><span class="devsite-nav-text" tooltip>Logging app events</span></a></li><li class="devsite-nav-item"><a href="/python/monitor-and-debug/uptime-alert" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /python/monitor-and-debug/uptime-alert" track-type="bookNav" track-name="click" track-metadata-eventdetail="/python/monitor-and-debug/uptime-alert" ><span class="devsite-nav-text" tooltip>Set an uptime alert</span></a></li><li class="devsite-nav-item"><a href="/python/monitor-and-debug/reporting-errors" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /python/monitor-and-debug/reporting-errors" track-type="bookNav" track-name="click" track-metadata-eventdetail="/python/monitor-and-debug/reporting-errors" ><span class="devsite-nav-text" tooltip>Set up error reporting</span></a></li></ul></div></li><li class="devsite-nav-item devsite-nav-expandable"><div class="devsite-expandable-nav"> <a class="devsite-nav-toggle" aria-hidden="true"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"> <span class="devsite-nav-text" tooltip>Authenticating users</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/python/docs/getting-started/authenticate-users" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /python/docs/getting-started/authenticate-users" track-type="bookNav" track-name="click" track-metadata-eventdetail="/python/docs/getting-started/authenticate-users" ><span class="devsite-nav-text" tooltip>Authenticating users with Cloud IAP</span></a></li><li class="devsite-nav-item"><a href="/appengine/docs/python/authenticating-users-firebase-appengine" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /appengine/docs/python/authenticating-users-firebase-appengine" track-type="bookNav" track-name="click" track-metadata-eventdetail="/appengine/docs/python/authenticating-users-firebase-appengine" ><span class="devsite-nav-text" tooltip>Authenticating users with Firebase</span></a></li></ul></div></li><li class="devsite-nav-item"><a href="/bigquery/bigquery-api-quickstart" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /bigquery/bigquery-api-quickstart" track-type="bookNav" track-name="click" track-metadata-eventdetail="/bigquery/bigquery-api-quickstart" ><span class="devsite-nav-text" tooltip>Analyzing big data with BigQuery</span></a></li><li class="devsite-nav-item devsite-nav-expandable"><div class="devsite-expandable-nav"> <a class="devsite-nav-toggle" aria-hidden="true"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"> <span class="devsite-nav-text" tooltip>Using Machine Learning API</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/natural-language/docs/sentiment-tutorial" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /natural-language/docs/sentiment-tutorial" track-type="bookNav" track-name="click" track-metadata-eventdetail="/natural-language/docs/sentiment-tutorial" ><span class="devsite-nav-text" tooltip>Sentiment analysis with Cloud Natural Language API</span></a></li><li class="devsite-nav-item"><a href="/natural-language/docs/classify-text-tutorial" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /natural-language/docs/classify-text-tutorial" track-type="bookNav" track-name="click" track-metadata-eventdetail="/natural-language/docs/classify-text-tutorial" ><span class="devsite-nav-text" tooltip>Content classification with Cloud Natural Language API</span></a></li><li class="devsite-nav-item"><a href="/vision/docs/crop-hints" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /vision/docs/crop-hints" track-type="bookNav" track-name="click" track-metadata-eventdetail="/vision/docs/crop-hints" ><span class="devsite-nav-text" tooltip>Crop Hints with Cloud AutoML Vision API</span></a></li><li class="devsite-nav-item"><a href="/vision/docs/fulltext-annotations" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /vision/docs/fulltext-annotations" track-type="bookNav" track-name="click" track-metadata-eventdetail="/vision/docs/fulltext-annotations" ><span class="devsite-nav-text" tooltip>Document text OCR with Cloud AutoML Vision API</span></a></li><li class="devsite-nav-item"><a href="/vision/docs/face-tutorial" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /vision/docs/face-tutorial" track-type="bookNav" track-name="click" track-metadata-eventdetail="/vision/docs/face-tutorial" ><span class="devsite-nav-text" tooltip>Face detection with Cloud AutoML Vision API</span></a></li><li class="devsite-nav-item"><a href="/vision/docs/internet-detection" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /vision/docs/internet-detection" track-type="bookNav" track-name="click" track-metadata-eventdetail="/vision/docs/internet-detection" ><span class="devsite-nav-text" tooltip>Web detection with Cloud AutoML Vision API</span></a></li><li class="devsite-nav-item"><a href="/video-intelligence/docs/label-tutorial" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /video-intelligence/docs/label-tutorial" track-type="bookNav" track-name="click" track-metadata-eventdetail="/video-intelligence/docs/label-tutorial" ><span class="devsite-nav-text" tooltip>Label detection with Cloud Video Intelligence API</span></a></li><li class="devsite-nav-item"><a href="/video-intelligence/docs/shot_detection" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /video-intelligence/docs/shot_detection" track-type="bookNav" track-name="click" track-metadata-eventdetail="/video-intelligence/docs/shot_detection" ><span class="devsite-nav-text" tooltip>Shot change detection with Cloud Video Intelligence API</span></a></li></ul></div></li></ul></div></li> <li class="devsite-nav-item"><a href="/docs/tutorials#python" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/tutorials#python" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/tutorials#python" ><span class="devsite-nav-text" tooltip>Official tutorials and solutions</span></a></li> <li class="devsite-nav-item devsite-nav-heading"><div class="devsite-nav-title devsite-nav-title-no-path"> <span class="devsite-nav-text" tooltip>App development</span> </div></li> <li class="devsite-nav-item devsite-nav-expandable"><div class="devsite-expandable-nav"> <a class="devsite-nav-toggle" aria-hidden="true"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"> <span class="devsite-nav-text" tooltip>Running app</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/docs/choosing-a-compute-option" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/choosing-a-compute-option" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/choosing-a-compute-option" ><span class="devsite-nav-text" tooltip>Choosing a computing option</span></a></li><li class="devsite-nav-item devsite-nav-expandable"><div class="devsite-expandable-nav"> <a class="devsite-nav-toggle" aria-hidden="true"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"> <span class="devsite-nav-text" tooltip>App Engine</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/appengine/docs" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /appengine/docs" track-type="bookNav" track-name="click" track-metadata-eventdetail="/appengine/docs" ><span class="devsite-nav-text" tooltip>App Engine documentation</span></a></li><li class="devsite-nav-item"><a href="/appengine/docs/python/quickstart" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /appengine/docs/python/quickstart" track-type="bookNav" track-name="click" track-metadata-eventdetail="/appengine/docs/python/quickstart" ><span class="devsite-nav-text" tooltip>Deploying apps to the App Engine standard environment</span></a></li><li class="devsite-nav-item devsite-nav-expandable"><div class="devsite-expandable-nav"> <a class="devsite-nav-toggle" aria-hidden="true"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"> <span class="devsite-nav-text" tooltip>Deploying apps to the App Engine flexible environment</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/python/getting-started/hello-world" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /python/getting-started/hello-world" track-type="bookNav" track-name="click" track-metadata-eventdetail="/python/getting-started/hello-world" ><span class="devsite-nav-text" tooltip>Deploying a Hello World app</span></a></li><li class="devsite-nav-item"><a href="/python/getting-started/tutorial-app" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /python/getting-started/tutorial-app" track-type="bookNav" track-name="click" track-metadata-eventdetail="/python/getting-started/tutorial-app" ><span class="devsite-nav-text" tooltip>Deploying a complex app</span></a></li></ul></div></li></ul></div></li><li class="devsite-nav-item devsite-nav-expandable"><div class="devsite-expandable-nav"> <a class="devsite-nav-toggle" aria-hidden="true"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"> <span class="devsite-nav-text" tooltip>Compute Engine</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/compute/docs" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /compute/docs" track-type="bookNav" track-name="click" track-metadata-eventdetail="/compute/docs" ><span class="devsite-nav-text" tooltip>Compute Engine documentation</span></a></li><li class="devsite-nav-item"><a href="/python/getting-started/getting-started-on-compute-engine" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /python/getting-started/getting-started-on-compute-engine" track-type="bookNav" track-name="click" track-metadata-eventdetail="/python/getting-started/getting-started-on-compute-engine" ><span class="devsite-nav-text" tooltip>Deploying apps to Compute Engine</span></a></li></ul></div></li><li class="devsite-nav-item"><a href="/functions/docs/quickstart" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /functions/docs/quickstart" track-type="bookNav" track-name="click" track-metadata-eventdetail="/functions/docs/quickstart" ><span class="devsite-nav-text" tooltip>Cloud Functions</span></a></li><li class="devsite-nav-item devsite-nav-expandable"><div class="devsite-expandable-nav"> <a class="devsite-nav-toggle" aria-hidden="true"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"> <span class="devsite-nav-text" tooltip>Google Kubernetes Engine</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/kubernetes-engine/docs" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /kubernetes-engine/docs" track-type="bookNav" track-name="click" track-metadata-eventdetail="/kubernetes-engine/docs" ><span class="devsite-nav-text" tooltip>Google Kubernetes Engine documentation</span></a></li><li class="devsite-nav-item"><a href="/kubernetes-engine/docs/quickstarts/deploying-a-language-specific-app" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /kubernetes-engine/docs/quickstarts/deploying-a-language-specific-app" track-type="bookNav" track-name="click" track-metadata-eventdetail="/kubernetes-engine/docs/quickstarts/deploying-a-language-specific-app" ><span class="devsite-nav-text" tooltip>Deploying apps to Google Kubernetes Engine</span></a></li></ul></div></li><li class="devsite-nav-item devsite-nav-expandable"><div class="devsite-expandable-nav"> <a class="devsite-nav-toggle" aria-hidden="true"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"> <span class="devsite-nav-text" tooltip>Cloud Run</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/run/docs" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /run/docs" track-type="bookNav" track-name="click" track-metadata-eventdetail="/run/docs" ><span class="devsite-nav-text" tooltip>Cloud Run documentation</span></a></li><li class="devsite-nav-item"><a href="/run/docs/quickstarts/prebuilt-deploy" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /run/docs/quickstarts/prebuilt-deploy" track-type="bookNav" track-name="click" track-metadata-eventdetail="/run/docs/quickstarts/prebuilt-deploy" ><span class="devsite-nav-text" tooltip>Deploying apps to Cloud Run</span></a></li><li class="devsite-nav-item"><a href="/run/docs/quickstarts/prebuilt-deploy-gke" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /run/docs/quickstarts/prebuilt-deploy-gke" track-type="bookNav" track-name="click" track-metadata-eventdetail="/run/docs/quickstarts/prebuilt-deploy-gke" ><span class="devsite-nav-text" tooltip>Deploying apps to Cloud Run on GKE</span></a></li></ul></div></li></ul></div></li> <li class="devsite-nav-item devsite-nav-expandable"><div class="devsite-expandable-nav"> <a class="devsite-nav-toggle" aria-hidden="true"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"> <span class="devsite-nav-text" tooltip>Storing data</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/docs/storing-your-data" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/storing-your-data" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/storing-your-data" ><span class="devsite-nav-text" tooltip>Choosing a storage option</span></a></li><li class="devsite-nav-item devsite-nav-expandable"><div class="devsite-expandable-nav"> <a class="devsite-nav-toggle" aria-hidden="true"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"> <span class="devsite-nav-text" tooltip>Storing build artifacts</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/artifact-registry/docs/python" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /artifact-registry/docs/python" track-type="bookNav" track-name="click" track-metadata-eventdetail="/artifact-registry/docs/python" ><span class="devsite-nav-text" tooltip>Storing Python packages in Artifact Registry</span></a></li><li class="devsite-nav-item"><a href="/build/docs/building/store-build-artifacts" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /build/docs/building/store-build-artifacts" track-type="bookNav" track-name="click" track-metadata-eventdetail="/build/docs/building/store-build-artifacts" ><span class="devsite-nav-text" tooltip>Storing build artifacts using Cloud Build</span></a></li></ul></div></li><li class="devsite-nav-item devsite-nav-expandable"><div class="devsite-expandable-nav"> <a class="devsite-nav-toggle" aria-hidden="true"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"> <span class="devsite-nav-text" tooltip>Cloud Storage</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/storage/docs" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /storage/docs" track-type="bookNav" track-name="click" track-metadata-eventdetail="/storage/docs" ><span class="devsite-nav-text" tooltip>Cloud Storage documentation</span></a></li><li class="devsite-nav-item"><a href="/storage/docs/reference/libraries#client-libraries-install-python" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /storage/docs/reference/libraries#client-libraries-install-python" track-type="bookNav" track-name="click" track-metadata-eventdetail="/storage/docs/reference/libraries#client-libraries-install-python" ><span class="devsite-nav-text" tooltip>Cloud Storage client library for Python</span></a></li></ul></div></li><li class="devsite-nav-item devsite-nav-expandable"><div class="devsite-expandable-nav"> <a class="devsite-nav-toggle" aria-hidden="true"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"> <span class="devsite-nav-text" tooltip>Cloud Spanner</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/spanner/docs" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /spanner/docs" track-type="bookNav" track-name="click" track-metadata-eventdetail="/spanner/docs" ><span class="devsite-nav-text" tooltip>Cloud Spanner documentation</span></a></li><li class="devsite-nav-item"><a href="/spanner/docs/reference/libraries#client-libraries-install-python" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /spanner/docs/reference/libraries#client-libraries-install-python" track-type="bookNav" track-name="click" track-metadata-eventdetail="/spanner/docs/reference/libraries#client-libraries-install-python" ><span class="devsite-nav-text" tooltip>Cloud Spanner client library for Python</span></a></li></ul></div></li><li class="devsite-nav-item devsite-nav-expandable"><div class="devsite-expandable-nav"> <a class="devsite-nav-toggle" aria-hidden="true"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"> <span class="devsite-nav-text" tooltip>Cloud SQL</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/sql/docs" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /sql/docs" track-type="bookNav" track-name="click" track-metadata-eventdetail="/sql/docs" ><span class="devsite-nav-text" tooltip>Cloud SQL documentation</span></a></li><li class="devsite-nav-item"><a href="/sql/docs/mysql/admin-api/libraries#python" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /sql/docs/mysql/admin-api/libraries#python" track-type="bookNav" track-name="click" track-metadata-eventdetail="/sql/docs/mysql/admin-api/libraries#python" ><span class="devsite-nav-text" tooltip>Cloud SQL client library for Python</span></a></li></ul></div></li><li class="devsite-nav-item devsite-nav-expandable"><div class="devsite-expandable-nav"> <a class="devsite-nav-toggle" aria-hidden="true"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"> <span class="devsite-nav-text" tooltip>Cloud Bigtable</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/bigtable/docs" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /bigtable/docs" track-type="bookNav" track-name="click" track-metadata-eventdetail="/bigtable/docs" ><span class="devsite-nav-text" tooltip>Cloud Bigtable documentation</span></a></li><li class="devsite-nav-item"><a href="/bigtable/docs/python" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /bigtable/docs/python" track-type="bookNav" track-name="click" track-metadata-eventdetail="/bigtable/docs/python" ><span class="devsite-nav-text" tooltip>Cloud Bigtable client library for Python</span></a></li></ul></div></li><li class="devsite-nav-item devsite-nav-expandable"><div class="devsite-expandable-nav"> <a class="devsite-nav-toggle" aria-hidden="true"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"> <span class="devsite-nav-text" tooltip>Cloud Datastore</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/datastore/docs" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /datastore/docs" track-type="bookNav" track-name="click" track-metadata-eventdetail="/datastore/docs" ><span class="devsite-nav-text" tooltip>Cloud Datastore documentation</span></a></li><li class="devsite-nav-item"><a href="/datastore/docs/reference/libraries#client-libraries-install-python" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /datastore/docs/reference/libraries#client-libraries-install-python" track-type="bookNav" track-name="click" track-metadata-eventdetail="/datastore/docs/reference/libraries#client-libraries-install-python" ><span class="devsite-nav-text" tooltip>Cloud Datastore client library for Python</span></a></li></ul></div></li><li class="devsite-nav-item devsite-nav-expandable"><div class="devsite-expandable-nav"> <a class="devsite-nav-toggle" aria-hidden="true"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"> <span class="devsite-nav-text" tooltip>Cloud Firestore</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item devsite-nav-external"><a href="https://firebase.google.com/docs/firestore/" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: https://firebase.google.com/docs/firestore/" track-type="bookNav" track-name="click" track-metadata-eventdetail="https://firebase.google.com/docs/firestore/" ><span class="devsite-nav-text" tooltip>Cloud Firestore documentation</span><span class="devsite-nav-icon material-icons" data-icon="external" data-title="External" aria-hidden="true"></span></a></li><li class="devsite-nav-item"><a href="/firestore/docs/reference/libraries#python" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /firestore/docs/reference/libraries#python" track-type="bookNav" track-name="click" track-metadata-eventdetail="/firestore/docs/reference/libraries#python" ><span class="devsite-nav-text" tooltip>Cloud Firestore client library for Python</span></a></li></ul></div></li></ul></div></li> <li class="devsite-nav-item devsite-nav-expandable"><div class="devsite-expandable-nav"> <a class="devsite-nav-toggle" aria-hidden="true"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"> <span class="devsite-nav-text" tooltip>Logging and Debugging</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/python/docs/stackdriver" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /python/docs/stackdriver" track-type="bookNav" track-name="click" track-metadata-eventdetail="/python/docs/stackdriver" ><span class="devsite-nav-text" tooltip>Google Cloud Observability</span></a></li><li class="devsite-nav-item"><a href="/error-reporting/docs/setup/python" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /error-reporting/docs/setup/python" track-type="bookNav" track-name="click" track-metadata-eventdetail="/error-reporting/docs/setup/python" ><span class="devsite-nav-text" tooltip>Setting up error reporting</span></a></li><li class="devsite-nav-item"><a href="/logging/docs/setup/python" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /logging/docs/setup/python" track-type="bookNav" track-name="click" track-metadata-eventdetail="/logging/docs/setup/python" ><span class="devsite-nav-text" tooltip>Setting up Cloud Logging</span></a></li><li class="devsite-nav-item"><a href="/monitoring/docs/reference/libraries#client-libraries-install-python" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /monitoring/docs/reference/libraries#client-libraries-install-python" track-type="bookNav" track-name="click" track-metadata-eventdetail="/monitoring/docs/reference/libraries#client-libraries-install-python" ><span class="devsite-nav-text" tooltip>Monitoring Client Libraries</span></a></li></ul></div></li> <li class="devsite-nav-item devsite-nav-expandable"><div class="devsite-expandable-nav"> <a class="devsite-nav-toggle" aria-hidden="true"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"> <span class="devsite-nav-text" tooltip>Developer tools</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/products/tools" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /products/tools" track-type="bookNav" track-name="click" track-metadata-eventdetail="/products/tools" ><span class="devsite-nav-text" tooltip>Overview</span></a></li><li class="devsite-nav-item"><a href="/sdk/docs" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /sdk/docs" track-type="bookNav" track-name="click" track-metadata-eventdetail="/sdk/docs" ><span class="devsite-nav-text" tooltip>gcloud CLI</span></a></li><li class="devsite-nav-item"><a href="/code/docs/intellij" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /code/docs/intellij" track-type="bookNav" track-name="click" track-metadata-eventdetail="/code/docs/intellij" ><span class="devsite-nav-text" tooltip>Cloud Code for IntelliJ</span></a></li><li class="devsite-nav-item"><a href="/code/docs/vscode" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /code/docs/vscode" track-type="bookNav" track-name="click" track-metadata-eventdetail="/code/docs/vscode" ><span class="devsite-nav-text" tooltip>Cloud Code for VS Code</span></a></li><li class="devsite-nav-item"><a href="/code/docs/shell" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /code/docs/shell" track-type="bookNav" track-name="click" track-metadata-eventdetail="/code/docs/shell" ><span class="devsite-nav-text" tooltip>Cloud Code for Cloud Shell</span></a></li><li class="devsite-nav-item"><a href="/build/docs/building/build-python" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /build/docs/building/build-python" track-type="bookNav" track-name="click" track-metadata-eventdetail="/build/docs/building/build-python" ><span class="devsite-nav-text" tooltip>Cloud Build</span></a></li><li class="devsite-nav-item"><a href="/source-repositories/docs" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /source-repositories/docs" track-type="bookNav" track-name="click" track-metadata-eventdetail="/source-repositories/docs" ><span class="devsite-nav-text" tooltip>Cloud Source Repositories</span></a></li><li class="devsite-nav-item"><a href="/apis/docs" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /apis/docs" track-type="bookNav" track-name="click" track-metadata-eventdetail="/apis/docs" ><span class="devsite-nav-text" tooltip>Cloud APIs</span></a></li><li class="devsite-nav-item"><a href="/shell/docs" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /shell/docs" track-type="bookNav" track-name="click" track-metadata-eventdetail="/shell/docs" ><span class="devsite-nav-text" tooltip>Cloud Shell</span></a></li></ul></div></li> <li class="devsite-nav-item devsite-nav-expandable"><div class="devsite-expandable-nav"> <a class="devsite-nav-toggle" aria-hidden="true"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"> <span class="devsite-nav-text" tooltip>Authentication</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/docs/authentication" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/authentication" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/authentication" ><span class="devsite-nav-text" tooltip>Authentication methods</span></a></li><li class="devsite-nav-item devsite-nav-expandable"><div class="devsite-expandable-nav"> <a class="devsite-nav-toggle" aria-hidden="true"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"> <span class="devsite-nav-text" tooltip>Ways to authenticate</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/docs/authentication/client-libraries" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/authentication/client-libraries" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/authentication/client-libraries" ><span class="devsite-nav-text" tooltip>Authenticate for using client libraries</span></a></li><li class="devsite-nav-item"><a href="/docs/authentication/gcloud" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/authentication/gcloud" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/authentication/gcloud" ><span class="devsite-nav-text" tooltip>Authenticate for using the gcloud CLI</span></a></li><li class="devsite-nav-item"><a href="/docs/authentication/rest" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/authentication/rest" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/authentication/rest" ><span class="devsite-nav-text" tooltip>Authenticate for using REST</span></a></li><li class="devsite-nav-item"><a href="/docs/authentication/use-service-account-impersonation" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/authentication/use-service-account-impersonation" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/authentication/use-service-account-impersonation" ><span class="devsite-nav-text" tooltip>Authenticate by using service account impersonation</span></a></li></ul></div></li><li class="devsite-nav-item devsite-nav-expandable"><div class="devsite-expandable-nav"> <a class="devsite-nav-toggle" aria-hidden="true"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"> <span class="devsite-nav-text" tooltip>Application Default Credentials</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item devsite-nav-expandable"><div class="devsite-expandable-nav"> <a class="devsite-nav-toggle" aria-hidden="true"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"> <span class="devsite-nav-text" tooltip>Set up Application Default Credentials</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/docs/authentication/provide-credentials-adc" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/authentication/provide-credentials-adc" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/authentication/provide-credentials-adc" ><span class="devsite-nav-text" tooltip>Overview</span></a></li><li class="devsite-nav-item"><a href="/docs/authentication/set-up-adc-local-dev-environment" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/authentication/set-up-adc-local-dev-environment" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/authentication/set-up-adc-local-dev-environment" ><span class="devsite-nav-text" tooltip>Local development environment</span></a></li><li class="devsite-nav-item"><a href="/docs/authentication/set-up-adc-attached-service-account" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/authentication/set-up-adc-attached-service-account" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/authentication/set-up-adc-attached-service-account" ><span class="devsite-nav-text" tooltip>Resource with an attached service account</span></a></li><li class="devsite-nav-item"><a href="/docs/authentication/set-up-adc-containerized-environment" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/authentication/set-up-adc-containerized-environment" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/authentication/set-up-adc-containerized-environment" ><span class="devsite-nav-text" tooltip>Containerized environment</span></a></li><li class="devsite-nav-item"><a href="/docs/authentication/set-up-adc-on-premises" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/authentication/set-up-adc-on-premises" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/authentication/set-up-adc-on-premises" ><span class="devsite-nav-text" tooltip>On-premises or another cloud provider</span></a></li><li class="devsite-nav-item"><a href="/docs/authentication/set-up-adc-cloud-dev-environment" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/authentication/set-up-adc-cloud-dev-environment" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/authentication/set-up-adc-cloud-dev-environment" ><span class="devsite-nav-text" tooltip>Cloud-based development environment</span></a></li></ul></div></li><li class="devsite-nav-item"><a href="/docs/authentication/application-default-credentials" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/authentication/application-default-credentials" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/authentication/application-default-credentials" ><span class="devsite-nav-text" tooltip>How Application Default Credentials works</span></a></li><li class="devsite-nav-item"><a href="/docs/authentication/troubleshoot-adc" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/authentication/troubleshoot-adc" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/authentication/troubleshoot-adc" ><span class="devsite-nav-text" tooltip>Troubleshoot your ADC setup</span></a></li></ul></div></li><li class="devsite-nav-item devsite-nav-expandable"><div class="devsite-expandable-nav"> <a class="devsite-nav-toggle" aria-hidden="true"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"> <span class="devsite-nav-text" tooltip>API keys</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/docs/authentication/api-keys-use" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/authentication/api-keys-use" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/authentication/api-keys-use" ><span class="devsite-nav-text" tooltip>Use API keys to access APIs</span></a></li><li class="devsite-nav-item"><a href="/docs/authentication/api-keys" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/authentication/api-keys" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/authentication/api-keys" ><span class="devsite-nav-text" tooltip>Manage API keys</span></a></li><li class="devsite-nav-item"><a href="/docs/authentication/api-keys-best-practices" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/authentication/api-keys-best-practices" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/authentication/api-keys-best-practices" ><span class="devsite-nav-text" tooltip>Best practices for managing API keys</span></a></li></ul></div></li><li class="devsite-nav-item"><a href="/docs/authentication/get-id-token" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/authentication/get-id-token" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/authentication/get-id-token" ><span class="devsite-nav-text" tooltip>Get an ID token</span></a></li><li class="devsite-nav-item"><a href="/docs/authentication/token-types" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/authentication/token-types" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/authentication/token-types" ><span class="devsite-nav-text" tooltip>Token types</span></a></li><li class="devsite-nav-item"><a href="/docs/authentication/mfa-requirement" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/authentication/mfa-requirement" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/authentication/mfa-requirement" ><span class="devsite-nav-text" tooltip>Multi-factor authentication requirement</span></a></li></ul></div></li> <li class="devsite-nav-item devsite-nav-expandable"><div class="devsite-expandable-nav"> <a class="devsite-nav-toggle" aria-hidden="true"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"> <span class="devsite-nav-text" tooltip>Big data and machine learning</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item devsite-nav-expandable"><div class="devsite-expandable-nav"> <a class="devsite-nav-toggle" aria-hidden="true"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"> <span class="devsite-nav-text" tooltip>Big data</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/products/big-data" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /products/big-data" track-type="bookNav" track-name="click" track-metadata-eventdetail="/products/big-data" ><span class="devsite-nav-text" tooltip>Overview</span></a></li><li class="devsite-nav-item"><a href="/bigquery/docs/quickstarts" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /bigquery/docs/quickstarts" track-type="bookNav" track-name="click" track-metadata-eventdetail="/bigquery/docs/quickstarts" ><span class="devsite-nav-text" tooltip>BigQuery</span></a></li><li class="devsite-nav-item"><a href="/composer/docs/quickstart" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /composer/docs/quickstart" track-type="bookNav" track-name="click" track-metadata-eventdetail="/composer/docs/quickstart" ><span class="devsite-nav-text" tooltip>Cloud Composer</span></a></li><li class="devsite-nav-item"><a href="/dataflow/docs/quickstarts" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /dataflow/docs/quickstarts" track-type="bookNav" track-name="click" track-metadata-eventdetail="/dataflow/docs/quickstarts" ><span class="devsite-nav-text" tooltip>Dataflow</span></a></li><li class="devsite-nav-item"><a href="/dataproc/docs/quickstarts" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /dataproc/docs/quickstarts" track-type="bookNav" track-name="click" track-metadata-eventdetail="/dataproc/docs/quickstarts" ><span class="devsite-nav-text" tooltip>Dataproc</span></a></li><li class="devsite-nav-item"><a href="/datalab/docs/quickstarts" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /datalab/docs/quickstarts" track-type="bookNav" track-name="click" track-metadata-eventdetail="/datalab/docs/quickstarts" ><span class="devsite-nav-text" tooltip>Datalab</span></a></li><li class="devsite-nav-item"><a href="/pubsub/docs/quickstarts" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /pubsub/docs/quickstarts" track-type="bookNav" track-name="click" track-metadata-eventdetail="/pubsub/docs/quickstarts" ><span class="devsite-nav-text" tooltip>Pub/Sub</span></a></li><li class="devsite-nav-item"><a href="/hadoop" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /hadoop" track-type="bookNav" track-name="click" track-metadata-eventdetail="/hadoop" ><span class="devsite-nav-text" tooltip>Hadoop on Google Cloud</span></a></li><li class="devsite-nav-item"><a href="/architecture?category=bigdataandanalytics" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /architecture?category=bigdataandanalytics" track-type="bookNav" track-name="click" track-metadata-eventdetail="/architecture?category=bigdataandanalytics" ><span class="devsite-nav-text" tooltip>Big data solutions</span></a></li></ul></div></li><li class="devsite-nav-item devsite-nav-expandable"><div class="devsite-expandable-nav"> <a class="devsite-nav-toggle" aria-hidden="true"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"> <span class="devsite-nav-text" tooltip>Machine learning</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/products/machine-learning" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /products/machine-learning" track-type="bookNav" track-name="click" track-metadata-eventdetail="/products/machine-learning" ><span class="devsite-nav-text" tooltip>Overview</span></a></li><li class="devsite-nav-item"><a href="/ml-engine/docs/tensorflow/getting-started-keras" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /ml-engine/docs/tensorflow/getting-started-keras" track-type="bookNav" track-name="click" track-metadata-eventdetail="/ml-engine/docs/tensorflow/getting-started-keras" ><span class="devsite-nav-text" tooltip>AI Platform training and prediction</span></a></li><li class="devsite-nav-item devsite-nav-beta"><a href="/data-labeling/docs" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /data-labeling/docs" track-type="bookNav" track-name="click" track-metadata-eventdetail="/data-labeling/docs" ><span class="devsite-nav-text" tooltip>AI Platform Data Labeling Service</span><span class="devsite-nav-icon material-icons" data-icon="beta" data-title="Beta" aria-hidden="true"></span></a></li><li class="devsite-nav-item devsite-nav-beta"><a href="/ai-platform/deep-learning-containers/docs" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /ai-platform/deep-learning-containers/docs" track-type="bookNav" track-name="click" track-metadata-eventdetail="/ai-platform/deep-learning-containers/docs" ><span class="devsite-nav-text" tooltip>AI Platform Deep Learning Containers</span><span class="devsite-nav-icon material-icons" data-icon="beta" data-title="Beta" aria-hidden="true"></span></a></li><li class="devsite-nav-item devsite-nav-beta"><a href="/ai-platform/notebooks/docs" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /ai-platform/notebooks/docs" track-type="bookNav" track-name="click" track-metadata-eventdetail="/ai-platform/notebooks/docs" ><span class="devsite-nav-text" tooltip>AI Platform Notebooks</span><span class="devsite-nav-icon material-icons" data-icon="beta" data-title="Beta" aria-hidden="true"></span></a></li><li class="devsite-nav-item"><a href="/natural-language/docs/quickstarts" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /natural-language/docs/quickstarts" track-type="bookNav" track-name="click" track-metadata-eventdetail="/natural-language/docs/quickstarts" ><span class="devsite-nav-text" tooltip>AutoML Natural Language API</span></a></li><li class="devsite-nav-item"><a href="/vision/docs/quickstarts" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /vision/docs/quickstarts" track-type="bookNav" track-name="click" track-metadata-eventdetail="/vision/docs/quickstarts" ><span class="devsite-nav-text" tooltip>AutoML Vision API</span></a></li><li class="devsite-nav-item"><a href="/talent-solution/docs" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /talent-solution/docs" track-type="bookNav" track-name="click" track-metadata-eventdetail="/talent-solution/docs" ><span class="devsite-nav-text" tooltip>Cloud Talent Solution</span></a></li><li class="devsite-nav-item devsite-nav-beta"><a href="/tpu/docs" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /tpu/docs" track-type="bookNav" track-name="click" track-metadata-eventdetail="/tpu/docs" ><span class="devsite-nav-text" tooltip>Cloud TPU</span><span class="devsite-nav-icon material-icons" data-icon="beta" data-title="Beta" aria-hidden="true"></span></a></li><li class="devsite-nav-item"><a href="/translate/docs/quickstarts" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /translate/docs/quickstarts" track-type="bookNav" track-name="click" track-metadata-eventdetail="/translate/docs/quickstarts" ><span class="devsite-nav-text" tooltip>Cloud Translation API</span></a></li><li class="devsite-nav-item"><a href="/dialogflow/docs/quickstarts" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /dialogflow/docs/quickstarts" track-type="bookNav" track-name="click" track-metadata-eventdetail="/dialogflow/docs/quickstarts" ><span class="devsite-nav-text" tooltip>Dialogflow</span></a></li><li class="devsite-nav-item"><a href="/architecture?category=aiandmachinelearning" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /architecture?category=aiandmachinelearning" track-type="bookNav" track-name="click" track-metadata-eventdetail="/architecture?category=aiandmachinelearning" ><span class="devsite-nav-text" tooltip>Machine learning solutions</span></a></li><li class="devsite-nav-item"><a href="/speech-to-text/docs/quickstart" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /speech-to-text/docs/quickstart" track-type="bookNav" track-name="click" track-metadata-eventdetail="/speech-to-text/docs/quickstart" ><span class="devsite-nav-text" tooltip>Speech-to-Text API</span></a></li><li class="devsite-nav-item devsite-nav-beta"><a href="/text-to-speech/docs/quickstart-protocol" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /text-to-speech/docs/quickstart-protocol" track-type="bookNav" track-name="click" track-metadata-eventdetail="/text-to-speech/docs/quickstart-protocol" ><span class="devsite-nav-text" tooltip>Text-to-Speech API</span><span class="devsite-nav-icon material-icons" data-icon="beta" data-title="Beta" aria-hidden="true"></span></a></li><li class="devsite-nav-item"><a href="/video-intelligence/docs/quickstarts" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /video-intelligence/docs/quickstarts" track-type="bookNav" track-name="click" track-metadata-eventdetail="/video-intelligence/docs/quickstarts" ><span class="devsite-nav-text" tooltip>Video Intelligence API</span></a></li></ul></div></li><li class="devsite-nav-item devsite-nav-expandable"><div class="devsite-expandable-nav"> <a class="devsite-nav-toggle" aria-hidden="true"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"> <span class="devsite-nav-text" tooltip>IoT</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/iot/docs" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /iot/docs" track-type="bookNav" track-name="click" track-metadata-eventdetail="/iot/docs" ><span class="devsite-nav-text" tooltip>Cloud IoT Core</span></a></li></ul></div></li></ul></div></li> <li class="devsite-nav-item devsite-nav-expandable"><div class="devsite-expandable-nav"> <a class="devsite-nav-toggle" aria-hidden="true"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"> <span class="devsite-nav-text" tooltip>Infrastructure and operations</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item devsite-nav-expandable"><div class="devsite-expandable-nav"> <a class="devsite-nav-toggle" aria-hidden="true"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"> <span class="devsite-nav-text" tooltip>Compute and containers</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/hosting-options" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /hosting-options" track-type="bookNav" track-name="click" track-metadata-eventdetail="/hosting-options" ><span class="devsite-nav-text" tooltip>Choosing a hosting option</span></a></li><li class="devsite-nav-item"><a href="/compute/docs" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /compute/docs" track-type="bookNav" track-name="click" track-metadata-eventdetail="/compute/docs" ><span class="devsite-nav-text" tooltip>Compute Engine</span></a></li><li class="devsite-nav-item"><a href="/kubernetes-engine/docs" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /kubernetes-engine/docs" track-type="bookNav" track-name="click" track-metadata-eventdetail="/kubernetes-engine/docs" ><span class="devsite-nav-text" tooltip>Google Kubernetes Engine</span></a></li></ul></div></li><li class="devsite-nav-item devsite-nav-expandable"><div class="devsite-expandable-nav"> <a class="devsite-nav-toggle" aria-hidden="true"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"> <span class="devsite-nav-text" tooltip>Networking</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/products/networking" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /products/networking" track-type="bookNav" track-name="click" track-metadata-eventdetail="/products/networking" ><span class="devsite-nav-text" tooltip>Overview</span></a></li><li class="devsite-nav-item devsite-nav-expandable"><div class="devsite-expandable-nav"> <a class="devsite-nav-toggle" aria-hidden="true"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"> <span class="devsite-nav-text" tooltip>VPC network</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/vpc/docs" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /vpc/docs" track-type="bookNav" track-name="click" track-metadata-eventdetail="/vpc/docs" ><span class="devsite-nav-text" tooltip>VPC networks</span></a></li><li class="devsite-nav-item"><a href="/compute/docs/ip-addresses" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /compute/docs/ip-addresses" track-type="bookNav" track-name="click" track-metadata-eventdetail="/compute/docs/ip-addresses" ><span class="devsite-nav-text" tooltip>External IP addresses</span></a></li><li class="devsite-nav-item"><a href="/vpc/docs/firewalls" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /vpc/docs/firewalls" track-type="bookNav" track-name="click" track-metadata-eventdetail="/vpc/docs/firewalls" ><span class="devsite-nav-text" tooltip>Firewall rules</span></a></li><li class="devsite-nav-item"><a href="/vpc/docs/routes" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /vpc/docs/routes" track-type="bookNav" track-name="click" track-metadata-eventdetail="/vpc/docs/routes" ><span class="devsite-nav-text" tooltip>Routes</span></a></li><li class="devsite-nav-item"><a href="/vpc/docs/vpc-peering" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /vpc/docs/vpc-peering" track-type="bookNav" track-name="click" track-metadata-eventdetail="/vpc/docs/vpc-peering" ><span class="devsite-nav-text" tooltip>VPC Network Peering</span></a></li><li class="devsite-nav-item"><a href="/vpc/docs/shared-vpc" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /vpc/docs/shared-vpc" track-type="bookNav" track-name="click" track-metadata-eventdetail="/vpc/docs/shared-vpc" ><span class="devsite-nav-text" tooltip>Shared VPC overview</span></a></li></ul></div></li><li class="devsite-nav-item devsite-nav-expandable"><div class="devsite-expandable-nav"> <a class="devsite-nav-toggle" aria-hidden="true"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"> <span class="devsite-nav-text" tooltip>Network services</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/load-balancing/docs" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /load-balancing/docs" track-type="bookNav" track-name="click" track-metadata-eventdetail="/load-balancing/docs" ><span class="devsite-nav-text" tooltip>Load balancing</span></a></li><li class="devsite-nav-item devsite-nav-alpha"><a href="/network-tiers/docs" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /network-tiers/docs" track-type="bookNav" track-name="click" track-metadata-eventdetail="/network-tiers/docs" ><span class="devsite-nav-text" tooltip>Network service tiers</span><span class="devsite-nav-icon material-icons" data-icon="alpha" data-title="Alpha" aria-hidden="true"></span></a></li><li class="devsite-nav-item"><a href="/dns/docs" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /dns/docs" track-type="bookNav" track-name="click" track-metadata-eventdetail="/dns/docs" ><span class="devsite-nav-text" tooltip>Cloud DNS</span></a></li><li class="devsite-nav-item"><a href="/cdn/docs" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /cdn/docs" track-type="bookNav" track-name="click" track-metadata-eventdetail="/cdn/docs" ><span class="devsite-nav-text" tooltip>Cloud CDN</span></a></li></ul></div></li><li class="devsite-nav-item devsite-nav-expandable"><div class="devsite-expandable-nav"> <a class="devsite-nav-toggle" aria-hidden="true"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"> <span class="devsite-nav-text" tooltip>Hybrid connectivity</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/network-connectivity/docs/vpn" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /network-connectivity/docs/vpn" track-type="bookNav" track-name="click" track-metadata-eventdetail="/network-connectivity/docs/vpn" ><span class="devsite-nav-text" tooltip>Cloud VPN</span></a></li><li class="devsite-nav-item"><a href="/network-connectivity/docs/interconnect" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /network-connectivity/docs/interconnect" track-type="bookNav" track-name="click" track-metadata-eventdetail="/network-connectivity/docs/interconnect" ><span class="devsite-nav-text" tooltip>Cloud Interconnect</span></a></li><li class="devsite-nav-item"><a href="/network-connectivity/docs/router" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /network-connectivity/docs/router" track-type="bookNav" track-name="click" track-metadata-eventdetail="/network-connectivity/docs/router" ><span class="devsite-nav-text" tooltip>Cloud Router</span></a></li></ul></div></li><li class="devsite-nav-item devsite-nav-expandable"><div class="devsite-expandable-nav"> <a class="devsite-nav-toggle" aria-hidden="true"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"> <span class="devsite-nav-text" tooltip>Network security</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/armor/docs" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /armor/docs" track-type="bookNav" track-name="click" track-metadata-eventdetail="/armor/docs" ><span class="devsite-nav-text" tooltip>Google Cloud Armor</span></a></li></ul></div></li><li class="devsite-nav-item devsite-nav-expandable"><div class="devsite-expandable-nav"> <a class="devsite-nav-toggle" aria-hidden="true"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"> <span class="devsite-nav-text" tooltip>External peering</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/network-connectivity/docs/direct-peering" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /network-connectivity/docs/direct-peering" track-type="bookNav" track-name="click" track-metadata-eventdetail="/network-connectivity/docs/direct-peering" ><span class="devsite-nav-text" tooltip>Direct Peering</span></a></li><li class="devsite-nav-item"><a href="/network-connectivity/docs/carrier-peering" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /network-connectivity/docs/carrier-peering" track-type="bookNav" track-name="click" track-metadata-eventdetail="/network-connectivity/docs/carrier-peering" ><span class="devsite-nav-text" tooltip>Carrier Peering</span></a></li><li class="devsite-nav-item"><a href="/network-connectivity/docs/cdn-interconnect" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /network-connectivity/docs/cdn-interconnect" track-type="bookNav" track-name="click" track-metadata-eventdetail="/network-connectivity/docs/cdn-interconnect" ><span class="devsite-nav-text" tooltip>CDN Interconnect</span></a></li></ul></div></li><li class="devsite-nav-item"><a href="/architecture?category=networking" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /architecture?category=networking" track-type="bookNav" track-name="click" track-metadata-eventdetail="/architecture?category=networking" ><span class="devsite-nav-text" tooltip>Networking solutions</span></a></li></ul></div></li><li class="devsite-nav-item devsite-nav-expandable"><div class="devsite-expandable-nav"> <a class="devsite-nav-toggle" aria-hidden="true"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"> <span class="devsite-nav-text" tooltip>Operations</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/endpoints/docs" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /endpoints/docs" track-type="bookNav" track-name="click" track-metadata-eventdetail="/endpoints/docs" ><span class="devsite-nav-text" tooltip>Cloud Endpoints</span></a></li><li class="devsite-nav-item"><a href="/security-scanner/docs" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /security-scanner/docs" track-type="bookNav" track-name="click" track-metadata-eventdetail="/security-scanner/docs" ><span class="devsite-nav-text" tooltip>Cloud Security Scanner</span></a></li><li class="devsite-nav-item"><a href="/debugger/docs" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /debugger/docs" track-type="bookNav" track-name="click" track-metadata-eventdetail="/debugger/docs" ><span class="devsite-nav-text" tooltip>Cloud Debugger</span></a></li><li class="devsite-nav-item"><a href="/error-reporting/docs" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /error-reporting/docs" track-type="bookNav" track-name="click" track-metadata-eventdetail="/error-reporting/docs" ><span class="devsite-nav-text" tooltip>Error Reporting</span></a></li><li class="devsite-nav-item"><a href="/logging/docs" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /logging/docs" track-type="bookNav" track-name="click" track-metadata-eventdetail="/logging/docs" ><span class="devsite-nav-text" tooltip>Cloud Logging</span></a></li><li class="devsite-nav-item"><a href="/monitoring/docs" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /monitoring/docs" track-type="bookNav" track-name="click" track-metadata-eventdetail="/monitoring/docs" ><span class="devsite-nav-text" tooltip>Cloud Monitoring</span></a></li><li class="devsite-nav-item"><a href="/profiler/docs" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /profiler/docs" track-type="bookNav" track-name="click" track-metadata-eventdetail="/profiler/docs" ><span class="devsite-nav-text" tooltip>Cloud Profiler</span></a></li><li class="devsite-nav-item"><a href="/trace/docs" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /trace/docs" track-type="bookNav" track-name="click" track-metadata-eventdetail="/trace/docs" ><span class="devsite-nav-text" tooltip>Cloud Trace</span></a></li></ul></div></li><li class="devsite-nav-item devsite-nav-expandable"><div class="devsite-expandable-nav"> <a class="devsite-nav-toggle" aria-hidden="true"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"> <span class="devsite-nav-text" tooltip>Identity and security</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item devsite-nav-expandable"><div class="devsite-expandable-nav"> <a class="devsite-nav-toggle" aria-hidden="true"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"> <span class="devsite-nav-text" tooltip>Authentication</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/docs/authentication" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/authentication" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/authentication" ><span class="devsite-nav-text" tooltip>Authentication methods</span></a></li><li class="devsite-nav-item devsite-nav-expandable"><div class="devsite-expandable-nav"> <a class="devsite-nav-toggle" aria-hidden="true"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"> <span class="devsite-nav-text" tooltip>Ways to authenticate</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/docs/authentication/client-libraries" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/authentication/client-libraries" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/authentication/client-libraries" ><span class="devsite-nav-text" tooltip>Authenticate for using client libraries</span></a></li><li class="devsite-nav-item"><a href="/docs/authentication/gcloud" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/authentication/gcloud" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/authentication/gcloud" ><span class="devsite-nav-text" tooltip>Authenticate for using the gcloud CLI</span></a></li><li class="devsite-nav-item"><a href="/docs/authentication/rest" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/authentication/rest" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/authentication/rest" ><span class="devsite-nav-text" tooltip>Authenticate for using REST</span></a></li><li class="devsite-nav-item"><a href="/docs/authentication/use-service-account-impersonation" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/authentication/use-service-account-impersonation" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/authentication/use-service-account-impersonation" ><span class="devsite-nav-text" tooltip>Authenticate by using service account impersonation</span></a></li></ul></div></li><li class="devsite-nav-item devsite-nav-expandable"><div class="devsite-expandable-nav"> <a class="devsite-nav-toggle" aria-hidden="true"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"> <span class="devsite-nav-text" tooltip>Application Default Credentials</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item devsite-nav-expandable"><div class="devsite-expandable-nav"> <a class="devsite-nav-toggle" aria-hidden="true"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"> <span class="devsite-nav-text" tooltip>Set up Application Default Credentials</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/docs/authentication/provide-credentials-adc" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/authentication/provide-credentials-adc" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/authentication/provide-credentials-adc" ><span class="devsite-nav-text" tooltip>Overview</span></a></li><li class="devsite-nav-item"><a href="/docs/authentication/set-up-adc-local-dev-environment" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/authentication/set-up-adc-local-dev-environment" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/authentication/set-up-adc-local-dev-environment" ><span class="devsite-nav-text" tooltip>Local development environment</span></a></li><li class="devsite-nav-item"><a href="/docs/authentication/set-up-adc-attached-service-account" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/authentication/set-up-adc-attached-service-account" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/authentication/set-up-adc-attached-service-account" ><span class="devsite-nav-text" tooltip>Resource with an attached service account</span></a></li><li class="devsite-nav-item"><a href="/docs/authentication/set-up-adc-containerized-environment" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/authentication/set-up-adc-containerized-environment" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/authentication/set-up-adc-containerized-environment" ><span class="devsite-nav-text" tooltip>Containerized environment</span></a></li><li class="devsite-nav-item"><a href="/docs/authentication/set-up-adc-on-premises" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/authentication/set-up-adc-on-premises" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/authentication/set-up-adc-on-premises" ><span class="devsite-nav-text" tooltip>On-premises or another cloud provider</span></a></li><li class="devsite-nav-item"><a href="/docs/authentication/set-up-adc-cloud-dev-environment" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/authentication/set-up-adc-cloud-dev-environment" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/authentication/set-up-adc-cloud-dev-environment" ><span class="devsite-nav-text" tooltip>Cloud-based development environment</span></a></li></ul></div></li><li class="devsite-nav-item"><a href="/docs/authentication/application-default-credentials" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/authentication/application-default-credentials" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/authentication/application-default-credentials" ><span class="devsite-nav-text" tooltip>How Application Default Credentials works</span></a></li><li class="devsite-nav-item"><a href="/docs/authentication/troubleshoot-adc" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/authentication/troubleshoot-adc" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/authentication/troubleshoot-adc" ><span class="devsite-nav-text" tooltip>Troubleshoot your ADC setup</span></a></li></ul></div></li><li class="devsite-nav-item devsite-nav-expandable"><div class="devsite-expandable-nav"> <a class="devsite-nav-toggle" aria-hidden="true"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"> <span class="devsite-nav-text" tooltip>API keys</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/docs/authentication/api-keys-use" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/authentication/api-keys-use" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/authentication/api-keys-use" ><span class="devsite-nav-text" tooltip>Use API keys to access APIs</span></a></li><li class="devsite-nav-item"><a href="/docs/authentication/api-keys" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/authentication/api-keys" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/authentication/api-keys" ><span class="devsite-nav-text" tooltip>Manage API keys</span></a></li><li class="devsite-nav-item"><a href="/docs/authentication/api-keys-best-practices" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/authentication/api-keys-best-practices" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/authentication/api-keys-best-practices" ><span class="devsite-nav-text" tooltip>Best practices for managing API keys</span></a></li></ul></div></li><li class="devsite-nav-item"><a href="/docs/authentication/get-id-token" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/authentication/get-id-token" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/authentication/get-id-token" ><span class="devsite-nav-text" tooltip>Get an ID token</span></a></li><li class="devsite-nav-item"><a href="/docs/authentication/token-types" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/authentication/token-types" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/authentication/token-types" ><span class="devsite-nav-text" tooltip>Token types</span></a></li><li class="devsite-nav-item"><a href="/docs/authentication/mfa-requirement" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/authentication/mfa-requirement" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/authentication/mfa-requirement" ><span class="devsite-nav-text" tooltip>Multi-factor authentication requirement</span></a></li></ul></div></li><li class="devsite-nav-item"><a href="/iam/docs" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /iam/docs" track-type="bookNav" track-name="click" track-metadata-eventdetail="/iam/docs" ><span class="devsite-nav-text" tooltip>Identity and Access Management</span></a></li><li class="devsite-nav-item"><a href="/iap/docs" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /iap/docs" track-type="bookNav" track-name="click" track-metadata-eventdetail="/iap/docs" ><span class="devsite-nav-text" tooltip>Identity-Aware Proxy</span></a></li><li class="devsite-nav-item"><a href="/kms/docs" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /kms/docs" track-type="bookNav" track-name="click" track-metadata-eventdetail="/kms/docs" ><span class="devsite-nav-text" tooltip>Cloud Key Management Service</span></a></li><li class="devsite-nav-item"><a href="/security-command-center/docs" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /security-command-center/docs" track-type="bookNav" track-name="click" track-metadata-eventdetail="/security-command-center/docs" ><span class="devsite-nav-text" tooltip>Cloud Security Command Center</span></a></li><li class="devsite-nav-item"><a href="/security-scanner/docs" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /security-scanner/docs" track-type="bookNav" track-name="click" track-metadata-eventdetail="/security-scanner/docs" ><span class="devsite-nav-text" tooltip>Cloud Security Scanner</span></a></li><li class="devsite-nav-item devsite-nav-beta"><a href="/binary-authorization/docs" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /binary-authorization/docs" track-type="bookNav" track-name="click" track-metadata-eventdetail="/binary-authorization/docs" ><span class="devsite-nav-text" tooltip>Binary Authorization</span><span class="devsite-nav-icon material-icons" data-icon="beta" data-title="Beta" aria-hidden="true"></span></a></li><li class="devsite-nav-item"><a href="/dlp/docs" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /dlp/docs" track-type="bookNav" track-name="click" track-metadata-eventdetail="/dlp/docs" ><span class="devsite-nav-text" tooltip>Cloud Data Loss Prevention</span></a></li><li class="devsite-nav-item devsite-nav-expandable"><div class="devsite-expandable-nav"> <a class="devsite-nav-toggle" aria-hidden="true"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"> <span class="devsite-nav-text" tooltip>Shielded Cloud</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/security/shielded-cloud/shielded-vm" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /security/shielded-cloud/shielded-vm" track-type="bookNav" track-name="click" track-metadata-eventdetail="/security/shielded-cloud/shielded-vm" ><span class="devsite-nav-text" tooltip>Shielded VM</span></a></li><li class="devsite-nav-item"><a href="/security/shielded-cloud/creating-shielded-images" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /security/shielded-cloud/creating-shielded-images" track-type="bookNav" track-name="click" track-metadata-eventdetail="/security/shielded-cloud/creating-shielded-images" ><span class="devsite-nav-text" tooltip>Creating custom shielded images</span></a></li><li class="devsite-nav-item"><a href="/security/shielded-cloud/retrieving-endorsement-key" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /security/shielded-cloud/retrieving-endorsement-key" track-type="bookNav" track-name="click" track-metadata-eventdetail="/security/shielded-cloud/retrieving-endorsement-key" ><span class="devsite-nav-text" tooltip>Retrieving endorsement key information</span></a></li><li class="devsite-nav-item"><a href="/security/shielded-cloud/automating-responses-integrity-failures" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /security/shielded-cloud/automating-responses-integrity-failures" track-type="bookNav" track-name="click" track-metadata-eventdetail="/security/shielded-cloud/automating-responses-integrity-failures" ><span class="devsite-nav-text" tooltip>Automating responses to integrity validation failures</span></a></li></ul></div></li><li class="devsite-nav-item"><a href="/security/data-loss-prevention/preventing-data-exfiltration" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /security/data-loss-prevention/preventing-data-exfiltration" track-type="bookNav" track-name="click" track-metadata-eventdetail="/security/data-loss-prevention/preventing-data-exfiltration" ><span class="devsite-nav-text" tooltip>Preventing data exfiltration</span></a></li><li class="devsite-nav-item"><a href="/security/compromised-credentials" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /security/compromised-credentials" track-type="bookNav" track-name="click" track-metadata-eventdetail="/security/compromised-credentials" ><span class="devsite-nav-text" tooltip>Handling compromised Google Cloud credentials</span></a></li><li class="devsite-nav-item"><a href="/security/data-loss-prevention/revoking-user-access" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /security/data-loss-prevention/revoking-user-access" track-type="bookNav" track-name="click" track-metadata-eventdetail="/security/data-loss-prevention/revoking-user-access" ><span class="devsite-nav-text" tooltip>Best practices for revoking access</span></a></li><li class="devsite-nav-item"><a href="/security/key-management-deep-dive" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /security/key-management-deep-dive" track-type="bookNav" track-name="click" track-metadata-eventdetail="/security/key-management-deep-dive" ><span class="devsite-nav-text" tooltip>Cloud Key Management Service deep dive</span></a></li><li class="devsite-nav-item"><a href="/solutions/securing-gcp-account-security-keys" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /solutions/securing-gcp-account-security-keys" track-type="bookNav" track-name="click" track-metadata-eventdetail="/solutions/securing-gcp-account-security-keys" ><span class="devsite-nav-text" tooltip>Securing your account with security keys</span></a></li><li class="devsite-nav-item"><a href="/solutions/connecting-securely" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /solutions/connecting-securely" track-type="bookNav" track-name="click" track-metadata-eventdetail="/solutions/connecting-securely" ><span class="devsite-nav-text" tooltip>Securely connecting to VM instances</span></a></li><li class="devsite-nav-item"><a href="/resource-manager/docs/organization-policy/develop-apps-constrained-environment" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /resource-manager/docs/organization-policy/develop-apps-constrained-environment" track-type="bookNav" track-name="click" track-metadata-eventdetail="/resource-manager/docs/organization-policy/develop-apps-constrained-environment" ><span class="devsite-nav-text" tooltip>Develop applications in a constrained environment</span></a></li><li class="devsite-nav-item"><a href="/security/security-design" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /security/security-design" track-type="bookNav" track-name="click" track-metadata-eventdetail="/security/security-design" ><span class="devsite-nav-text" tooltip>Google infrastructure security</span></a></li><li class="devsite-nav-item"><a href="/security/beyondprod" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /security/beyondprod" track-type="bookNav" track-name="click" track-metadata-eventdetail="/security/beyondprod" ><span class="devsite-nav-text" tooltip>BeyondProd: Cloud-native security</span></a></li><li class="devsite-nav-item"><a href="/security/binary-authorization-for-borg" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /security/binary-authorization-for-borg" track-type="bookNav" track-name="click" track-metadata-eventdetail="/security/binary-authorization-for-borg" ><span class="devsite-nav-text" tooltip>Binary Authorization for Borg</span></a></li><li class="devsite-nav-item"><a href="/security" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /security" track-type="bookNav" track-name="click" track-metadata-eventdetail="/security" ><span class="devsite-nav-text" tooltip>Google Cloud security overview</span></a></li><li class="devsite-nav-item"><a href="/docs/tutorials#security" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/tutorials#security" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/tutorials#security" ><span class="devsite-nav-text" tooltip>Security solutions</span></a></li></ul></div></li><li class="devsite-nav-item devsite-nav-expandable"><div class="devsite-expandable-nav"> <a class="devsite-nav-toggle" aria-hidden="true"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"> <span class="devsite-nav-text" tooltip>Resource management</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/deployment-manager/overview" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /deployment-manager/overview" track-type="bookNav" track-name="click" track-metadata-eventdetail="/deployment-manager/overview" ><span class="devsite-nav-text" tooltip>Cloud Deployment Manager</span></a></li><li class="devsite-nav-item"><a href="/marketplace/docs" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /marketplace/docs" track-type="bookNav" track-name="click" track-metadata-eventdetail="/marketplace/docs" ><span class="devsite-nav-text" tooltip>Google Cloud Marketplace</span></a></li><li class="devsite-nav-item"><a href="/resource-manager/docs" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /resource-manager/docs" track-type="bookNav" track-name="click" track-metadata-eventdetail="/resource-manager/docs" ><span class="devsite-nav-text" tooltip>Resource Manager</span></a></li><li class="devsite-nav-item"><a href="/docs/tutorials#resource" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/tutorials#resource" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/tutorials#resource" ><span class="devsite-nav-text" tooltip>Resource management solutions</span></a></li></ul></div></li></ul></div></li> <li class="devsite-nav-item devsite-nav-heading"><div class="devsite-nav-title devsite-nav-title-no-path"> <span class="devsite-nav-text" tooltip>Other supported languages</span> </div></li> <li class="devsite-nav-item"><a href="/dotnet" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /dotnet" track-type="bookNav" track-name="click" track-metadata-eventdetail="/dotnet" ><span class="devsite-nav-text" tooltip>C#</span></a></li> <li class="devsite-nav-item"><a href="/go" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /go" track-type="bookNav" track-name="click" track-metadata-eventdetail="/go" ><span class="devsite-nav-text" tooltip>Go</span></a></li> <li class="devsite-nav-item"><a href="/java" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /java" track-type="bookNav" track-name="click" track-metadata-eventdetail="/java" ><span class="devsite-nav-text" tooltip>Java</span></a></li> <li class="devsite-nav-item"><a href="/nodejs" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /nodejs" track-type="bookNav" track-name="click" track-metadata-eventdetail="/nodejs" ><span class="devsite-nav-text" tooltip>Node.js</span></a></li> <li class="devsite-nav-item"><a href="/php" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /php" track-type="bookNav" track-name="click" track-metadata-eventdetail="/php" ><span class="devsite-nav-text" tooltip>PHP</span></a></li> <li class="devsite-nav-item"><a href="/ruby" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /ruby" track-type="bookNav" track-name="click" track-metadata-eventdetail="/ruby" ><span class="devsite-nav-text" tooltip>Ruby</span></a></li> </ul> <ul class="devsite-nav-list" menu="Technology areas" aria-label="Side menu" hidden> <li class="devsite-nav-item"> <a href="/docs/ai-ml" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: AI and ML" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > AI and ML </span> </a> </li> <li class="devsite-nav-item"> <a href="/docs/application-development" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Application development" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Application development </span> </a> </li> <li class="devsite-nav-item"> <a href="/docs/application-hosting" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Application hosting" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Application hosting </span> </a> </li> <li class="devsite-nav-item"> <a href="/docs/compute-area" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Compute" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Compute </span> </a> </li> <li class="devsite-nav-item"> <a href="/docs/data" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Data analytics and pipelines" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Data analytics and pipelines </span> </a> </li> <li class="devsite-nav-item"> <a href="/docs/databases" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Databases" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Databases </span> </a> </li> <li class="devsite-nav-item"> <a href="/docs/dhm-cloud" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Distributed, hybrid, and multicloud" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Distributed, hybrid, and multicloud </span> </a> </li> <li class="devsite-nav-item"> <a href="/docs/generative-ai" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Generative AI" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Generative AI </span> </a> </li> <li class="devsite-nav-item"> <a href="/docs/industry" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Industry solutions" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Industry solutions </span> </a> </li> <li class="devsite-nav-item"> <a href="/docs/networking" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Networking" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Networking </span> </a> </li> <li class="devsite-nav-item"> <a href="/docs/observability" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Observability and monitoring" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Observability and monitoring </span> </a> </li> <li class="devsite-nav-item"> <a href="/docs/security" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Security" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Security </span> </a> </li> <li class="devsite-nav-item"> <a href="/docs/storage" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Storage" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Storage </span> </a> </li> </ul> <ul class="devsite-nav-list" menu="Cross-product tools" aria-label="Side menu" hidden> <li class="devsite-nav-item"> <a href="/docs/access-resources" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Access and resources management" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Access and resources management </span> </a> </li> <li class="devsite-nav-item"> <a href="/docs/costs-usage" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Costs and usage management" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Costs and usage management </span> </a> </li> <li class="devsite-nav-item"> <a href="/docs/devtools" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Google Cloud SDK, languages, frameworks, and tools" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Google Cloud SDK, languages, frameworks, and tools </span> </a> </li> <li class="devsite-nav-item"> <a href="/docs/iac" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Infrastructure as code" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Infrastructure as code </span> </a> </li> <li class="devsite-nav-item"> <a href="/docs/migration" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Migration" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Migration </span> </a> </li> </ul> <ul class="devsite-nav-list" menu="Related sites" aria-label="Side menu" hidden> <li class="devsite-nav-item"> <a href="/" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Google Cloud Home" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Google Cloud Home </span> </a> </li> <li class="devsite-nav-item"> <a href="/free" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Free Trial and Free Tier" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Free Trial and Free Tier </span> </a> </li> <li class="devsite-nav-item"> <a href="/architecture" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Architecture Center" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Architecture Center </span> </a> </li> <li class="devsite-nav-item"> <a href="https://cloud.google.com/blog" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Blog" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Blog </span> </a> </li> <li class="devsite-nav-item"> <a href="/contact" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Contact Sales" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Contact Sales </span> </a> </li> <li class="devsite-nav-item"> <a href="/developers" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Google Cloud Developer Center" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Google Cloud Developer Center </span> </a> </li> <li class="devsite-nav-item"> <a href="https://developers.google.com/" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Google Developer Center" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Google Developer Center </span> </a> </li> <li class="devsite-nav-item"> <a href="https://console.cloud.google.com/marketplace" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Google Cloud Marketplace" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Google Cloud Marketplace </span> </a> </li> <li class="devsite-nav-item"> <a href="/marketplace/docs" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Google Cloud Marketplace Documentation" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Google Cloud Marketplace Documentation </span> </a> </li> <li class="devsite-nav-item"> <a href="https://www.cloudskillsboost.google/paths" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Google Cloud Skills Boost" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Google Cloud Skills Boost </span> </a> </li> <li class="devsite-nav-item"> <a href="/solutions" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Google Cloud Solution Center" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Google Cloud Solution Center </span> </a> </li> <li class="devsite-nav-item"> <a href="/support-hub" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Google Cloud Support" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Google Cloud Support </span> </a> </li> <li class="devsite-nav-item"> <a href="https://www.youtube.com/@googlecloudtech" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Google Cloud Tech Youtube Channel" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Google Cloud Tech Youtube Channel </span> </a> </li> </ul> </div> </div> </nav> </devsite-book-nav> <section id="gc-wrapper"> <main role="main" id="main-content" class="devsite-main-content" has-book-nav has-sidebar > <div class="devsite-sidebar"> <div class="devsite-sidebar-content"> <devsite-toc class="devsite-nav" role="navigation" aria-label="On this page" depth="2" scrollbars ></devsite-toc> <devsite-recommendations-sidebar class="nocontent devsite-nav"> </devsite-recommendations-sidebar> </div> </div> <devsite-content> <article class="devsite-article"> <div class="devsite-article-meta nocontent" role="navigation"> <ul class="devsite-breadcrumb-list" aria-label="Breadcrumb"> <li class="devsite-breadcrumb-item "> <a href="https://cloud.google.com/" class="devsite-breadcrumb-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Breadcrumbs" data-value="1" track-type="globalNav" track-name="breadcrumb" track-metadata-position="1" track-metadata-eventdetail="Google Cloud" > Home </a> </li> <li class="devsite-breadcrumb-item "> <div class="devsite-breadcrumb-guillemet material-icons" aria-hidden="true"></div> <a href="https://cloud.google.com/python" class="devsite-breadcrumb-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Breadcrumbs" data-value="2" track-type="globalNav" track-name="breadcrumb" track-metadata-position="2" track-metadata-eventdetail="Python" > Python </a> </li> <li class="devsite-breadcrumb-item "> <div class="devsite-breadcrumb-guillemet material-icons" aria-hidden="true"></div> <a href="https://cloud.google.com/python/docs" class="devsite-breadcrumb-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Breadcrumbs" data-value="3" track-type="globalNav" track-name="breadcrumb" track-metadata-position="3" track-metadata-eventdetail="Python" > Documentation </a> </li> <li class="devsite-breadcrumb-item "> <div class="devsite-breadcrumb-guillemet material-icons" aria-hidden="true"></div> <a href="https://cloud.google.com/python/docs/setup" class="devsite-breadcrumb-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Breadcrumbs" data-value="4" track-type="globalNav" track-name="breadcrumb" track-metadata-position="4" track-metadata-eventdetail="" > Guides </a> </li> </ul> <devsite-thumb-rating position="header"> </devsite-thumb-rating> </div> <devsite-feedback position="header" project-name="Python" product-id="1632431" bucket="python" context="" version="t-devsite-webserver-20250211-r00-rc00.466928320959134316" data-label="Send Feedback Button" track-type="feedback" track-name="sendFeedbackLink" track-metadata-position="header" class="nocontent" project-icon="https://www.gstatic.com/devrel-devsite/prod/v38a693baeb774512feb42f10aac8f755d8791ed41119b5be7a531f8e16f8279f/cloud/images/favicons/onecloud/super_cloud.png" > <button> Send feedback </button> </devsite-feedback> <h1 class="devsite-page-title" tabindex="-1"> Setting up a Python development environment </h1> <devsite-feature-tooltip ack-key="AckCollectionsBookmarkTooltipDismiss" analytics-category="Site-Wide Custom Events" analytics-action-show="Callout Profile displayed" analytics-action-close="Callout Profile dismissed" analytics-label="Create Collection Callout" class="devsite-page-bookmark-tooltip nocontent" dismiss-button="true" id="devsite-collections-dropdown" dismiss-button-text="Dismiss" close-button-text="Got it"> <devsite-bookmark></devsite-bookmark> <span slot="popout-heading"> Stay organized with collections </span> <span slot="popout-contents"> Save and categorize content based on your preferences. </span> </devsite-feature-tooltip> <div class="devsite-page-title-meta"><devsite-view-release-notes></devsite-view-release-notes></div> <devsite-toc class="devsite-nav" depth="2" devsite-toc-embedded > </devsite-toc> <div class="devsite-article-body clearfix "> <div class="silver-lang getting-started"> <p>This tutorial shows how to prepare your local machine for <a href="https://python.org" track-type="python" track-name="externalLink" track-metadata-position="introParagraph">Python</a> development, including developing Python apps that run on Google Cloud.</p> <p>If you already have a development environment set up, see <a href="/python" track-type="python" track-name="internalLink" track-metadata-position="introParagraph">Python and Google Cloud</a> to get an overview of how to run Python apps on Google Cloud.</p> <aside class="tip"><strong>Tip:</strong><span> If you want to get started quickly, <a href="http://shell.cloud.google.com/">Cloud Shell Editor</a> provides IDE support for the full development cycle of Google Kubernetes Engine and Cloud Run applications. Cloud Shell Editor is based on <a href="https://github.com/microsoft/vscode">Code OSS</a> and comes with the Google Cloud CLI and Cloud Code tools preinstalled.</span></aside> <h2 id="objectives" data-text="Objectives" tabindex="-1">Objectives</h2> <ul> <li>Install a <a href="/python/docs/supported-python-versions">supported version of Python</a> compatible with Google Cloud.</li> <li>Use <code translate="no" dir="ltr">venv</code> to isolate dependencies.</li> <li>Install an editor (optional).</li> <li>Install the Google Cloud CLI (optional).</li> <li>Install the Cloud Client Libraries for Python (optional).</li> <li>Install other useful tools.</li> <li>Set up authentication (optional).</li> </ul> <h2 id="installing_python" data-text="Installing Python" tabindex="-1">Installing Python</h2> <p>Python's installation instructions vary by operating system. Follow the guide for the operating system you're running in your development environment, macOS, Windows, or Linux.</p> <div class="ds-selector-tabs" data-ds-scope="code-sample"> <section><h3 id="macos" data-text="macOS" tabindex="-1">macOS</h3><p>macOS includes a version of Python by default and uses it for its own purposes. To avoid interfering with macOS, we recommend creating a separate development environment and installing a <a href="/python/docs/supported-python-versions">supported version of Python</a> for Google Cloud. To install Python, use <a href="https://brew.sh/" track-type="homebrew" track-name="externalLink" track-metadata-position="body">homebrew</a>.</p> <ol> <li><p>To use homebrew to install Python packages, you need a compiler, which you can get by installing <a href="https://developer.apple.com/library/content/technotes/tn2339/_index.html" track-type="xcode" track-name="externalLink" track-metadata-position="body">Xcode's command-line tools</a>.</p> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="Python"><code translate="no" dir="ltr"><span class="devsite-syntax-n">xcode</span><span class="devsite-syntax-o">-</span><span class="devsite-syntax-n">select</span> <span class="devsite-syntax-o">--</span><span class="devsite-syntax-n">install</span> </code></pre></devsite-code></li> <li><p>Install homebrew by following the instructions on the <a href="https://brew.sh/" track-type="homebrew" track-name="install" track-metadata-position="body">homebrew homepage</a>, and then use homebrew to install Python as follows:</p> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="Python"><code translate="no" dir="ltr"><span class="devsite-syntax-n">brew</span> <span class="devsite-syntax-n">install</span> <span class="devsite-syntax-n">pyenv</span> <span class="devsite-syntax-n">pyenv</span> <span class="devsite-syntax-n">install</span> <var translate="no"><span class="devsite-syntax-n">PYTHON_VERSION</span></var> </code></pre></devsite-code> <p>Python version number should be in the format of <code translate="no" dir="ltr">x.y</code>. For example:</p> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="Python"><code translate="no" dir="ltr"><span class="devsite-syntax-n">pyenv</span> <span class="devsite-syntax-n">install</span> <span class="devsite-syntax-mf">3.12</span> </code></pre></devsite-code></li> <li><p>After the installations are complete, verify that Python 3 is available as <code translate="no" dir="ltr">python</code> and <code translate="no" dir="ltr">python3</code>, and that <code translate="no" dir="ltr">pip</code> is also installed.</p> <p>To verify that Python is available, run the following command:</p> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="Python"><code translate="no" dir="ltr"><span class="devsite-syntax-n">python3</span> <span class="devsite-syntax-o">--</span><span class="devsite-syntax-n">version</span> </code></pre></devsite-code> <p>The output shows the version. You can learn about Python homebrew on the <a href="https://formulae.brew.sh/formula/python@3.12">Homebrew Python Formulae</a> page, and then check your version.</p> <p>To verify that <code translate="no" dir="ltr">pip3</code> is available, run the following command:</p> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="Python"><code translate="no" dir="ltr"><span class="devsite-syntax-n">pip3</span> <span class="devsite-syntax-o">--</span><span class="devsite-syntax-n">version</span> </code></pre></devsite-code> <p>If installed, the output shows the <code translate="no" dir="ltr">pip3</code> version. For more about the latest version of <code translate="no" dir="ltr">pip3</code>, see the <a href="https://pip.pypa.io/en/stable/news/"><code translate="no" dir="ltr">pip</code> Release Notes</a>.</p> <p>If the preceding command does not show the <code translate="no" dir="ltr">pip3</code> version, make sure that <code translate="no" dir="ltr">pip3</code> is installed correctly. If <code translate="no" dir="ltr">pip3</code> is installed but not working, upgrade to the latest version using the following command:</p> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="Python"><code translate="no" dir="ltr"><span class="devsite-syntax-n">python</span> <span class="devsite-syntax-o">-</span><span class="devsite-syntax-n">m</span> <span class="devsite-syntax-n">pip</span> <span class="devsite-syntax-n">install</span> <span class="devsite-syntax-o">--</span><span class="devsite-syntax-n">upgrade</span> <span class="devsite-syntax-n">pip</span> </code></pre></devsite-code> <p>Homebrew installs the latest versions of Python available on your platform. The version numbers in the outputs might be different from <a href="https://www.python.org/downloads/">the latest official releases of Python</a>.</p></li> </ol></section> <section><h3 id="windows" data-text="Windows" tabindex="-1">Windows</h3><ol> <li><p>To install Python in a Windows environment, download the installer for the version of Python you need from the <a href="https://www.python.org/downloads/windows/" track-type="python" track-name="downloadLink" track-metadata-position="body">Python website</a>. For more information, see the <a href="/python/docs/supported-python-versions">supported versions of Python</a> for Google Cloud.</p></li> <li><p>To access your version of Python, use <a href="https://docs.python.org/3/using/windows.html#launcher" track-type="python" track-name="launcher" track-metadata-position="body">Python launcher for Windows</a>.</p> <p>To start the version of Python you installed, run the following command:</p> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="Python"><code translate="no" dir="ltr"><span class="devsite-syntax-n">py</span> </code></pre></devsite-code> <p>To start the version of Python 3 you installed, run the following command:</p> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="Python"><code translate="no" dir="ltr"><span class="devsite-syntax-n">py</span> <span class="devsite-syntax-o">-</span><span class="devsite-syntax-mi">3</span> </code></pre></devsite-code> <p>To verify the version of <code translate="no" dir="ltr">pip</code> that is available, run the following command:</p> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="Python"><code translate="no" dir="ltr"><span class="devsite-syntax-n">py</span> <span class="devsite-syntax-o">-</span><span class="devsite-syntax-n">m</span> <span class="devsite-syntax-n">pip</span> <span class="devsite-syntax-o">--</span><span class="devsite-syntax-n">version</span> </code></pre></devsite-code> <p>The output shows the version from <code translate="no" dir="ltr">C:\users\[USERNAME]\appdata\local\programs\python\python38-32\lib\site-packages</code>.</p> <p>You can learn about the latest version of <code translate="no" dir="ltr">pip</code> in the <a href="https://pip.pypa.io/en/stable/news/"><code translate="no" dir="ltr">pip</code> Release Notes</a>.</p></li> </ol></section> <section><h3 id="linux" data-text="Linux" tabindex="-1">Linux</h3><p>Most Linux distributions include recent versions of Python.</p> <ol> <li><p>To install Python in a Linux environment, install the appropriate packages for your distribution. For Debian and Ubuntu, these packages are <a href="https://packages.debian.org/stable/python3" track-type="python" track-name="installPython" track-metadata-position="body" track-metadata-link-text="python3">python3</a>, <a href="https://packages.debian.org/stable/python3-dev" track-type="python" track-name="installPython" track-metadata-position="body" track-metadata-link-text="python3-dev">python3-dev</a>, <a href="https://packages.debian.org/stable/python3-venv" track-type="python" track-name="installPython" track-metadata-position="body" track-metadata-link-text="python3-venv">python3-venv</a>, and <a href="https://packages.debian.org/stable/python3-pip" track-type="python" track-name="installPython" track-metadata-position="body" track-metadata-link-text="python3-venv">python3-pip</a>,</p> <p>Install these packages using the following commands:</p> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="Python"><code translate="no" dir="ltr"><span class="devsite-syntax-n">sudo</span> <span class="devsite-syntax-n">apt</span> <span class="devsite-syntax-n">update</span> <span class="devsite-syntax-n">sudo</span> <span class="devsite-syntax-n">apt</span> <span class="devsite-syntax-n">install</span> <span class="devsite-syntax-n">python3</span> <span class="devsite-syntax-n">python3</span><span class="devsite-syntax-o">-</span><span class="devsite-syntax-n">dev</span> <span class="devsite-syntax-n">python3</span><span class="devsite-syntax-o">-</span><span class="devsite-syntax-n">venv</span> <span class="devsite-syntax-n">python3</span><span class="devsite-syntax-o">-</span><span class="devsite-syntax-n">pip</span> </code></pre></devsite-code></li> <li><p>After the installations are complete, verify that you have <code translate="no" dir="ltr">pip</code> installed:</p> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="Python"><code translate="no" dir="ltr"><span class="devsite-syntax-n">pip3</span> <span class="devsite-syntax-o">--</span><span class="devsite-syntax-n">version</span> </code></pre></devsite-code> <p>You can learn about the latest version of <code translate="no" dir="ltr">pip</code> in the <a href="https://pip.pypa.io/en/stable/news/">pip Release Notes</a>.</p></li> </ol></section> </div> <h2 id="installing_and_using_virtualenv" data-text="Using venv to isolate dependencies" tabindex="-1">Using venv to isolate dependencies</h2> <p><a href="https://docs.python.org/3/library/venv.html" track-type="python" track-name="installVirtualenv" track-metadata-position="body"><em><code translate="no" dir="ltr">venv</code></em></a> is a tool that creates isolated Python environments. These isolated environments can have separate versions of Python packages, which lets you isolate one project's dependencies from the dependencies of other projects. We recommend that you always use a per-project virtual environment when developing locally with Python.</p> <ol> <li><p>Use the <code translate="no" dir="ltr">venv</code> command to create a virtual copy of the entire Python installation. This tutorial creates a virtual copy in a folder named <code translate="no" dir="ltr">env</code>, but you can specify any name for the folder.</p> <div class="ds-selector-tabs" data-ds-scope="code-sample"> <section><h3 id="macos_1" data-text="macOS" tabindex="-1">macOS</h3><div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="Python"><code translate="no" dir="ltr"><span class="devsite-syntax-n">cd</span> <span class="devsite-syntax-n">your</span><span class="devsite-syntax-o">-</span><span class="devsite-syntax-n">project</span> <span class="devsite-syntax-n">python</span> <span class="devsite-syntax-o">-</span><span class="devsite-syntax-n">m</span> <span class="devsite-syntax-n">venv</span> <span class="devsite-syntax-n">env</span> </code></pre></devsite-code></section> <section><h3 id="windows_1" data-text="Windows" tabindex="-1">Windows</h3><div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="Python"><code translate="no" dir="ltr"><span class="devsite-syntax-n">cd</span> <span class="devsite-syntax-n">your</span><span class="devsite-syntax-o">-</span><span class="devsite-syntax-n">project</span> <span class="devsite-syntax-n">py</span> <span class="devsite-syntax-o">-</span><span class="devsite-syntax-n">m</span> <span class="devsite-syntax-n">venv</span> <span class="devsite-syntax-n">env</span> </code></pre></devsite-code></section> <section><h3 id="linux_1" data-text="Linux" tabindex="-1">Linux</h3><div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="Python"><code translate="no" dir="ltr"><span class="devsite-syntax-n">cd</span> <span class="devsite-syntax-n">your</span><span class="devsite-syntax-o">-</span><span class="devsite-syntax-n">project</span> <span class="devsite-syntax-n">python3</span> <span class="devsite-syntax-o">-</span><span class="devsite-syntax-n">m</span> <span class="devsite-syntax-n">venv</span> <span class="devsite-syntax-n">env</span> </code></pre></devsite-code></section> </div></li> <li><p>Set your shell to use the <code translate="no" dir="ltr">venv</code> paths for Python by activating the virtual environment:</p> <div class="ds-selector-tabs" data-ds-scope="code-sample"> <section><h3 id="macos_2" data-text="macOS" tabindex="-1">macOS</h3><div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="Python"><code translate="no" dir="ltr"><span class="devsite-syntax-n">source</span> <span class="devsite-syntax-n">env</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-nb">bin</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">activate</span> </code></pre></devsite-code></section> <section><h3 id="windows_2" data-text="Windows" tabindex="-1">Windows</h3><div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="Python"><code translate="no" dir="ltr"><span class="devsite-syntax-o">.</span>\<span class="devsite-syntax-n">env</span>\<span class="devsite-syntax-n">Scripts</span>\<span class="devsite-syntax-n">activate</span> </code></pre></devsite-code></section> <section><h3 id="linux_2" data-text="Linux" tabindex="-1">Linux</h3><div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="Python"><code translate="no" dir="ltr"><span class="devsite-syntax-n">source</span> <span class="devsite-syntax-n">env</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-nb">bin</span><span class="devsite-syntax-o">/</span><span class="devsite-syntax-n">activate</span> </code></pre></devsite-code></section> </div></li> <li><p>Now you can install packages without affecting other projects or your global Python installation:</p> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="Python"><code translate="no" dir="ltr"><span class="devsite-syntax-n">pip</span> <span class="devsite-syntax-n">install</span> <span class="devsite-syntax-n">google</span><span class="devsite-syntax-o">-</span><span class="devsite-syntax-n">cloud</span><span class="devsite-syntax-o">-</span><span class="devsite-syntax-n">storage</span> </code></pre></devsite-code> <p>If you want to stop using the virtual environment and go back to your global Python, you can deactivate it:</p> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="Python"><code translate="no" dir="ltr"><span class="devsite-syntax-n">deactivate</span> </code></pre></devsite-code></li> </ol> <p>You can read more about <code translate="no" dir="ltr">venv</code> in the <a href="https://docs.python.org/3/library/venv.html" track-type="python" track-name="virtualenv" track-metadata-position="body" track-metadata-end-goal="virtualenvDocs"><code translate="no" dir="ltr">venv</code> docs</a>.</p> <aside class="note"><strong>Note:</strong><span> If you're using <a href="https://docs.anaconda.com/anaconda/user-guide/tasks/install-packages/" track-type="python" track-name="externalLink" track-metadata-position="body">Anaconda</a>, follow the instructions on their website.</span></aside> <h2 id="installing_an_editor" data-text="Installing an editor" tabindex="-1">Installing an editor</h2> <p>To develop Python apps, you need an editor. Here are a few of the more popular editors (in no particular order):</p> <ul> <li><a href="https://code.visualstudio.com/" track-type="python" track-name="vsCode" track-metadata-position="body">Visual Studio Code</a> by Microsoft</li> <li><a href="https://www.sublimetext.com/" track-type="python" track-name="sublimeText" track-metadata-position="body">Sublime Text</a> by Jon Skinner</li> <li><a href="https://www.jetbrains.com/pycharm/" track-type="python" track-name="pyCharm" track-metadata-position="body">PyCharm</a> by JetBrains</li> </ul> <h2 id="installing_the_cloud_client_libraries_for_python" data-text="Installing the Cloud Client Libraries for Python" tabindex="-1">Installing the Cloud Client Libraries for Python</h2> <p>The Cloud Client Libraries for Python is how Python developers integrate with Google Cloud services like Datastore and Cloud Storage. To install the package for an individual API like Cloud Storage, use a command similar to the following:</p> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="Python"><code translate="no" dir="ltr"><span class="devsite-syntax-n">pip</span> <span class="devsite-syntax-n">install</span> <span class="devsite-syntax-o">--</span><span class="devsite-syntax-n">upgrade</span> <span class="devsite-syntax-n">google</span><span class="devsite-syntax-o">-</span><span class="devsite-syntax-n">cloud</span><span class="devsite-syntax-o">-</span><span class="devsite-syntax-n">storage</span> </code></pre></devsite-code> <h2 id="installing_the_cloud_sdk" data-text="Installing the gcloud CLI" tabindex="-1">Installing the gcloud CLI</h2> <p>The <a href="/sdk" track-type="python" track-name="cloud_sdk" track-metadata-position="body" track-metadata-end-goal="tools">gcloud CLI</a> is a set of command-line tools for Google Cloud. It contains <code translate="no" dir="ltr">gcloud</code> and <code translate="no" dir="ltr">bq</code>, which you can use to access Compute Engine, Cloud Storage, BigQuery, and other products and services from the command line. You can run these tools interactively or in your automated scripts.</p> <h3 id="set_up_authentication" data-text="Set up authentication" tabindex="-1">Set up authentication</h3> <p>To use the client library, you must first set up authentication.</p> <p> If you're using a local shell, then create local authentication credentials for your user account: </p> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="Bash">gcloud<span class="devsite-syntax-w"> </span>auth<span class="devsite-syntax-w"> </span>application-default<span class="devsite-syntax-w"> </span>login</pre></devsite-code> <p>You don't need to do this if you're using Cloud Shell.</p> <p>For more information, see <a href="/docs/authentication/client-libraries" track-type="reference" track-name="authDocsLink">Authenticate for using client libraries</a>.</p> <h2 id="whats_next" data-text="What's next" tabindex="-1">What's next</h2> <ul> <li track-type="python" track-name="cloudPy" track-metadata-position="nextSteps">Learn more about <a href="/python">Python on Google Cloud</a>.</li> <li>Deploy a <a href="/run/docs/quickstarts/build-and-deploy/deploy-python-service">Python service to Cloud Run</a>.</li> <li>Understand <a href="/docs/authentication">Authentication methods at Google</a>.</li> <li>Browse the <a href="/products" track-type="python" track-name="cloudDocProd" track-metadata-position="nextSteps">documentation for Google Cloud products</a>.</li> </ul> </div> <devsite-hats-survey class="nocontent" hats-id="mwETRvWii0eU5NUYprb0Y9z5GVbc" listnr-id="83405"></devsite-hats-survey> </div> <devsite-thumb-rating position="footer"> </devsite-thumb-rating> <devsite-feedback position="footer" project-name="Python" product-id="1632431" bucket="python" context="" version="t-devsite-webserver-20250211-r00-rc00.466928320959134316" data-label="Send Feedback Button" track-type="feedback" track-name="sendFeedbackLink" track-metadata-position="footer" class="nocontent" project-icon="https://www.gstatic.com/devrel-devsite/prod/v38a693baeb774512feb42f10aac8f755d8791ed41119b5be7a531f8e16f8279f/cloud/images/favicons/onecloud/super_cloud.png" > <button> Send feedback </button> </devsite-feedback> <div class="devsite-floating-action-buttons"> </div> </article> <devsite-content-footer class="nocontent"> <p>Except as otherwise noted, the content of this page is licensed under the <a href="https://creativecommons.org/licenses/by/4.0/">Creative Commons Attribution 4.0 License</a>, and code samples are licensed under the <a href="https://www.apache.org/licenses/LICENSE-2.0">Apache 2.0 License</a>. For details, see the <a href="https://developers.google.com/site-policies">Google Developers Site Policies</a>. Java is a registered trademark of Oracle and/or its affiliates.</p> <p>Last updated 2025-02-14 UTC.</p> </devsite-content-footer> <devsite-notification > </devsite-notification> <div class="devsite-content-data"> <template class="devsite-thumb-rating-feedback"> <devsite-feedback position="thumb-rating" project-name="Python" product-id="1632431" bucket="python" context="" version="t-devsite-webserver-20250211-r00-rc00.466928320959134316" data-label="Send Feedback Button" track-type="feedback" track-name="sendFeedbackLink" track-metadata-position="thumb-rating" class="nocontent" project-icon="https://www.gstatic.com/devrel-devsite/prod/v38a693baeb774512feb42f10aac8f755d8791ed41119b5be7a531f8e16f8279f/cloud/images/favicons/onecloud/super_cloud.png" > <button> Need to tell us more? </button> </devsite-feedback> </template> <template class="devsite-content-data-template"> [[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Hard to understand","hardToUnderstand","thumb-down"],["Incorrect information or sample code","incorrectInformationOrSampleCode","thumb-down"],["Missing the information/samples I need","missingTheInformationSamplesINeed","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-02-14 UTC."],[],[]] </template> </div> </devsite-content> </main> <devsite-footer-promos class="devsite-footer"> </devsite-footer-promos> <devsite-footer-linkboxes class="devsite-footer"> <nav class="devsite-footer-linkboxes nocontent" aria-label="Footer links"> <ul class="devsite-footer-linkboxes-list"> <li class="devsite-footer-linkbox "> <h3 class="devsite-footer-linkbox-heading no-link">Why Google</h3> <ul class="devsite-footer-linkbox-list"> <li class="devsite-footer-linkbox-item"> <a href="/why-google-cloud/" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 1)" track-metadata-eventDetail="cloud.google.com/why-google-cloud/"track-metadata-position="footer"track-metadata-module="footer"track-type="footer link"track-name="choosing google cloud"track-metadata-child_headline="why google"> Choosing Google Cloud </a> </li> <li class="devsite-footer-linkbox-item"> <a href="/trust-center/" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 2)" track-metadata-module="footer"track-metadata-position="footer"track-name="trust and security"track-metadata-child_headline="why google"track-metadata-eventDetail="cloud.google.com/security/"track-type="footer link"> Trust and security </a> </li> <li class="devsite-footer-linkbox-item"> <a href="/solutions/modern-infrastructure/" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 3)" track-metadata-position="footer"track-name="modern infrastructure cloud"track-metadata-child_headline="why google"track-metadata-eventDetail="cloud.google.com/solutions/modern-infrastructure/"track-type="footer link"track-metadata-module="footer"> Modern Infrastructure Cloud </a> </li> <li class="devsite-footer-linkbox-item"> <a href="/multicloud/" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 4)" track-name="multicloud"track-metadata-position="footer"track-metadata-module="footer"track-metadata-eventDetail="cloud.google.com/multicloud/"track-type="footer link"track-metadata-child_headline="why google"> Multicloud </a> </li> <li class="devsite-footer-linkbox-item"> <a href="/infrastructure/" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 5)" track-name="global infrastructure"track-metadata-module="footer"track-metadata-position="footer"track-type="footer link"track-metadata-eventDetail="cloud.google.com/infrastructure/"track-metadata-child_headline="why google"> Global infrastructure </a> </li> <li class="devsite-footer-linkbox-item"> <a href="/customers/" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 6)" track-metadata-eventDetail="cloud.google.com/customers/"track-name="customers and case studies"track-type="footer link"track-metadata-module="footer"track-metadata-child_headline="why google"track-metadata-position="footer"> Customers and case studies </a> </li> <li class="devsite-footer-linkbox-item"> <a href="/analyst-reports/" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 7)" track-name="analyst reports"track-metadata-module="footer"track-metadata-eventDetail="cloud.google.com/analyst-reports/"track-type="footer link"track-metadata-child_headline="why google"track-metadata-position="footer"> Analyst reports </a> </li> <li class="devsite-footer-linkbox-item"> <a href="/whitepapers/" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 8)" track-metadata-child_headline="why google"track-metadata-module="footer"track-metadata-position="footer"track-metadata-eventDetail="cloud.google.com/whitepapers/"track-type="footer link"track-name="whitepapers"> Whitepapers </a> </li> <li class="devsite-footer-linkbox-item"> <a href="//cloud.google.com/blog/" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 9)" track-type="footer link"track-metadata-module="footer"track-metadata-child_headline="engage"track-metadata-position="footer"track-name="blog"track-metadata-eventDetail="cloud.google.com/blog/"> Blog </a> </li> </ul> </li> <li class="devsite-footer-linkbox "> <h3 class="devsite-footer-linkbox-heading no-link">Products and pricing</h3> <ul class="devsite-footer-linkbox-list"> <li class="devsite-footer-linkbox-item"> <a href="/pricing/" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 1)" track-type="footer link"track-metadata-position="footer"track-metadata-eventDetail="cloud.google.com/pricing/"track-name="google cloud pricing"track-metadata-module="footer"track-metadata-child_headline="products and pricing"> Google Cloud pricing </a> </li> <li class="devsite-footer-linkbox-item"> <a href="//workspace.google.com/pricing.html" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 2)" track-metadata-child_headline="products and pricing"track-metadata-position="footer"track-metadata-eventDetail="workspace.google.com/pricing.html"track-name="google workspace pricing"target="_blank"track-type="footer link"track-metadata-module="footer"> Google Workspace pricing </a> </li> <li class="devsite-footer-linkbox-item"> <a href="/products/" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 3)" track-name="see all products"track-metadata-child_headline="products and pricing"track-metadata-module="footer"track-type="footer link"track-metadata-position="footer"track-metadata-eventDetail="cloud.google.com/products/"> See all products </a> </li> </ul> </li> <li class="devsite-footer-linkbox "> <h3 class="devsite-footer-linkbox-heading no-link">Solutions</h3> <ul class="devsite-footer-linkbox-list"> <li class="devsite-footer-linkbox-item"> <a href="/solutions/infrastructure-modernization/" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 1)" track-name="infrastructure modernization"track-metadata-eventDetail="cloud.google.com/solutions/infrastructure-modernization/"track-type="footer link"track-metadata-child_headline="solutions"track-metadata-module="footer"track-metadata-position="footer"> Infrastructure modernization </a> </li> <li class="devsite-footer-linkbox-item"> <a href="/solutions/databases/" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 2)" track-metadata-child_headline="solutions"track-metadata-position="footer"track-name="databases"track-type="footer link"track-metadata-eventDetail="cloud.google.com/solutions/databases"track-metadata-module="footer"> Databases </a> </li> <li class="devsite-footer-linkbox-item"> <a href="/solutions/application-modernization/" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 3)" track-metadata-eventDetail="cloud.google.com/solutions/application-modernization/"track-type="footer link"track-metadata-position="footer"track-metadata-module="footer"track-name="application development"track-metadata-child_headline="solutions"> Application modernization </a> </li> <li class="devsite-footer-linkbox-item"> <a href="/solutions/smart-analytics/" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 4)" track-name="smart analytics"track-type="footer link"track-metadata-module="footer"track-metadata-position="footer"track-metadata-child_headline="solutions"track-metadata-eventDetail="cloud.google.com/solutions/smart-analytics/"> Smart analytics </a> </li> <li class="devsite-footer-linkbox-item"> <a href="/solutions/ai/" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 5)" track-metadata-child_headline="solutions"track-metadata-eventDetail="cloud.google.com/solutions/ai/"track-name="artificial intelligence"track-metadata-module="footer"track-type="footer link"track-metadata-position="footer"> Artificial Intelligence </a> </li> <li class="devsite-footer-linkbox-item"> <a href="/solutions/security/" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 6)" track-metadata-eventDetail="cloud.google.com/solutions/security/"track-metadata-child_headline="solutions"track-type="footer link"track-name="security"track-metadata-module="footer"track-metadata-position="footer"> Security </a> </li> <li class="devsite-footer-linkbox-item"> <a href="https://workspace.google.com/enterprise/" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 7)" track-metadata-position="footer"track-metadata-eventDetail="workspace.google.com/enterprise/"track-type="footer link"track-name="productivity and work transformation"track-metadata-child_headline="solutions"track-metadata-module="footer"target="_blank"> Productivity & work transformation </a> </li> <li class="devsite-footer-linkbox-item"> <a href="/solutions/#industry-solutions" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 8)" track-metadata-eventDetail="cloud.google.com/solutions/#industry-solutions"track-type="footer link"track-metadata-position="footer"track-metadata-module="footer"track-name="industry solutions"track-metadata-child_headline="solutions"> Industry solutions </a> </li> <li class="devsite-footer-linkbox-item"> <a href="/solutions/devops/" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 9)" track-type="footer link"track-name="devops solutions"track-metadata-position="footer"track-metadata-child_headline="solutions"track-metadata-module="footer"track-metadata-eventDetail="cloud.google.com/solutions/devops/"> DevOps solutions </a> </li> <li class="devsite-footer-linkbox-item"> <a href="/solutions/#section-14" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 10)" track-metadata-eventDetail="cloud.google.com/solutions/#section-14"track-name="small business solutions"track-type="footer link"track-metadata-child_headline="solutions"track-metadata-module="footer"track-metadata-position="footer"> Small business solutions </a> </li> <li class="devsite-footer-linkbox-item"> <a href="/solutions/" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 11)" track-metadata-child_headline="solutions"track-metadata-eventDetail="cloud.google.com/solutions/"track-name="see all solutions"track-type="footer link"track-metadata-module="footer"track-metadata-position="footer"> See all solutions </a> </li> </ul> </li> <li class="devsite-footer-linkbox "> <h3 class="devsite-footer-linkbox-heading no-link">Resources</h3> <ul class="devsite-footer-linkbox-list"> <li class="devsite-footer-linkbox-item"> <a href="/affiliate-program/" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 1)" track-type="footer link"track-metadata-eventDetail="cloud.google.com/affiliate-program/"track-metadata-child_headline="resources"track-metadata-module="footer"track-name="google cloud affiliate program"track-metadata-position="footer"> Google Cloud Affiliate Program </a> </li> <li class="devsite-footer-linkbox-item"> <a href="/docs/" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 2)" track-name="google cloud documentation"track-metadata-position="footer"track-metadata-child_headline="resources"track-metadata-module="footer"track-type="footer link"track-metadata-eventDetail="cloud.google.com/docs/"> Google Cloud documentation </a> </li> <li class="devsite-footer-linkbox-item"> <a href="/docs/get-started/" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 3)" track-metadata-eventDetail="cloud.google.com/docs/get-started/"track-metadata-child_headline="resources"track-type="footer link"track-name="google cloud quickstarts"track-metadata-module="footer"track-metadata-position="footer"> Google Cloud quickstarts </a> </li> <li class="devsite-footer-linkbox-item"> <a href="/marketplace/" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 4)" track-metadata-position="footer"track-name="google cloud marketplace"track-metadata-child_headline="resources"track-metadata-module="footer"track-metadata-eventDetail="cloud.google.com/marketplace/"track-type="footer link"> Google Cloud Marketplace </a> </li> <li class="devsite-footer-linkbox-item"> <a href="/discover/" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 5)" track-metadata-eventDetail="learn/"track-type="footer link"track-metadata-position="footer"track-name="learn about cloud computing"track-metadata-child_headline="resources"track-metadata-module="footer"> Learn about cloud computing </a> </li> <li class="devsite-footer-linkbox-item"> <a href="/support-hub/" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 6)" track-type="footer link"track-metadata-eventDetail="cloud.google.com/support-hub/"track-metadata-child_headline="resources"track-name="support"track-metadata-position="footer"track-metadata-module="footer"> Support </a> </li> <li class="devsite-footer-linkbox-item"> <a href="/docs/samples" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 7)" track-name="code samples"track-metadata-child_headline="resources"track-metadata-eventDetail="cloud.google.com/docs/samples"track-metadata-module="footer"track-type="footer link"track-metadata-position="footer"> Code samples </a> </li> <li class="devsite-footer-linkbox-item"> <a href="/architecture/" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 8)" track-name="cloud architecture center"track-metadata-position="footer"track-type="footer link"track-metadata-eventDetail="cloud.google.com/architecture/"track-metadata-child_headline="resources"track-metadata-module="footer"> Cloud Architecture Center </a> </li> <li class="devsite-footer-linkbox-item"> <a href="/learn/training/" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 9)" track-name="training"track-metadata-child_headline="resources"track-metadata-eventDetail="cloud.google.com/training/"track-metadata-position="footer"track-type="footer link"track-metadata-module="footer"> Training </a> </li> <li class="devsite-footer-linkbox-item"> <a href="/learn/certification/" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 10)" track-metadata-child_headline="resources"track-metadata-module="footer"track-metadata-eventDetail="cloud.google.com/certification"track-type="footer link"track-metadata-position="footer"track-name="certifications"> Certifications </a> </li> <li class="devsite-footer-linkbox-item"> <a href="//developers.google.com" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 11)" track-metadata-child_headline="resources"track-metadata-eventDetail="developers.google.com"track-type="footer link"track-metadata-position="footer"track-metadata-module="footer"target="_blank"track-name="google developers"> Google for Developers </a> </li> <li class="devsite-footer-linkbox-item"> <a href="/startup/" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 12)" track-metadata-child_headline="resources"track-name="google cloud for startups"track-type="footer link"track-metadata-module="footer"track-metadata-eventDetail="cloud.google.com/startup/"track-metadata-position="footer"> Google Cloud for Startups </a> </li> <li class="devsite-footer-linkbox-item"> <a href="//status.cloud.google.com" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 13)" track-metadata-position="footer"track-type="footer link"track-name="system status"target="_blank"track-metadata-child_headline="resources"track-metadata-eventDetail="status.cloud.google.com"track-metadata-module="footer"> System status </a> </li> <li class="devsite-footer-linkbox-item"> <a href="/release-notes" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 14)" track-metadata-position="footer"track-name="release notes"track-metadata-eventDetail="cloud.google.com/release-notes/"track-metadata-child_headline="resources"track-type="footer link"track-metadata-module="footer"> Release Notes </a> </li> </ul> </li> <li class="devsite-footer-linkbox "> <h3 class="devsite-footer-linkbox-heading no-link">Engage</h3> <ul class="devsite-footer-linkbox-list"> <li class="devsite-footer-linkbox-item"> <a href="/contact/" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 1)" track-metadata-position="footer"track-metadata-module="footer"track-metadata-eventDetail="cloud.google.com/contact/"track-type="footer link"track-name="contact sales"track-metadata-child_headline="engage"> Contact sales </a> </li> <li class="devsite-footer-linkbox-item"> <a href="//cloud.google.com/find-a-partner" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 2)" track-name="find a partner"track-metadata-eventDetail="cloud.google.com/find-a-partner"track-metadata-module="footer"track-type="footer link"track-metadata-position="footer"target="_blank"track-metadata-child_headline="engage"> Find a Partner </a> </li> <li class="devsite-footer-linkbox-item"> <a href="/partners/become-a-partner/" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 3)" track-metadata-child_headline="engage"track-metadata-eventDetail="cloud.google.com/partners/become-a-partner/"track-type="footer link"track-metadata-module="footer"track-metadata-position="footer"track-name="become a partner"> Become a Partner </a> </li> <li class="devsite-footer-linkbox-item"> <a href="/events/" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 4)" track-metadata-position="footer"track-name="events"track-metadata-child_headline="engage"track-metadata-module="footer"track-metadata-eventDetail="cloud.withgoogle.com/events"track-type="footer link"> Events </a> </li> <li class="devsite-footer-linkbox-item"> <a href="/podcasts/" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 5)" track-metadata-module="footer"target="_blank"track-metadata-position="footer"track-name="podcasts"track-metadata-child_headline="engage"track-metadata-eventDetail="cloud.google.com/podcasts/"rel="noopener"track-type="footer link"> Podcasts </a> </li> <li class="devsite-footer-linkbox-item"> <a href="/developers/" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 6)" track-name="developer center"track-metadata-position="footer"track-metadata-eventDetail="cloud.google.com/developers/"track-metadata-child_headline="engage"track-type="footer link"track-metadata-module="footer"> Developer Center </a> </li> <li class="devsite-footer-linkbox-item"> <a href="https://www.googlecloudpresscorner.com/" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 7)" target="_blank"track-metadata-module="footer"track-metadata-position="footer"track-name="press corner"rel="noopener"track-metadata-eventDetail="www.googlecloudpresscorner.com"track-metadata-child_headline="engage"track-type="footer link"> Press Corner </a> </li> <li class="devsite-footer-linkbox-item"> <a href="//www.youtube.com/googlecloud" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 8)" track-type="footer link"track-metadata-eventDetail="www.youtube.com/googlecloud"track-name="google cloud on youtube"track-metadata-position="footer"track-metadata-module="footer"target="_blank"track-metadata-child_headline="engage"rel="noopener"> Google Cloud on YouTube </a> </li> <li class="devsite-footer-linkbox-item"> <a href="//www.youtube.com/googlecloudplatform" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 9)" track-metadata-eventDetail="www.youtube.com/googlecloudplatform"track-type="footer link"track-metadata-position="footer"target="_blank"track-name="google cloud tech on youtube"track-metadata-child_headline="engage"rel="noopener"track-metadata-module="footer"> Google Cloud Tech on YouTube </a> </li> <li class="devsite-footer-linkbox-item"> <a href="//x.com/googlecloud" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 10)" target="_blank"track-metadata-child_headline="engage"track-metadata-eventDetail="x.com/googlecloud"rel="noopener"track-name="follow on x"track-type="footer link"track-metadata-module="footer"track-metadata-position="footer"> Follow on X </a> </li> <li class="devsite-footer-linkbox-item"> <a href="//userresearch.google.com/?reserved=1&utm_source=website&Q_Language=en&utm_medium=own_srch&utm_campaign=CloudWebFooter&utm_term=0&utm_content=0&productTag=clou&campaignDate=jul19&pType=devel&referral_code=jk212693" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 11)" track-metadata-eventDetail="userresearch.google.com/?reserved=1&utm_source=website&Q_Language=en&utm_medium=own_srch&utm_campaign=CloudWebFooter&utm_term=0&utm_content=0&productTag=clou&campaignDate=jul19&pType=devel&referral_code=jk212693"track-metadata-child_headline="engage"track-type="footer link"track-name="join user research"track-metadata-position="footer"track-metadata-module="footer"target="_blank"> Join User Research </a> </li> <li class="devsite-footer-linkbox-item"> <a href="//careers.google.com/cloud" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 12)" target="_blank"track-name="we are hiring join google cloud"track-metadata-module="footer"track-metadata-position="footer"track-type="footer link"track-metadata-eventDetail="careers.google.com/cloud"track-metadata-child_headline="engage"> We're hiring. Join Google Cloud! </a> </li> <li class="devsite-footer-linkbox-item"> <a href="https://www.googlecloudcommunity.com/" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 13)" track-name="google cloud community"track-metadata-eventDetail="www.googlecloudcommunity.com"rel="noopener"track-type="footer link"track-metadata-child_headline="engage"target="_blank"track-metadata-position="footer"track-metadata-module="footer"> Google Cloud Community </a> </li> </ul> </li> </ul> </nav> </devsite-footer-linkboxes> <devsite-footer-utility class="devsite-footer"> <div class="devsite-footer-utility nocontent"> <nav class="devsite-footer-utility-links" aria-label="Utility links"> <ul class="devsite-footer-utility-list"> <li class="devsite-footer-utility-item "> <a class="devsite-footer-utility-link gc-analytics-event" href="//about.google/" data-category="Site-Wide Custom Events" data-label="Footer About Google link" track-metadata-eventDetail="//about.google/" track-type="footer link" track-metadata-module="utility footer" track-metadata-position="footer" target="_blank" track-name="about google" > About Google </a> </li> <li class="devsite-footer-utility-item devsite-footer-privacy-link"> <a class="devsite-footer-utility-link gc-analytics-event" href="//policies.google.com/privacy" data-category="Site-Wide Custom Events" data-label="Footer Privacy link" track-type="footer link" track-metadata-position="footer" track-name="privacy" target="_blank" track-metadata-eventDetail="//policies.google.com/privacy" track-metadata-module="utility footer" > Privacy </a> </li> <li class="devsite-footer-utility-item "> <a class="devsite-footer-utility-link gc-analytics-event" href="//www.google.com/intl/en/policies/terms/regional.html" data-category="Site-Wide Custom Events" data-label="Footer Site terms link" track-metadata-position="footer" target="_blank" track-metadata-eventDetail="//www.google.com/intl/en/policies/terms/regional.html" track-name="site terms" track-metadata-module="utility footer" track-type="footer link" > Site terms </a> </li> <li class="devsite-footer-utility-item "> <a class="devsite-footer-utility-link gc-analytics-event" href="/product-terms/" data-category="Site-Wide Custom Events" data-label="Footer Google Cloud terms link" track-metadata-eventDetail="/product-terms/" track-name="google cloud terms" track-type="footer link" track-metadata-module="utility footer" track-metadata-position="footer" > Google Cloud terms </a> </li> <li class="devsite-footer-utility-item glue-cookie-notification-bar-control"> <a class="devsite-footer-utility-link gc-analytics-event" href="#" data-category="Site-Wide Custom Events" data-label="Footer Manage cookies link" aria-hidden="true" track-metadata-eventDetail="#" track-type="footer link" track-name="Manage cookies" track-metadata-module="utility footer" track-metadata-position="footer" > Manage cookies </a> </li> <li class="devsite-footer-utility-item devsite-footer-carbon-button"> <a class="devsite-footer-utility-link gc-analytics-event" href="/sustainability" data-category="Site-Wide Custom Events" data-label="Footer Our third decade of climate action: join us link" track-metadata-eventDetail="/sustainability/" track-metadata-module="utility footer" track-type="footer link" track-metadata-position="footer" track-name="Our third decade of climate action: join us" > Our third decade of climate action: join us </a> </li> <li class="devsite-footer-utility-item devsite-footer-utility-button"> <span class="devsite-footer-utility-description">Sign up for the Google Cloud newsletter</span> <a class="devsite-footer-utility-link gc-analytics-event" href="/newsletter/" data-category="Site-Wide Custom Events" data-label="Footer Subscribe link" track-metadata-eventDetail="/newsletter/" track-name="subscribe" track-type="footer link" track-metadata-module="utility footer" track-metadata-position="footer" > Subscribe </a> </li> </ul> <devsite-language-selector> <ul role="presentation"> <li role="presentation"> <a role="menuitem" lang="en" >English</a> </li> <li role="presentation"> <a role="menuitem" lang="de" >Deutsch</a> </li> <li role="presentation"> <a role="menuitem" lang="es_419" >Español – América Latina</a> </li> <li role="presentation"> <a role="menuitem" lang="fr" >Français</a> </li> <li role="presentation"> <a role="menuitem" lang="pt_br" >Português – Brasil</a> </li> <li role="presentation"> <a role="menuitem" lang="zh_cn" >中文 – 简体</a> </li> <li role="presentation"> <a role="menuitem" lang="ja" >日本語</a> </li> <li role="presentation"> <a role="menuitem" lang="ko" >한국어</a> </li> </ul> </devsite-language-selector> </nav> </div> </devsite-footer-utility> <devsite-panel></devsite-panel> </section></section> <devsite-sitemask></devsite-sitemask> <devsite-snackbar></devsite-snackbar> <devsite-tooltip ></devsite-tooltip> <devsite-heading-link></devsite-heading-link> <devsite-analytics> <script type="application/json" analytics>[]</script> <script type="application/json" tag-management>{"at": "True", "ga4": [], "ga4p": [], "gtm": [{"id": "GTM-5CVQBG", "purpose": 1}], "parameters": {"internalUser": "False", "language": {"machineTranslated": "False", "requested": "en", "served": "en"}, "pageType": "article", "projectName": "Python", "signedIn": "False", "tenant": "cloud", "recommendations": {"sourcePage": "", "sourceType": 0, "sourceRank": 0, "sourceIdenticalDescriptions": 0, "sourceTitleWords": 0, "sourceDescriptionWords": 0, "experiment": ""}, "experiment": {"ids": ""}}}</script> </devsite-analytics> <devsite-badger></devsite-badger> <cloudx-user></cloudx-user> <cloudx-free-trial-eligible-store freeTrialEligible='true'></cloudx-free-trial-eligible-store> <cloudx-pricing-socket></cloudx-pricing-socket> <cloudx-experiments type="TestAACodivertedExperiment" path="/virtual/TestAACodivertedExperiment/configureExperiment" location="SG" variant="variant2" ></cloudx-experiments> <cloudx-experiment-ids userCountry="SG" devsiteExperimentIdList="[39300012, 39300020, 39300118, 39300195, 39300241, 39300319, 39300320, 39300326, 39300345, 39300354, 39300364, 39300373, 39300412, 39300421, 39300436, 39300472, 39300488, 39300496, 39300498, 39300570]"> </cloudx-experiment-ids> <script nonce="OGEJxCK2XvOsOMHVzOVlG3qY2nEn3Z"> (function(d,e,v,s,i,t,E){d['GoogleDevelopersObject']=i; t=e.createElement(v);t.async=1;t.src=s;E=e.getElementsByTagName(v)[0]; E.parentNode.insertBefore(t,E);})(window, document, 'script', 'https://www.gstatic.com/devrel-devsite/prod/v38a693baeb774512feb42f10aac8f755d8791ed41119b5be7a531f8e16f8279f/cloud/js/app_loader.js', '[2,"en",null,"/js/devsite_app_module.js","https://www.gstatic.com/devrel-devsite/prod/v38a693baeb774512feb42f10aac8f755d8791ed41119b5be7a531f8e16f8279f","https://www.gstatic.com/devrel-devsite/prod/v38a693baeb774512feb42f10aac8f755d8791ed41119b5be7a531f8e16f8279f/cloud","https://cloud-dot-devsite-v2-prod.appspot.com",null,null,["/_pwa/cloud/manifest.json","https://www.gstatic.com/devrel-devsite/prod/v38a693baeb774512feb42f10aac8f755d8791ed41119b5be7a531f8e16f8279f/images/video-placeholder.svg","https://www.gstatic.com/devrel-devsite/prod/v38a693baeb774512feb42f10aac8f755d8791ed41119b5be7a531f8e16f8279f/cloud/images/favicons/onecloud/favicon.ico","https://www.gstatic.com/devrel-devsite/prod/v38a693baeb774512feb42f10aac8f755d8791ed41119b5be7a531f8e16f8279f/cloud/images/cloud-logo.svg","https://fonts.googleapis.com/css?family=Google+Sans:400,500,700|Google+Sans+Text:400,400italic,500,500italic,700,700italic|Roboto:400,400italic,500,500italic,700,700italic|Roboto+Mono:400,500,700&display=swap"],1,null,[1,6,8,12,14,17,21,25,50,52,63,70,75,76,80,87,91,92,93,97,98,100,101,102,103,104,105,107,108,109,110,112,113,116,117,118,120,122,124,125,126,127,129,130,131,132,133,134,135,136,138,140,141,147,148,149,151,152,156,157,158,159,161,163,164,168,169,170,179,180,182,183,186,191,193,196],"AIzaSyAP-jjEJBzmIyKR4F-3XITp8yM9T1gEEI8","AIzaSyB6xiKGDR5O3Ak2okS4rLkauxGUG7XP0hg","cloud.google.com","AIzaSyAQk0fBONSGUqCNznf6Krs82Ap1-NV6J4o","AIzaSyCCxcqdrZ_7QMeLCRY20bh_SXdAYqy70KY",null,null,null,["MiscFeatureFlags__enable_variable_operator","Profiles__enable_completecodelab_endpoint","MiscFeatureFlags__developers_footer_dark_image","Cloud__enable_cloud_shell_fte_user_flow","Profiles__enable_awarding_url","Cloud__enable_cloud_shell","Search__scope_to_project_tenant","MiscFeatureFlags__enable_explain_this_code","DevPro__enable_developer_subscriptions","CloudShell__cloud_code_overflow_menu","Profiles__enable_completequiz_endpoint","Search__enable_page_map","Profiles__enable_profile_collections","Search__enable_ai_eligibility_checks","Cloud__enable_legacy_calculator_redirect","Search__enable_ai_search_summaries_restricted","Cloud__enable_cloudx_experiment_ids","Cloud__enable_free_trial_server_call","Cloud__enable_cloud_facet_chat","DevPro__enable_cloud_innovators_plus","Experiments__reqs_query_experiments","MiscFeatureFlags__enable_view_transitions","CloudShell__cloud_shell_button","Cloud__enable_llm_concierge_chat","Profiles__enable_stripe_subscription_management","Profiles__enable_dashboard_curated_recommendations","Profiles__require_profile_eligibility_for_signin","MiscFeatureFlags__emergency_css","Analytics__enable_clearcut_logging","Search__enable_suggestions_from_borg","Concierge__enable_concierge_restricted","Profiles__enable_public_developer_profiles","Profiles__enable_join_program_group_endpoint","EngEduTelemetry__enable_engedu_telemetry","MiscFeatureFlags__developers_footer_image","Profiles__enable_release_notes_notifications","BookNav__enable_tenant_cache_key","Search__enable_dynamic_content_confidential_banner","TpcFeatures__enable_unmirrored_page_left_nav","MiscFeatureFlags__enable_project_variables","Concierge__enable_pushui","Profiles__enable_developer_profiles_callout","Profiles__enable_complete_playlist_endpoint","Profiles__enable_page_saving","Cloud__enable_cloudx_ping","Profiles__enable_recognition_badges","Cloud__enable_cloud_dlp_service","TpcFeatures__enable_mirror_tenant_redirects","MiscFeatureFlags__enable_firebase_utm","Search__enable_ai_search_summaries"],null,null,"AIzaSyBLEMok-5suZ67qRPzx0qUtbnLmyT_kCVE","https://developerscontentserving-pa.clients6.google.com","AIzaSyCM4QpTRSqP5qI4Dvjt4OAScIN8sOUlO-k","https://developerscontentsearch-pa.clients6.google.com",1,4,1,"https://developerprofiles-pa.clients6.google.com",[2,"cloud","Google Cloud","cloud.google.com",null,"cloud-dot-devsite-v2-prod.appspot.com",null,null,[1,1,null,null,null,null,null,null,null,null,null,[1],null,null,null,null,null,1,[1],[null,null,null,[1,20],"/terms/recommendations"],[1],null,[1],[1,null,1],[1,1,null,null,1,null,["/vertex-ai/"]]],null,[22,null,null,null,null,null,"/images/cloud-logo.svg","/images/favicons/onecloud/apple-icon.png",null,null,null,null,1,1,1,[6,5],[],null,null,[[],[],[],[],[],[],[],[]],null,1,null,null,null,null,[]],[],null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,[6,1,14,15,22,23,29,37],null,[[null,null,null,null,null,null,[1,[["docType","Choose a content type",[["ApiReference",null,null,null,null,null,null,null,null,"API reference"],["Sample",null,null,null,null,null,null,null,null,"Code sample"],["ReferenceArchitecture",null,null,null,null,null,null,null,null,"Reference architecture"],["Tutorial",null,null,null,null,null,null,null,null,"Tutorial"]]],["category","Choose a topic",[["AiAndMachineLearning",null,null,null,null,null,null,null,null,"Artificial intelligence and machine learning (AI/ML)"],["ApplicationDevelopment",null,null,null,null,null,null,null,null,"Application development"],["BigDataAndAnalytics",null,null,null,null,null,null,null,null,"Big data and analytics"],["Compute",null,null,null,null,null,null,null,null,"Compute"],["Containers",null,null,null,null,null,null,null,null,"Containers"],["Databases",null,null,null,null,null,null,null,null,"Databases"],["HybridCloud",null,null,null,null,null,null,null,null,"Hybrid and multicloud"],["LoggingAndMonitoring",null,null,null,null,null,null,null,null,"Logging and monitoring"],["Migrations",null,null,null,null,null,null,null,null,"Migrations"],["Networking",null,null,null,null,null,null,null,null,"Networking"],["SecurityAndCompliance",null,null,null,null,null,null,null,null,"Security and compliance"],["Serverless",null,null,null,null,null,null,null,null,"Serverless"],["Storage",null,null,null,null,null,null,null,null,"Storage"]]]]]],[1],null,1],[[null,null,null,null,null,["GTM-5CVQBG"],null,null,null,null,null,[["GTM-5CVQBG",2]],1],null,null,null,null,null,1],"mwETRvWii0eU5NUYprb0Y9z5GVbc",4,null,null,null,null,null,null,null,null,null,null,null,null,null,"cloud.devsite.google"],null,"pk_live_5170syrHvgGVmSx9sBrnWtA5luvk9BwnVcvIi7HizpwauFG96WedXsuXh790rtij9AmGllqPtMLfhe2RSwD6Pn38V00uBCydV4m",1]') </script> <devsite-a11y-announce></devsite-a11y-announce> </body> </html>