{"id":76061,"date":"2017-03-14T08:22:17","date_gmt":"2017-03-14T08:22:17","guid":{"rendered":"http:\/\/www.esri.com\/arcgis-blog\/products\/product\/uncategorized\/updating-your-hosted-feature-services-with-arcgis-pro-and-the-arcgis-api-for-python\/"},"modified":"2018-05-14T18:53:28","modified_gmt":"2018-05-14T18:53:28","slug":"updating-your-hosted-feature-services-with-arcgis-pro-and-the-arcgis-api-for-python","status":"publish","type":"blog","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/analytics\/analytics\/updating-your-hosted-feature-services-with-arcgis-pro-and-the-arcgis-api-for-python","title":{"rendered":"Updating your hosted feature services with ArcGIS Pro and the ArcGIS API for Python"},"author":4031,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","format":"standard","meta":{"_acf_changed":false,"_searchwp_excluded":""},"categories":[23341],"tags":[24341,23391],"industry":[],"product":[36841,36551,36561],"class_list":["post-76061","blog","type-blog","status-publish","format-standard","hentry","category-analytics","tag-python","tag-spatial-analytics","product-api-python","product-arcgis-online","product-arcgis-pro"],"acf":{"short_description":"Many organizations share public maps on ArcGIS online and have defined a process to update and synchronize the feature layers from their ...","flexible_content":[{"acf_fc_layout":"content","content":"<p>Many organizations share public maps on ArcGIS online and have defined a process to update and synchronize the feature layers from their local data. One method is well defined using ArcMap; you select the option to overwrite the hosted feature layers when publishing your updates back to ArcGIS online.\u00a0In\u00a0<a href=\"http:\/\/blogs.esri.com\/esri\/arcgis\/2013\/04\/23\/updating-arcgis-com-hosted-feature-services-with-python\/\">2013<\/a>\u00a0and\u00a0<a href=\"https:\/\/blogs.esri.com\/esri\/arcgis\/2014\/01\/24\/updating-your-hosted-feature-service-for-10-2\/\">2014<\/a>\u00a0we explained how you could update your hosted feature services automatically, at a prescribed time, using Python. In the spirit of this incredibly popular workflow to schedule updates, this blog will provide simpler Python code to update services using ArcGIS Pro 1.4 and the new\u00a0<a href=\"https:\/\/developers.arcgis.com\/python\/\">ArcGIS API for Python<\/a>.<\/p>\n<p><!--more--><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-73806 alignright\" style=\"font-size: 16px;\" src=\"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2017\/02\/publishWebMap.png\" alt=\"Publish web map from ArcGIS Pro\" width=\"178\" height=\"68\" \/><\/p>\n<p>This post assumes you\u2019ve already shared a web map from ArcGIS Pro to ArcGIS online. You\u2019ll need to make note of the user name and password of the publisher account, the service name as well as the original project file (.aprx). When publishing a web map from ArcGIS Pro, the underlying feature layers may have <em>_WFL1<\/em> appended to the name to ensure they are unique within organization. Investigate your hosted content and be certain of the service definition (.sd) and feature layer names before proceeding.<\/p>\n<div>\n<p>The first step is to install the ArcGIS API for Python; from within ArcGIS Pro, find and add the\u00a0<strong>arcgis<\/strong> package using the <a href=\"http:\/\/pro.arcgis.com\/en\/pro-app\/arcpy\/get-started\/what-is-conda.htm#ESRI_SECTION1_175473E6EB0D46E0B195996EAE768C1D\">Python Package Manager<\/a>. Alternatively, open a Python command prompt from: <strong>Start<\/strong> &gt; <strong>ArcGIS<\/strong> &gt; <strong>ArcGIS Pro<\/strong> &gt; <strong>Python Command Prompt <\/strong>and<strong>\u00a0<\/strong>use the following command, agreeing to update packages (if necessary):<\/p>\n<blockquote><p><em>\u00a0<\/em>conda install -c esri arcgis<\/p><\/blockquote>\n<p>After installing the ArcGIS Python API you need to define the steps of your update process. Typically, this will involve one or more authors working on the local datasets that were shared to ArcGIS online. The source documents and data will be used to create a service definition (.sd) file using Python. At a prescribed time, perhaps every night at midnight, the local .sd file with your new data will be uploaded to ArcGIS online where it will be used to replace the hosted service.<\/p>\n<p style=\"text-align: center;\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-73808\" src=\"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2017\/02\/UpdateWebMap2.png\" alt=\"Process of updating a web map\" width=\"358\" height=\"78\" \/><\/p>\n<p>Copy the following code and save it locally as a Python file (updatewebmap.py). This code creates the .sd file and upload\/publishes it on ArcGIS online. A number of variables will need to be set within the script; the path to the project, service name username, password, metadata and sharing options when you create the file.<\/p>\n<p>[sourcecode language=&#8221;python&#8221;]<br \/>\nimport arcpy<br \/>\nimport os, sys<br \/>\nfrom arcgis.gis import GIS<\/p>\n<p>### Start setting variables<br \/>\n# Set the path to the project<br \/>\nprjPath = r&#8221;C:PROJECTSNightlyUpdatesNightlyUpdates.aprx&#8221;<\/p>\n<p># Update the following variables to match:<br \/>\n# Feature service\/SD name in arcgis.com, user\/password of the owner account<br \/>\nsd_fs_name = &#8220;MyPublicMap&#8221;<br \/>\nportal = &#8220;http:\/\/www.arcgis.com&#8221; # Can also reference a local portal<br \/>\nuser = &#8220;UserName&#8221;<br \/>\npassword = &#8220;p@sswOrd&#8221;<\/p>\n<p># Set sharing options<br \/>\nshrOrg = True<br \/>\nshrEveryone = False<br \/>\nshrGroups = &#8220;&#8221;<\/p>\n<p>### End setting variables<\/p>\n<p># Local paths to create temporary content<br \/>\nrelPath = sys.path[0]<br \/>\nsddraft = os.path.join(relPath, &#8220;WebUpdate.sddraft&#8221;)<br \/>\nsd = os.path.join(relPath, &#8220;WebUpdate.sd&#8221;)<\/p>\n<p># Create a new SDDraft and stage to SD<br \/>\nprint(&#8220;Creating SD file&#8221;)<br \/>\narcpy.env.overwriteOutput = True<br \/>\nprj = arcpy.mp.ArcGISProject(prjPath)<br \/>\nmp = prj.listMaps()[0]<br \/>\narcpy.mp.CreateWebLayerSDDraft(mp, sddraft, sd_fs_name, &#8216;MY_HOSTED_SERVICES&#8217;, &#8216;FEATURE_ACCESS&#8217;,&#8221;, True, True)<br \/>\narcpy.StageService_server(sddraft, sd)<\/p>\n<p>print(&#8220;Connecting to {}&#8221;.format(portal))<br \/>\ngis = GIS(portal, user, password)<\/p>\n<p># Find the SD, update it, publish \/w overwrite and set sharing and metadata<br \/>\nprint(&#8220;Search for original SD on portal&#8230;&#8221;)<br \/>\nsdItem = gis.content.search(&#8220;{} AND owner:{}&#8221;.format(sd_fs_name, user), item_type=&#8221;Service Definition&#8221;)[0]<br \/>\nprint(&#8220;Found SD: {}, ID: {} n Uploading and overwriting&#8230;&#8221;.format(sdItem.title, sdItem.id))<br \/>\nsdItem.update(data=sd)<br \/>\nprint(&#8220;Overwriting existing feature service&#8230;&#8221;)<br \/>\nfs = sdItem.publish(overwrite=True)<\/p>\n<p>if shrOrg or shrEveryone or shrGroups:<br \/>\nprint(&#8220;Setting sharing options&#8230;&#8221;)<br \/>\nfs.share(org=shrOrg, everyone=shrEveryone, groups=shrGroups)<\/p>\n<p>print(&#8220;Finished updating: {} &#8211; ID: {}&#8221;.format(fs.title, fs.id))<br \/>\n[\/sourcecode]<\/p>\n<p>You can run the code from command line with the following command.<\/p>\n<blockquote><p>C:Program FilesArcGISProbinPythonenvsarcgispro-py3python.exe c:mycodeupdatewebmap.py<\/p><\/blockquote>\n<p>Once you\u2019re sure the script has properly updated your hosted feature service, you can use the command in a scheduled task. <a href=\"https:\/\/blogs.esri.com\/esri\/arcgis\/2013\/07\/30\/scheduling-a-scrip\/\">This blog has more information<\/a> about creating a scheduled task.<\/p>\n<p>Important Notes:<\/p>\n<\/div>\n<ul>\n<li>The Python script needs to be run on a machine with a valid ArcGIS Pro license. The script uses arcpy to create and stage the data to be published.<\/li>\n<li>The Python script assumes the first map found within a project will be the one to publish. If you\u2019re working in a project with more than one map, update the Python code or create a new project with only the map you wish to share.<\/li>\n<li>The associated service definition (.sd) file must exist on ArcGIS online, along with the hosted feature layers and web map. If either of these items are missing, you\u2019ll need to publish a web map from ArcGIS Pro independent of this script before implementing the update workflow.<\/li>\n<\/ul>\n<p>The ArcGIS API for Python provides many options and settings for working with your hosted content. Explore the options on <a href=\"https:\/\/esri.github.io\/arcgis-python-api\/apidoc\/html\/arcgis.gis.toc.html#arcgis.gis.Item.publish\" target=\"_blank\" rel=\"noopener\">publish<\/a> and <a href=\"https:\/\/esri.github.io\/arcgis-python-api\/apidoc\/html\/arcgis.gis.toc.html?highlight=content#arcgis.gis.GIS.content\" target=\"_blank\" rel=\"noopener\">content<\/a> for more fine grain control on your update process.<\/p>\n"}],"authors":[{"ID":4031,"user_firstname":"Kevin","user_lastname":"Hibma","nickname":"Kevin Hibma","user_nicename":"khibma","display_name":"Kevin Hibma","user_email":"khibma@esri.com","user_url":"","user_registered":"2018-03-02 00:15:39","user_description":"Kevin Hibma has almost two decades of experience building Esri software and works as a product engineer on the ArcGIS Enterprise team.","user_avatar":"<img data-del=\"avatar\" src='https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2024\/07\/kevinhibmaBlog300-213x200.jpg' class='avatar pp-user-avatar avatar-96 photo ' height='96' width='96'\/>"}],"related_articles":"","card_image":false,"wide_image":false},"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v25.9 (Yoast SEO v25.9) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Updating your hosted feature services with ArcGIS Pro and the ArcGIS API for Python<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.esri.com\/arcgis-blog\/products\/analytics\/analytics\/updating-your-hosted-feature-services-with-arcgis-pro-and-the-arcgis-api-for-python\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Updating your hosted feature services with ArcGIS Pro and the ArcGIS API for Python\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.esri.com\/arcgis-blog\/products\/analytics\/analytics\/updating-your-hosted-feature-services-with-arcgis-pro-and-the-arcgis-api-for-python\" \/>\n<meta property=\"og:site_name\" content=\"ArcGIS Blog\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/esrigis\/\" \/>\n<meta property=\"article:modified_time\" content=\"2018-05-14T18:53:28+00:00\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:site\" content=\"@ESRI\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":[\"Article\",\"BlogPosting\"],\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/analytics\/analytics\/updating-your-hosted-feature-services-with-arcgis-pro-and-the-arcgis-api-for-python#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/analytics\/analytics\/updating-your-hosted-feature-services-with-arcgis-pro-and-the-arcgis-api-for-python\"},\"author\":{\"name\":\"Kevin Hibma\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/person\/e7c86c9932f187db7ea7c20449e7bf64\"},\"headline\":\"Updating your hosted feature services with ArcGIS Pro and the ArcGIS API for Python\",\"datePublished\":\"2017-03-14T08:22:17+00:00\",\"dateModified\":\"2018-05-14T18:53:28+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/analytics\/analytics\/updating-your-hosted-feature-services-with-arcgis-pro-and-the-arcgis-api-for-python\"},\"wordCount\":14,\"publisher\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#organization\"},\"keywords\":[\"python\",\"spatial analytics\"],\"articleSection\":[\"Analytics\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/analytics\/analytics\/updating-your-hosted-feature-services-with-arcgis-pro-and-the-arcgis-api-for-python\",\"url\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/analytics\/analytics\/updating-your-hosted-feature-services-with-arcgis-pro-and-the-arcgis-api-for-python\",\"name\":\"Updating your hosted feature services with ArcGIS Pro and the ArcGIS API for Python\",\"isPartOf\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#website\"},\"datePublished\":\"2017-03-14T08:22:17+00:00\",\"dateModified\":\"2018-05-14T18:53:28+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/analytics\/analytics\/updating-your-hosted-feature-services-with-arcgis-pro-and-the-arcgis-api-for-python#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.esri.com\/arcgis-blog\/products\/analytics\/analytics\/updating-your-hosted-feature-services-with-arcgis-pro-and-the-arcgis-api-for-python\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/analytics\/analytics\/updating-your-hosted-feature-services-with-arcgis-pro-and-the-arcgis-api-for-python#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.esri.com\/arcgis-blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Updating your hosted feature services with ArcGIS Pro and the ArcGIS API for Python\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#website\",\"url\":\"https:\/\/www.esri.com\/arcgis-blog\/\",\"name\":\"ArcGIS Blog\",\"description\":\"Get insider info from Esri product teams\",\"publisher\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.esri.com\/arcgis-blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#organization\",\"name\":\"Esri\",\"url\":\"https:\/\/www.esri.com\/arcgis-blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/04\/Esri.png\",\"contentUrl\":\"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/04\/Esri.png\",\"width\":400,\"height\":400,\"caption\":\"Esri\"},\"image\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/esrigis\/\",\"https:\/\/x.com\/ESRI\",\"https:\/\/www.linkedin.com\/company\/5311\/\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/person\/e7c86c9932f187db7ea7c20449e7bf64\",\"name\":\"Kevin Hibma\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2024\/07\/kevinhibmaBlog300-213x200.jpg\",\"contentUrl\":\"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2024\/07\/kevinhibmaBlog300-213x200.jpg\",\"caption\":\"Kevin Hibma\"},\"description\":\"Kevin Hibma has almost two decades of experience building Esri software and works as a product engineer on the ArcGIS Enterprise team.\",\"sameAs\":[\"https:\/\/www.linkedin.com\/in\/kevin-hibma-48763610\/\"],\"url\":\"\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Updating your hosted feature services with ArcGIS Pro and the ArcGIS API for Python","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.esri.com\/arcgis-blog\/products\/analytics\/analytics\/updating-your-hosted-feature-services-with-arcgis-pro-and-the-arcgis-api-for-python","og_locale":"en_US","og_type":"article","og_title":"Updating your hosted feature services with ArcGIS Pro and the ArcGIS API for Python","og_url":"https:\/\/www.esri.com\/arcgis-blog\/products\/analytics\/analytics\/updating-your-hosted-feature-services-with-arcgis-pro-and-the-arcgis-api-for-python","og_site_name":"ArcGIS Blog","article_publisher":"https:\/\/www.facebook.com\/esrigis\/","article_modified_time":"2018-05-14T18:53:28+00:00","twitter_card":"summary_large_image","twitter_site":"@ESRI","schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":["Article","BlogPosting"],"@id":"https:\/\/www.esri.com\/arcgis-blog\/products\/analytics\/analytics\/updating-your-hosted-feature-services-with-arcgis-pro-and-the-arcgis-api-for-python#article","isPartOf":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/products\/analytics\/analytics\/updating-your-hosted-feature-services-with-arcgis-pro-and-the-arcgis-api-for-python"},"author":{"name":"Kevin Hibma","@id":"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/person\/e7c86c9932f187db7ea7c20449e7bf64"},"headline":"Updating your hosted feature services with ArcGIS Pro and the ArcGIS API for Python","datePublished":"2017-03-14T08:22:17+00:00","dateModified":"2018-05-14T18:53:28+00:00","mainEntityOfPage":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/products\/analytics\/analytics\/updating-your-hosted-feature-services-with-arcgis-pro-and-the-arcgis-api-for-python"},"wordCount":14,"publisher":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/#organization"},"keywords":["python","spatial analytics"],"articleSection":["Analytics"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/www.esri.com\/arcgis-blog\/products\/analytics\/analytics\/updating-your-hosted-feature-services-with-arcgis-pro-and-the-arcgis-api-for-python","url":"https:\/\/www.esri.com\/arcgis-blog\/products\/analytics\/analytics\/updating-your-hosted-feature-services-with-arcgis-pro-and-the-arcgis-api-for-python","name":"Updating your hosted feature services with ArcGIS Pro and the ArcGIS API for Python","isPartOf":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/#website"},"datePublished":"2017-03-14T08:22:17+00:00","dateModified":"2018-05-14T18:53:28+00:00","breadcrumb":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/products\/analytics\/analytics\/updating-your-hosted-feature-services-with-arcgis-pro-and-the-arcgis-api-for-python#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.esri.com\/arcgis-blog\/products\/analytics\/analytics\/updating-your-hosted-feature-services-with-arcgis-pro-and-the-arcgis-api-for-python"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.esri.com\/arcgis-blog\/products\/analytics\/analytics\/updating-your-hosted-feature-services-with-arcgis-pro-and-the-arcgis-api-for-python#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.esri.com\/arcgis-blog\/"},{"@type":"ListItem","position":2,"name":"Updating your hosted feature services with ArcGIS Pro and the ArcGIS API for Python"}]},{"@type":"WebSite","@id":"https:\/\/www.esri.com\/arcgis-blog\/#website","url":"https:\/\/www.esri.com\/arcgis-blog\/","name":"ArcGIS Blog","description":"Get insider info from Esri product teams","publisher":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.esri.com\/arcgis-blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.esri.com\/arcgis-blog\/#organization","name":"Esri","url":"https:\/\/www.esri.com\/arcgis-blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/logo\/image\/","url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/04\/Esri.png","contentUrl":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/04\/Esri.png","width":400,"height":400,"caption":"Esri"},"image":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/esrigis\/","https:\/\/x.com\/ESRI","https:\/\/www.linkedin.com\/company\/5311\/"]},{"@type":"Person","@id":"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/person\/e7c86c9932f187db7ea7c20449e7bf64","name":"Kevin Hibma","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/person\/image\/","url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2024\/07\/kevinhibmaBlog300-213x200.jpg","contentUrl":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2024\/07\/kevinhibmaBlog300-213x200.jpg","caption":"Kevin Hibma"},"description":"Kevin Hibma has almost two decades of experience building Esri software and works as a product engineer on the ArcGIS Enterprise team.","sameAs":["https:\/\/www.linkedin.com\/in\/kevin-hibma-48763610\/"],"url":""}]}},"text_date":"March 14, 2017","author_name":"Kevin Hibma","author_page":false,"custom_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/08\/Newsroom-Keyart-Wide-1920-x-1080.jpg","primary_product":"ArcGIS API for Python","tag_data":[{"term_id":24341,"name":"python","slug":"python","term_group":0,"term_taxonomy_id":24341,"taxonomy":"post_tag","description":"","parent":0,"count":171,"filter":"raw"},{"term_id":23391,"name":"spatial analytics","slug":"spatial-analytics","term_group":0,"term_taxonomy_id":23391,"taxonomy":"post_tag","description":"","parent":0,"count":344,"filter":"raw"}],"category_data":[{"term_id":23341,"name":"Analytics","slug":"analytics","term_group":0,"term_taxonomy_id":23341,"taxonomy":"category","description":"","parent":0,"count":1325,"filter":"raw"}],"product_data":[{"term_id":36841,"name":"ArcGIS API for Python","slug":"api-python","term_group":0,"term_taxonomy_id":36841,"taxonomy":"product","description":"","parent":36601,"count":151,"filter":"raw"},{"term_id":36551,"name":"ArcGIS Online","slug":"arcgis-online","term_group":0,"term_taxonomy_id":36551,"taxonomy":"product","description":"","parent":0,"count":2419,"filter":"raw"},{"term_id":36561,"name":"ArcGIS Pro","slug":"arcgis-pro","term_group":0,"term_taxonomy_id":36561,"taxonomy":"product","description":"","parent":0,"count":2035,"filter":"raw"}],"primary_product_link":"https:\/\/www.esri.com\/arcgis-blog\/?s=#&products=api-python","_links":{"self":[{"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/blog\/76061","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/blog"}],"about":[{"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/types\/blog"}],"author":[{"embeddable":true,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/users\/4031"}],"replies":[{"embeddable":true,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/comments?post=76061"}],"version-history":[{"count":0,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/blog\/76061\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/media?parent=76061"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/categories?post=76061"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/tags?post=76061"},{"taxonomy":"industry","embeddable":true,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/industry?post=76061"},{"taxonomy":"product","embeddable":true,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/product?post=76061"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}