{"id":1809662,"date":"2023-01-12T06:00:09","date_gmt":"2023-01-12T14:00:09","guid":{"rendered":"https:\/\/www.esri.com\/arcgis-blog\/?post_type=blog&#038;p=1809662"},"modified":"2025-04-18T11:44:20","modified_gmt":"2025-04-18T18:44:20","slug":"whats-new-in-arcgis-api-for-python-2-1-0","status":"publish","type":"blog","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/api-python\/developers\/whats-new-in-arcgis-api-for-python-2-1-0","title":{"rendered":"What&#8217;s New in ArcGIS API for Python 2.1.0"},"author":290632,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"open","ping_status":"closed","template":"","format":"standard","meta":{"_acf_changed":false,"_searchwp_excluded":""},"categories":[738191],"tags":[],"industry":[],"product":[36841],"class_list":["post-1809662","blog","type-blog","status-publish","format-standard","hentry","category-developers","product-api-python"],"acf":{"short_description":"The ArcGIS API for Python will have a minor release to version 2.1.0 on January 9, 2023 with a focus on bug fixes and enhancements.","flexible_content":[{"acf_fc_layout":"content","content":"<p><span class=\"TextRun SCXW65671960 BCX0\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun SCXW65671960 BCX0\">The ArcGIS API for Python will have a m<\/span><span class=\"NormalTextRun SCXW65671960 BCX0\">ino<\/span><span class=\"NormalTextRun SCXW65671960 BCX0\">r release to version 2.<\/span><span class=\"NormalTextRun SCXW65671960 BCX0\">1.0<\/span> <span class=\"NormalTextRun SCXW65671960 BCX0\">on <\/span><span class=\"NormalTextRun SCXW65671960 BCX0\">January<\/span><span class=\"NormalTextRun SCXW65671960 BCX0\"> 9,<\/span><span class=\"NormalTextRun SCXW65671960 BCX0\"> 202<\/span><span class=\"NormalTextRun SCXW65671960 BCX0\">3<\/span><span class=\"NormalTextRun SCXW65671960 BCX0\">.\u00a0 <\/span><span class=\"NormalTextRun SCXW65671960 BCX0\">A primary focus of this release will be bug fixes and enhancements, but we\u2019ve also added several new pieces of functionality.\u00a0 These include support for new data types and services, support for additional ArcGIS products, more secure authentication options, and an improved user experience when working with the map widget. Here are some other highlights organized into common workflows and major themes.<\/span><\/span><span class=\"EOP SCXW65671960 BCX0\" data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/p>\n<h2><strong>Core API<\/strong><\/h2>\n<p><span class=\"TextRun SCXW46316306 BCX0\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun SCXW46316306 BCX0\">To ensure a<\/span> <span class=\"NormalTextRun SCXW46316306 BCX0\">secure login experience for our users, we\u2019ve continued to <\/span><span class=\"NormalTextRun SCXW46316306 BCX0\">develop <\/span><span class=\"NormalTextRun SCXW46316306 BCX0\">the API\u2019s authentication schemes.\u00a0 For example, we\u2019ve <\/span><span class=\"NormalTextRun SCXW46316306 BCX0\">added<\/span><span class=\"NormalTextRun SCXW46316306 BCX0\"> bug fixes to improve the Windows authentication process and provide <\/span><span class=\"NormalTextRun SCXW46316306 BCX0\">a <\/span><span class=\"NormalTextRun SCXW46316306 BCX0\">more seamless integration between Windows OS and web GIS.\u00a0 <\/span><span class=\"NormalTextRun SCXW46316306 BCX0\">There were also <\/span><span class=\"NormalTextRun SCXW46316306 BCX0\">overall improvements <\/span><span class=\"NormalTextRun SCXW46316306 BCX0\">made <\/span><span class=\"NormalTextRun SCXW46316306 BCX0\">to <\/span><span class=\"NormalTextRun SCXW46316306 BCX0\">how<\/span><span class=\"NormalTextRun SCXW46316306 BCX0\"> the API <\/span><span class=\"NormalTextRun SCXW46316306 BCX0\">authenticates<\/span><span class=\"NormalTextRun SCXW46316306 BCX0\"> and access<\/span><span class=\"NormalTextRun SCXW46316306 BCX0\">es<\/span><span class=\"NormalTextRun SCXW46316306 BCX0\"> services.\u00a0<\/span><\/span><span class=\"EOP SCXW46316306 BCX0\" data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/p>\n"},{"acf_fc_layout":"content","content":"<h2><strong>Administration<\/strong><\/h2>\n<p><span data-contrast=\"auto\">Web GIS administrators are always looking for new ways to automate their workflows and make their lives easier, and several new capabilities have been introduced to help them do so.\u00a0 For example, we\u2019ve completely revamped the UX class to enable greater flexibility when editing organizational settings.\u00a0 In other words, you can now programmatically edit nearly all of your web GIS organizational settings as you can through the UI.\u00a0 This includes things like setting the banner, changing the language, setting administration contacts, setting logos, and much more!<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"auto\">With respect to automation, the API is now fully aligned with all the capabilities of ArcGIS Online feature service webhooks via a new enumeration called \u201cWebhookEvents\u201d.\u00a0 This allows users to receive direct communication when events occur at the service-level.<\/span><\/p>\n"},{"acf_fc_layout":"content","content":"<h2><strong>Content Management<\/strong><\/h2>\n<p><span data-contrast=\"auto\">Content management\u2014publishing, updating, overwriting, moving, and copying maps, layers, and other web GIS items\u2014is a primary task for many ArcGIS API for Python users.\u00a0 As such, we\u2019ve made several improvements and bug fixes to the ContentManager class, particularly focusing on increasing performance when cloning content via the <\/span><i><span data-contrast=\"auto\">clone_items()<\/span><\/i><span data-contrast=\"auto\"> function.<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"auto\">Additionally, we continue to make it a priority to support the entire ArcGIS product suite as it expands with new apps, services, and data types.\u00a0 For example, in the 2.1.0 release, a new class was added to support ArcGIS Marketplace, allowing users to list and unlist Marketplace items and manage marketplace settings and properties for their organization.\u00a0 We\u2019ve also refactored and enhanced several arcgis.apps including Hub, Survey123, StoryMap.\u00a0 One such example is the ability to now work with map tours in the StoryMap module.\u00a0 Additionally, we have increased functionality to work with different services (e.g., Parcel Fabric, Utility Network, Knowledge Graph), allowing more options for automation via the ArcGIS API for Python.<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/p>\n"},{"acf_fc_layout":"content","content":"<h2><strong>Analysis and Data Science<\/strong><\/h2>\n<p><span data-contrast=\"auto\">The <a href=\"https:\/\/developers.arcgis.com\/python\/guide\/part1-introduction-to-sedf\/\">Spatially Enabled DataFrame (SeDF)<\/a> makes it easy for our users to get their ArcGIS data (feature layers, geodatabase feature classes, GeoJSON, shapefiles, etc.) into <\/span><a href=\"https:\/\/pandas.pydata.org\/\"><span data-contrast=\"none\">pandas<\/span><\/a><span data-contrast=\"auto\"> DataFrames, a massively popular format for data science and analysis within Python.\u00a0 In this release, we have made several quality-of-life improvements to the SeDF, such as adding the ability to overwrite when publishing a feature layer from a SeDF, as well as the ability to publish a standalone table from a SeDF.\u00a0 These new options will be helpful in workflows where new data is consistently collected, pandas is used to manipulate and wrangle it, and the new cleaned data is subsequently used to update content in the web GIS.\u00a0 We\u2019ve also <\/span><a href=\"https:\/\/community.esri.com\/t5\/arcgis-api-for-python-questions\/how-to-enable-z-on-a-spatial-data-frame\/m-p\/1202139#M7636\"><span data-contrast=\"none\">listened to your feedback<\/span><\/a><span data-contrast=\"auto\"> for improving the SeDF by adding the ability to enable z- and m-coordinates on the <em>from_xy()<\/em> method within the GeoAccessor class.<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"auto\">As our users\u2019 datasets continue to grow in volume, velocity, and variety, we want to make sure the API can work with the latest and greatest in big data formats.\u00a0 As such, we\u2019ve made it easier to convert between SeDF and data formats such <\/span><a href=\"https:\/\/parquet.apache.org\/\"><span data-contrast=\"none\">Parquet<\/span><\/a><span data-contrast=\"auto\"> and <\/span><a href=\"https:\/\/arrow.apache.org\/\"><span data-contrast=\"none\">Arrow<\/span><\/a><span data-contrast=\"auto\">, and added support for <\/span><a href=\"https:\/\/www.dask.org\/\"><span data-contrast=\"none\">Dask<\/span><\/a><span data-contrast=\"auto\"> DataFrames, which parallelize DataFrame operations and enable more \u201cbig data\u201d workflows.<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/p>\n"},{"acf_fc_layout":"image","image":{"ID":1813302,"id":1813302,"title":"logos","filename":"logos.png","filesize":39122,"url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2017\/01\/logos.png","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/api-python\/developers\/whats-new-in-arcgis-api-for-python-2-1-0\/logos-2","alt":"","author":"290632","description":"","caption":"","name":"logos-2","status":"inherit","uploaded_to":1809662,"date":"2023-01-10 15:06:38","modified":"2023-01-10 15:06:38","menu_order":0,"mime_type":"image\/png","type":"image","subtype":"png","icon":"https:\/\/www.esri.com\/arcgis-blog\/wp-includes\/images\/media\/default.png","width":750,"height":284,"sizes":{"thumbnail":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2017\/01\/logos-213x200.png","thumbnail-width":213,"thumbnail-height":200,"medium":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2017\/01\/logos.png","medium-width":464,"medium-height":176,"medium_large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2017\/01\/logos.png","medium_large-width":750,"medium_large-height":284,"large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2017\/01\/logos.png","large-width":750,"large-height":284,"1536x1536":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2017\/01\/logos.png","1536x1536-width":750,"1536x1536-height":284,"2048x2048":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2017\/01\/logos.png","2048x2048-width":750,"2048x2048-height":284,"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2017\/01\/logos.png","card_image-width":750,"card_image-height":284,"wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2017\/01\/logos.png","wide_image-width":750,"wide_image-height":284}},"image_position":"center","orientation":"horizontal","hyperlink":""},{"acf_fc_layout":"content","content":"<p><span data-contrast=\"auto\">Lastly, we have continued to innovate in the areas of deep learning and machine learning in the <a href=\"https:\/\/developers.arcgis.com\/python\/api-reference\/arcgis.learn.toc.html\">arcgis.learn<\/a> module.\u00a0 While the <a href=\"https:\/\/developers.arcgis.com\/python\/guide\/release-notes-210\/\">full list of new capabilities<\/a> is far too long to include here, here are a few quick highlights:<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/p>\n<ul>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"1\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559684&quot;:-2,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;\uf0b7&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}\" data-aria-posinset=\"1\" data-aria-level=\"1\"><span data-contrast=\"auto\">New models (RandLANet, SQNSeg) for classification of 3D point clouds<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/li>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"1\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559684&quot;:-2,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;\uf0b7&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}\" data-aria-posinset=\"2\" data-aria-level=\"1\"><span data-contrast=\"auto\">A new model (PSETAE) for classifying a time series of satellite imagery<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/li>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"1\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559684&quot;:-2,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;\uf0b7&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}\" data-aria-posinset=\"3\" data-aria-level=\"1\"><span data-contrast=\"auto\">Added options for detecting and dealing with class imbalance for classification models<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/li>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"1\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559684&quot;:-2,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;\uf0b7&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}\" data-aria-posinset=\"4\" data-aria-level=\"1\"><span data-contrast=\"auto\">Improved model explainability and interpretability for AutoML<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/li>\n<\/ul>\n"},{"acf_fc_layout":"content","content":"<h2><strong>Map Widget (Rendering)<\/strong><\/h2>\n<p><span class=\"TextRun SCXW261808797 BCX0\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun SCXW261808797 BCX0\">In this release, <\/span><span class=\"NormalTextRun SCXW261808797 BCX0\">our<\/span><span class=\"NormalTextRun SCXW261808797 BCX0\"> team has also<\/span><span class=\"NormalTextRun SCXW261808797 BCX0\"> enhance<\/span><span class=\"NormalTextRun SCXW261808797 BCX0\">d<\/span><span class=\"NormalTextRun SCXW261808797 BCX0\"> the experience of data visualization and mapping in the map widget.\u00a0 A primary focus has been on adding new coloring options and improving the ease of use for renderers, and you can read <\/span><a href=\"https:\/\/www.esri.com\/arcgis-blog\/products\/api-python\/developers\/arcgis-api-python-coloring-options\/\"><span class=\"NormalTextRun CommentStart CommentHighlightPipeRest CommentHighlightRest SCXW261808797 BCX0\">this blog article <\/span><\/a><span class=\"NormalTextRun CommentHighlightPipeRest SCXW261808797 BCX0\">for a much more detailed discussion.\u00a0 <\/span><span class=\"NormalTextRun SCXW261808797 BCX0\">S<\/span><span class=\"NormalTextRun SCXW261808797 BCX0\">everal new functions <\/span><span class=\"NormalTextRun SCXW261808797 BCX0\">were also added <\/span><span class=\"NormalTextRun SCXW261808797 BCX0\">to make it easier for users to man<\/span><span class=\"NormalTextRun SCXW261808797 BCX0\">a<\/span><span class=\"NormalTextRun SCXW261808797 BCX0\">ge map layers, <\/span><span class=\"NormalTextRun SCXW261808797 BCX0\">including: <\/span><\/span><a href=\"https:\/\/developers.arcgis.com\/python\/api-reference\/arcgis.mapping.toc.html#arcgis.mapping.WebMap.update_layer\"><em><span class=\"TextRun SCXW261808797 BCX0\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun SpellingErrorV2Themed SCXW261808797 BCX0\">update_layer<\/span><span class=\"NormalTextRun SCXW261808797 BCX0\">()<\/span><\/span><\/em><\/a><span class=\"TextRun SCXW261808797 BCX0\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun SCXW261808797 BCX0\">, <\/span><\/span><a href=\"https:\/\/developers.arcgis.com\/python\/api-reference\/arcgis.mapping.toc.html#arcgis.mapping.WebMap.update_drawing_info\"><em><span class=\"TextRun SCXW261808797 BCX0\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun SpellingErrorV2Themed SCXW261808797 BCX0\">update_drawing_info<\/span><span class=\"NormalTextRun SCXW261808797 BCX0\">()<\/span><\/span><\/em><\/a><span class=\"TextRun SCXW261808797 BCX0\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun SCXW261808797 BCX0\">, <\/span><\/span><a href=\"https:\/\/developers.arcgis.com\/python\/api-reference\/arcgis.mapping.toc.html#arcgis.mapping.WebMap.move_to_basemap\"><em><span class=\"TextRun SCXW261808797 BCX0\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun SpellingErrorV2Themed SCXW261808797 BCX0\">move_to_basemap<\/span><span class=\"NormalTextRun SCXW261808797 BCX0\">()<\/span><\/span><\/em><\/a><span class=\"TextRun SCXW261808797 BCX0\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun SCXW261808797 BCX0\">, <\/span><\/span><a href=\"https:\/\/developers.arcgis.com\/python\/api-reference\/arcgis.mapping.toc.html#arcgis.mapping.WebMap.move_from_basemap\"><em><span class=\"TextRun SCXW261808797 BCX0\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun SpellingErrorV2Themed SCXW261808797 BCX0\">move_from_basemap<\/span><span class=\"NormalTextRun SCXW261808797 BCX0\">()<\/span><\/span><\/em><\/a><span class=\"TextRun SCXW261808797 BCX0\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun SCXW261808797 BCX0\">).<\/span><\/span><span class=\"EOP SCXW261808797 BCX0\" data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/p>\n"},{"acf_fc_layout":"content","content":"<h2><strong>Documentation, guides, and samples<\/strong><\/h2>\n<ul>\n<li>Added hyperlinks to return values in API Reference documentation, making it easier for users to get more detailed information on classes, methods, functions, properties, etc.<\/li>\n<li><a href=\"https:\/\/developers.arcgis.com\/python\/guide\/release-notes-210\/#guides\">New guides and samples<\/a> for advanced machine learning, object detection, feature extraction, generative models, and tabular data forecasting.<\/li>\n<\/ul>\n<h2><strong>Esri Community<\/strong><\/h2>\n<p><span class=\"TextRun SCXW47394705 BCX0\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun SCXW47394705 BCX0\">We want to remind you to check out the <\/span><\/span><a class=\"Hyperlink SCXW47394705 BCX0\" href=\"https:\/\/community.esri.com\/t5\/arcgis-api-for-python\/ct-p\/arcgis-api-for-python\" target=\"_blank\" rel=\"noreferrer noopener\"><span class=\"FieldRange SCXW47394705 BCX0\"><span class=\"TextRun Underlined SCXW47394705 BCX0\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun CommentStart CommentHighlightPipeRest CommentHighlightRest SCXW47394705 BCX0\" data-ccp-charstyle=\"Hyperlink\">ArcGIS API for Python Esri Community page<\/span><\/span><\/span><\/a><span class=\"TextRun SCXW47394705 BCX0\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun CommentHighlightPipeRest SCXW47394705 BCX0\">, where you can ask questions, suggest ideas for enhancements and improvements, connect with other users, and read recent blogs.\u00a0 <span data-teams=\"true\">The team actively monitors these pages and greatly appreciates your feedback and suggestions, which guide our priorities for future API development. We encourage you to share your thoughts!<\/span><\/span><\/span><\/p>\n"}],"authors":[{"ID":154341,"user_firstname":"Nicholas","user_lastname":"Giner","nickname":"Nick Giner","user_nicename":"nginer","display_name":"Nicholas Giner","user_email":"NGiner@esri.com","user_url":"","user_registered":"2021-01-07 14:31:25","user_description":"Nick Giner is a Product Manager for Spatial Analysis and Data Science.  Prior to joining Esri in 2014, he completed Bachelor\u2019s and PhD degrees in Geography from Penn State University and Clark University, respectively. In his spare time, he likes to play guitar, golf, cook, cut the grass, and read\/watch shows about history.","user_avatar":"<img data-del=\"avatar\" src='https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/01\/headshot-e1610030307989-213x200.jpeg' class='avatar pp-user-avatar avatar-96 photo ' height='96' width='96'\/>"},{"ID":290632,"user_firstname":"Akshaya","user_lastname":"Suresh","nickname":"Akshaya","user_nicename":"asuresh","display_name":"Akshaya Suresh","user_email":"asuresh@esri.com","user_url":"","user_registered":"2021-10-25 15:01:49","user_description":"Product Marketing Manager in the Imagery &amp; Remote Sensing team at Esri with a passion for AI and big data analytics.","user_avatar":"<img alt='' src='https:\/\/secure.gravatar.com\/avatar\/3e1e5f901dfa2436c8a4f022f43c4fa14320ce4e502123a5eb704bacdd25ad3f?s=96&#038;d=blank&#038;r=g' srcset='https:\/\/secure.gravatar.com\/avatar\/3e1e5f901dfa2436c8a4f022f43c4fa14320ce4e502123a5eb704bacdd25ad3f?s=192&#038;d=blank&#038;r=g 2x' class='avatar avatar-96 photo' height='96' width='96' loading='lazy' decoding='async'\/>"}],"related_articles":[{"ID":505902,"post_author":"9512","post_date":"2019-05-06 13:34:29","post_date_gmt":"2019-05-06 20:34:29","post_content":"","post_title":"ArcGIS API for Python Core Concepts Part 1: Python, APIs, and REST","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"closed","post_password":"","post_name":"arcgis-api-for-python-core-concepts-part-1","to_ping":"","pinged":"","post_modified":"2020-02-19 08:56:59","post_modified_gmt":"2020-02-19 16:56:59","post_content_filtered":"","post_parent":0,"guid":"https:\/\/www.esri.com\/arcgis-blog\/?post_type=blog&#038;p=505902","menu_order":0,"post_type":"blog","post_mime_type":"","comment_count":"4","filter":"raw"},{"ID":1728272,"post_author":"319532","post_date":"2023-01-10 12:38:15","post_date_gmt":"2023-01-10 20:38:15","post_content":"","post_title":"New Coloring Options in ArcGIS API for Python Renderers","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"closed","post_password":"","post_name":"arcgis-api-python-coloring-options","to_ping":"","pinged":"","post_modified":"2024-04-12 03:16:26","post_modified_gmt":"2024-04-12 10:16:26","post_content_filtered":"","post_parent":0,"guid":"https:\/\/www.esri.com\/arcgis-blog\/?post_type=blog&#038;p=1728272","menu_order":0,"post_type":"blog","post_mime_type":"","comment_count":"0","filter":"raw"},{"ID":507002,"post_author":"9512","post_date":"2019-05-07 11:54:08","post_date_gmt":"2019-05-07 18:54:08","post_content":"","post_title":"ArcGIS API for Python Core Concepts Part 2: Anaconda, Conda, Jupyter Notebooks and ArcGIS Pro","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"closed","post_password":"","post_name":"python-api-core-concepts-part-2","to_ping":"","pinged":"","post_modified":"2020-02-19 08:57:35","post_modified_gmt":"2020-02-19 16:57:35","post_content_filtered":"","post_parent":0,"guid":"https:\/\/www.esri.com\/arcgis-blog\/?post_type=blog&#038;p=507002","menu_order":0,"post_type":"blog","post_mime_type":"","comment_count":"1","filter":"raw"}],"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/05\/Banner.jpg","wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/08\/v3-g1950821-techcrunch-hackathon-mi-developers-blog.jpg","show_article_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>What&#039;s New in ArcGIS API for Python 2.1.0<\/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\/api-python\/developers\/whats-new-in-arcgis-api-for-python-2-1-0\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"What&#039;s New in ArcGIS API for Python 2.1.0\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.esri.com\/arcgis-blog\/products\/api-python\/developers\/whats-new-in-arcgis-api-for-python-2-1-0\" \/>\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=\"2025-04-18T18:44:20+00:00\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:site\" content=\"@ESRI\" \/>\n<meta name=\"twitter:label1\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"5 minutes\" \/>\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\/api-python\/developers\/whats-new-in-arcgis-api-for-python-2-1-0#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/api-python\/developers\/whats-new-in-arcgis-api-for-python-2-1-0\"},\"author\":{\"name\":\"Akshaya Suresh\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/person\/b6f9c00b9bdaba4799ba64fc826639dc\"},\"headline\":\"What&#8217;s New in ArcGIS API for Python 2.1.0\",\"datePublished\":\"2023-01-12T14:00:09+00:00\",\"dateModified\":\"2025-04-18T18:44:20+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/api-python\/developers\/whats-new-in-arcgis-api-for-python-2-1-0\"},\"wordCount\":8,\"commentCount\":1,\"publisher\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#organization\"},\"articleSection\":[\"Developers\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.esri.com\/arcgis-blog\/products\/api-python\/developers\/whats-new-in-arcgis-api-for-python-2-1-0#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/api-python\/developers\/whats-new-in-arcgis-api-for-python-2-1-0\",\"url\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/api-python\/developers\/whats-new-in-arcgis-api-for-python-2-1-0\",\"name\":\"What's New in ArcGIS API for Python 2.1.0\",\"isPartOf\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#website\"},\"datePublished\":\"2023-01-12T14:00:09+00:00\",\"dateModified\":\"2025-04-18T18:44:20+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/api-python\/developers\/whats-new-in-arcgis-api-for-python-2-1-0#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.esri.com\/arcgis-blog\/products\/api-python\/developers\/whats-new-in-arcgis-api-for-python-2-1-0\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/api-python\/developers\/whats-new-in-arcgis-api-for-python-2-1-0#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.esri.com\/arcgis-blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"What&#8217;s New in ArcGIS API for Python 2.1.0\"}]},{\"@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\/b6f9c00b9bdaba4799ba64fc826639dc\",\"name\":\"Akshaya Suresh\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/3e1e5f901dfa2436c8a4f022f43c4fa14320ce4e502123a5eb704bacdd25ad3f?s=96&d=blank&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/3e1e5f901dfa2436c8a4f022f43c4fa14320ce4e502123a5eb704bacdd25ad3f?s=96&d=blank&r=g\",\"caption\":\"Akshaya Suresh\"},\"description\":\"Product Marketing Manager in the Imagery &amp; Remote Sensing team at Esri with a passion for AI and big data analytics.\",\"sameAs\":[\"www.linkedin.com\/in\/akshaya-suresh\"],\"jobTitle\":\"Product Marketing Manager\",\"worksFor\":\"Esri inc.\",\"url\":\"https:\/\/www.esri.com\/arcgis-blog\/author\/asuresh\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"What's New in ArcGIS API for Python 2.1.0","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\/api-python\/developers\/whats-new-in-arcgis-api-for-python-2-1-0","og_locale":"en_US","og_type":"article","og_title":"What's New in ArcGIS API for Python 2.1.0","og_url":"https:\/\/www.esri.com\/arcgis-blog\/products\/api-python\/developers\/whats-new-in-arcgis-api-for-python-2-1-0","og_site_name":"ArcGIS Blog","article_publisher":"https:\/\/www.facebook.com\/esrigis\/","article_modified_time":"2025-04-18T18:44:20+00:00","twitter_card":"summary_large_image","twitter_site":"@ESRI","twitter_misc":{"Est. reading time":"5 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":["Article","BlogPosting"],"@id":"https:\/\/www.esri.com\/arcgis-blog\/products\/api-python\/developers\/whats-new-in-arcgis-api-for-python-2-1-0#article","isPartOf":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/products\/api-python\/developers\/whats-new-in-arcgis-api-for-python-2-1-0"},"author":{"name":"Akshaya Suresh","@id":"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/person\/b6f9c00b9bdaba4799ba64fc826639dc"},"headline":"What&#8217;s New in ArcGIS API for Python 2.1.0","datePublished":"2023-01-12T14:00:09+00:00","dateModified":"2025-04-18T18:44:20+00:00","mainEntityOfPage":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/products\/api-python\/developers\/whats-new-in-arcgis-api-for-python-2-1-0"},"wordCount":8,"commentCount":1,"publisher":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/#organization"},"articleSection":["Developers"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.esri.com\/arcgis-blog\/products\/api-python\/developers\/whats-new-in-arcgis-api-for-python-2-1-0#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.esri.com\/arcgis-blog\/products\/api-python\/developers\/whats-new-in-arcgis-api-for-python-2-1-0","url":"https:\/\/www.esri.com\/arcgis-blog\/products\/api-python\/developers\/whats-new-in-arcgis-api-for-python-2-1-0","name":"What's New in ArcGIS API for Python 2.1.0","isPartOf":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/#website"},"datePublished":"2023-01-12T14:00:09+00:00","dateModified":"2025-04-18T18:44:20+00:00","breadcrumb":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/products\/api-python\/developers\/whats-new-in-arcgis-api-for-python-2-1-0#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.esri.com\/arcgis-blog\/products\/api-python\/developers\/whats-new-in-arcgis-api-for-python-2-1-0"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.esri.com\/arcgis-blog\/products\/api-python\/developers\/whats-new-in-arcgis-api-for-python-2-1-0#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.esri.com\/arcgis-blog\/"},{"@type":"ListItem","position":2,"name":"What&#8217;s New in ArcGIS API for Python 2.1.0"}]},{"@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\/b6f9c00b9bdaba4799ba64fc826639dc","name":"Akshaya Suresh","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/3e1e5f901dfa2436c8a4f022f43c4fa14320ce4e502123a5eb704bacdd25ad3f?s=96&d=blank&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/3e1e5f901dfa2436c8a4f022f43c4fa14320ce4e502123a5eb704bacdd25ad3f?s=96&d=blank&r=g","caption":"Akshaya Suresh"},"description":"Product Marketing Manager in the Imagery &amp; Remote Sensing team at Esri with a passion for AI and big data analytics.","sameAs":["www.linkedin.com\/in\/akshaya-suresh"],"jobTitle":"Product Marketing Manager","worksFor":"Esri inc.","url":"https:\/\/www.esri.com\/arcgis-blog\/author\/asuresh"}]}},"text_date":"January 12, 2023","author_name":"Multiple Authors","author_page":"https:\/\/www.esri.com\/arcgis-blog\/products\/api-python\/developers\/whats-new-in-arcgis-api-for-python-2-1-0","custom_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/08\/v3-g1950821-techcrunch-hackathon-mi-developers-blog.jpg","primary_product":"ArcGIS API for Python","tag_data":[],"category_data":[{"term_id":738191,"name":"Developers","slug":"developers","term_group":0,"term_taxonomy_id":738191,"taxonomy":"category","description":"","parent":0,"count":426,"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"}],"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\/1809662","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\/290632"}],"replies":[{"embeddable":true,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/comments?post=1809662"}],"version-history":[{"count":0,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/blog\/1809662\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/media?parent=1809662"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/categories?post=1809662"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/tags?post=1809662"},{"taxonomy":"industry","embeddable":true,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/industry?post=1809662"},{"taxonomy":"product","embeddable":true,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/product?post=1809662"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}