{"id":2092772,"date":"2023-10-04T13:13:55","date_gmt":"2023-10-04T20:13:55","guid":{"rendered":"https:\/\/www.esri.com\/arcgis-blog\/?post_type=blog&#038;p=2092772"},"modified":"2025-04-18T11:42:56","modified_gmt":"2025-04-18T18:42:56","slug":"whats-new-in-arcgis-api-for-python-2-2-0-september-2023","status":"publish","type":"blog","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/api-python\/developers\/whats-new-in-arcgis-api-for-python-2-2-0-september-2023","title":{"rendered":"What&#8217;s New in ArcGIS API for Python 2.2.0 (September 2023)"},"author":290632,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","format":"standard","meta":{"_acf_changed":false,"_searchwp_excluded":""},"categories":[738191],"tags":[],"industry":[],"product":[36841,761642],"class_list":["post-2092772","blog","type-blog","status-publish","format-standard","hentry","category-developers","product-api-python","product-platform"],"acf":{"short_description":"Check out this What's New blog to review the latest updates for ArcGIS API for Python version 2.2.0. ","flexible_content":[{"acf_fc_layout":"content","content":"<p><span data-contrast=\"auto\">The ArcGIS API for Python<\/span><span data-contrast=\"auto\">\u00a0<\/span><span data-contrast=\"auto\">version 2.2.0 <\/span><span data-contrast=\"auto\">was released <\/span><span data-contrast=\"auto\">on September 25, 2023. \u00a0The primary focus of this release is dependency upgrades and bug fixes, but we\u2019ve also added several new pieces of functionality. <\/span><span data-contrast=\"auto\">\u00a0<\/span><span data-contrast=\"auto\">You can <\/span><span data-contrast=\"auto\">find<\/span><span data-contrast=\"auto\"> the <\/span><span data-contrast=\"none\">full release notes <a href=\"https:\/\/developers.arcgis.com\/python\/guide\/release-notes-220\/\">here<\/a>; <\/span><span data-contrast=\"auto\">in this blog, we<\/span><span data-contrast=\"auto\">\u00a0<\/span><span data-contrast=\"auto\">highlight<\/span> <span data-contrast=\"auto\">some of the<\/span><span data-contrast=\"auto\"> major themes and common workflows.<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/p>\n<h2><b><span data-contrast=\"auto\">Experience Builder support<\/span><\/b><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/h2>\n<p><span data-contrast=\"auto\">In 2.2.0, we have introduced an entire module dedicated to working with <\/span><a href=\"https:\/\/www.esri.com\/en-us\/arcgis\/products\/arcgis-experience-builder\/overview\"><span data-contrast=\"none\">ArcGIS Experience Builder<\/span><\/a><span data-contrast=\"auto\">. Managing Experiences via automation has been a popular user request, and we are excited to bring the first version of this functionality. Using the <\/span><i><span data-contrast=\"auto\">WebExperience<\/span><\/i><span data-contrast=\"auto\"> class, users can perform a variety of operations on both portal and local Experiences, such as creation, saving, publishing, deletion, cloning, previewing, and more. Read more about it in this <\/span><a href=\"https:\/\/developers.arcgis.com\/python\/guide\/experience-builder-workflows\/\"><span data-contrast=\"none\">Guide<\/span><\/a><span data-contrast=\"auto\">\u00a0and the <\/span><a href=\"https:\/\/developers.arcgis.com\/python\/api-reference\/arcgis.apps.expbuilder.html\"><span data-contrast=\"none\">API Reference<\/span><\/a><span data-contrast=\"auto\">.<\/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":2093652,"id":2093652,"title":"b78a91b6-f51e-40e6-aeda-0c6e9b95ac51","filename":"b78a91b6-f51e-40e6-aeda-0c6e9b95ac51.jpg","filesize":65112,"url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2013\/10\/b78a91b6-f51e-40e6-aeda-0c6e9b95ac51.jpg","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/api-python\/developers\/whats-new-in-arcgis-api-for-python-2-2-0-september-2023\/b78a91b6-f51e-40e6-aeda-0c6e9b95ac51","alt":"","author":"290632","description":"","caption":"Publishing and viewing an Experience using the ArcGIS API for Python","name":"b78a91b6-f51e-40e6-aeda-0c6e9b95ac51","status":"inherit","uploaded_to":2092772,"date":"2023-10-05 18:01:36","modified":"2023-10-05 18:01:49","menu_order":0,"mime_type":"image\/jpeg","type":"image","subtype":"jpeg","icon":"https:\/\/www.esri.com\/arcgis-blog\/wp-includes\/images\/media\/default.png","width":800,"height":771,"sizes":{"thumbnail":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2013\/10\/b78a91b6-f51e-40e6-aeda-0c6e9b95ac51-213x200.jpg","thumbnail-width":213,"thumbnail-height":200,"medium":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2013\/10\/b78a91b6-f51e-40e6-aeda-0c6e9b95ac51.jpg","medium-width":271,"medium-height":261,"medium_large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2013\/10\/b78a91b6-f51e-40e6-aeda-0c6e9b95ac51.jpg","medium_large-width":768,"medium_large-height":740,"large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2013\/10\/b78a91b6-f51e-40e6-aeda-0c6e9b95ac51.jpg","large-width":800,"large-height":771,"1536x1536":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2013\/10\/b78a91b6-f51e-40e6-aeda-0c6e9b95ac51.jpg","1536x1536-width":800,"1536x1536-height":771,"2048x2048":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2013\/10\/b78a91b6-f51e-40e6-aeda-0c6e9b95ac51.jpg","2048x2048-width":800,"2048x2048-height":771,"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2013\/10\/b78a91b6-f51e-40e6-aeda-0c6e9b95ac51-482x465.jpg","card_image-width":482,"card_image-height":465,"wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2013\/10\/b78a91b6-f51e-40e6-aeda-0c6e9b95ac51.jpg","wide_image-width":800,"wide_image-height":771}},"image_position":"center","orientation":"horizontal","hyperlink":""},{"acf_fc_layout":"content","content":"<h2><b><span data-contrast=\"auto\">Core API<\/span><\/b><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/h2>\n<p><span data-contrast=\"auto\">Like many libraries in the Python ecosystem, the ArcGIS API for Python relies on a number of dependencies behind the scenes.\u00a0 In this release, a major effort for the team was upgrading several of these dependences to strengthen the security and overall performance of the API.\u00a0 As an example, the upgrade to <\/span><a href=\"https:\/\/pandas.pydata.org\/docs\/dev\/whatsnew\/v2.0.0.html\"><span data-contrast=\"none\">Pandas 2.0.0<\/span><\/a><span data-contrast=\"auto\"> makes the API compatible with all <\/span><a href=\"https:\/\/pandas.pydata.org\/docs\/user_guide\/basics.html#basics-dtypes\"><span data-contrast=\"none\">pandas dtypes<\/span><\/a><span data-contrast=\"auto\">, including the low-memory NumPy dtypes that make DataFrame indices more efficient.\u00a0\u00a0<\/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\">We have also added support for Python versions 3.9 &#8211; 3.11, so you can take advantage of the speed and performance improvements of the core Python language when using 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<h2><b><span data-contrast=\"auto\">Administration<\/span><\/b><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/h2>\n<p><span data-contrast=\"none\">GIS administrators are always looking for ways to automate and simplify complex operations, so we have added new classes, methods, and properties to help them do just that.\u00a0 For ArcGIS Enterprise on Kubernetes deployments, administrators can now <\/span><i><span data-contrast=\"none\">export()<\/span><\/i><span data-contrast=\"none\"> the organization logs based on desired parameters to help with troubleshooting, and manage access to external content with a new <\/span><i><span data-contrast=\"none\">ExternalContentManager<\/span><\/i><span data-contrast=\"none\"> object.\u00a0<\/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=\"none\">ArcGIS Online administrators can now also use the <\/span><i><span data-contrast=\"none\">DataStoreMetricsManager<\/span><\/i><span data-contrast=\"none\"> to get resource usage information and a variety of different feature data store statistics. Administrators can also quickly duplicate the appearance of an entire organization with the <\/span><i><span data-contrast=\"none\">clone()<\/span><\/i><span data-contrast=\"none\"> method of the <\/span><i><span data-contrast=\"none\">UX <\/span><\/i><span data-contrast=\"none\">class, allowing for immediate or offline staging of organizations without having to individually configure settings.\u00a0 These are just a few examples from the long list of updates for administrators, so check out the <\/span><a href=\"https:\/\/developers.arcgis.com\/python\/api-reference\/arcgis.gis.admin.html\"><span data-contrast=\"none\">admin submodule<\/span><\/a><span data-contrast=\"none\"> section of the 2.2.0 release notes for the full slate!<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/p>\n<h2><b><span data-contrast=\"auto\">Content Management<\/span><\/b><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/h2>\n<p><span data-contrast=\"none\">We know that many of our customers use the Python API to help them quickly and efficiently manage their web GIS content.\u00a0 This fundamental theme drives many of our development projects when considering new releases.\u00a0 Here are a select few\u2026<\/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=\"none\">Content migration has become more robust as Survey123, StoryMap, WebScene, ExperienceBuilder, and ArcGIS Dashboard items are now supported by the <\/span><i><span data-contrast=\"none\">clone_items()<\/span><\/i><span data-contrast=\"none\"> method.\u00a0 Additionally, we have added the new <\/span><i><span data-contrast=\"none\">favorite<\/span><\/i><span data-contrast=\"none\"> property to help you organize and access your most frequently used items\u2014think of this as a bookmark to your most routinely used content.\u00a0 And for our customers who use the API for raster workflows, we have added more capabilities to work with STAC datasets in the <\/span><i><span data-contrast=\"none\">RasterCollection.from_stac_api()<\/span><\/i><span data-contrast=\"none\"> and <\/span><i><span data-contrast=\"none\">Raster.from_stac_item()<\/span><\/i><span data-contrast=\"none\"> methods.<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/p>\n<h2><b><span data-contrast=\"auto\">GIS Services <\/span><\/b><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/h2>\n<p><span data-contrast=\"auto\">One of the main roles of the Python API is to \u201cbe the API to your web GIS\u201d.\u00a0 As such, we pay close attention to updates and changes that occur within the larger ArcGIS system (e.g. ArcGIS Enterprise and Online), then add functionality to the API so you can leverage these updates and changes in a programmatic manner.\u00a0 In this release, we\u2019ve added support for new ArcGIS service datatypes such as <\/span><i><span data-contrast=\"auto\">BigInteger<\/span><\/i><span data-contrast=\"auto\">, <\/span><i><span data-contrast=\"auto\">TimeOnly<\/span><\/i><span data-contrast=\"auto\">, <\/span><i><span data-contrast=\"auto\">DateOnly<\/span><\/i><span data-contrast=\"auto\">, and <\/span><i><span data-contrast=\"auto\">TimestampOffset<\/span><\/i><span data-contrast=\"auto\">, and added a <\/span><i><span data-contrast=\"auto\">PlacesAPI<\/span><\/i><span data-contrast=\"auto\"> class to support the new <\/span><a href=\"https:\/\/developers.arcgis.com\/rest\/places\/\"><span data-contrast=\"none\">Places service beta feature<\/span><\/a><span data-contrast=\"auto\">.\u00a0 Expect to see additional functions and methods in this class after the Places service is released into the market!\u00a0<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/p>\n<h2><b><span data-contrast=\"auto\">ArcGIS Knowledge Graph support<\/span><\/b><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/h2>\n<p><span data-contrast=\"auto\">This release also addresses another recurring user request: the ability to automate management of Knowledge Graphs through the ArcGIS API for Python. Users can now perform a host of operations when connecting to their Knowledge Graph servers, including adding\/ \/editing\/deleting entities and relationships, editing the data model, and performing advanced queries with bind parameters. More info can be found in our <\/span><a href=\"https:\/\/developers.arcgis.com\/python\/guide\/part1-introduction-to-knowledge-graphs\/\"><span data-contrast=\"none\">3-part Guide<\/span><\/a> <span data-contrast=\"auto\">and in the <\/span><a href=\"https:\/\/developers.arcgis.com\/python\/api-reference\/arcgis.graph.html#knowledgegraph\"><span data-contrast=\"none\">API Reference<\/span><\/a><i><span data-contrast=\"auto\">.<\/span><\/i><span data-contrast=\"auto\"> Stay tuned for additional functionality and support in future Python API releases as the Knowledge Graph product grows.<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/p>\n<h2><b><span data-contrast=\"auto\">Analysis and Data Science<\/span><\/b><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/h2>\n<p><span data-contrast=\"auto\">The <\/span><a href=\"https:\/\/developers.arcgis.com\/python\/guide\/part1-introduction-to-sedf\/\"><span data-contrast=\"none\">Spatially Enabled DataFrame (SeDF)<\/span><\/a><span data-contrast=\"auto\"> allows you to easily convert your ArcGIS feature layers, feature classes, shapefiles, GeoJSON, etc. into <\/span><a href=\"https:\/\/pandas.pydata.org\/docs\/reference\/api\/pandas.DataFrame.html\"><span data-contrast=\"none\">pandas DataFrames<\/span><\/a><span data-contrast=\"auto\">, which makes it a powerful bridge between ArcGIS and the Python data science ecosystem.\u00a0 Because of this, we listen to your feedback and work hard to hone its capabilities with each release.\u00a0\u00a0<\/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\">In version 2.2.0, we have added the ability to compare and test for equality between two SeDFs using an implementation of the pandas <\/span><a href=\"https:\/\/pandas.pydata.org\/docs\/reference\/api\/pandas.DataFrame.eq.html\"><i><span data-contrast=\"none\">DataFrame.eq()<\/span><\/i><\/a><span data-contrast=\"auto\"> function in the Python API\u2019s <\/span><i><span data-contrast=\"auto\">GeoAccessor<\/span><\/i><span data-contrast=\"auto\"> class. \u00a0This type of functionality can be handy for tasks such as comparing your copy of a SeDF to a master version, or checking to see if a new version of a SeDF has any updated cell values, new rows, or new columns. \u00a0We have also expanded our SeDF\/big data integration story by adding the \u00a0<\/span><i><span data-contrast=\"auto\">GeoDaskSpatialAccessor<\/span><\/i><span data-contrast=\"auto\"> and <\/span><i><span data-contrast=\"auto\">GeoDaskSeriesAccessor<\/span><\/i><span data-contrast=\"auto\"> classes, which bring the parallel processing capabilities of <\/span><a href=\"https:\/\/docs.dask.org\/en\/stable\/dataframe.html\"><span data-contrast=\"none\">Dask DataFrames<\/span><\/a><span data-contrast=\"auto\"> to the Spatially Enabled DataFrame.<\/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 always, we continue to innovate and evolve in the area of GeoAI (machine learning and deep learning) by adding new functionality to the <\/span><a href=\"https:\/\/developers.arcgis.com\/python\/api-reference\/arcgis.learn.toc.html\"><i><span data-contrast=\"none\">arcgis.learn<\/span><\/i><\/a><span data-contrast=\"auto\"> module of the Python API.\u00a0 Some highlights in this release include:<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/p>\n<ul>\n<li><span data-contrast=\"auto\">Support for Long Short-Term Memory (LSTM) architecture in <\/span><i><span data-contrast=\"auto\">TimeSeries<\/span><\/i><span data-contrast=\"auto\"> models<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/li>\n<li><span data-contrast=\"auto\">New <\/span><i><span data-contrast=\"auto\">estimate_batch_size() <\/span><\/i><span data-contrast=\"auto\">function, which helps you choose the appropriate number of training samples (mini batch size) based on your GPU capacity, the size of the model, and the size of your data<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/li>\n<li><span data-contrast=\"auto\">Addition of <\/span><i><span data-contrast=\"auto\">MMDetection3D<\/span><\/i><span data-contrast=\"auto\"> models for 3D object detection\u00a0\u00a0\u00a0<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/li>\n<li><span data-contrast=\"auto\">Support for multimodal machine learning (vector\/tabular + text + imagery)\u00a0<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/li>\n<li><span data-contrast=\"auto\">Options for addressing fairness in machine learning systems<\/span><\/li>\n<\/ul>\n<h2><b><span data-contrast=\"auto\">SDK (Documentation, guides, and samples)<\/span><\/b><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/h2>\n<ul>\n<li><span data-contrast=\"auto\">New <\/span><a href=\"https:\/\/developers.arcgis.com\/python\/guide\/part1-introduction-to-knowledge-graphs\/\"><span data-contrast=\"none\">guides<\/span><\/a><span data-contrast=\"auto\"> showing end-to-end ArcGIS Knowledge workflows<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/li>\n<li><span data-contrast=\"auto\">New set of <\/span><a href=\"https:\/\/developers.arcgis.com\/python\/guide\/hub-submodule-intro\/\"><span data-contrast=\"none\">guides<\/span><\/a><span data-contrast=\"auto\"> for ArcGIS Hub<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/li>\n<li><span data-contrast=\"auto\">New <\/span><a href=\"https:\/\/developers.arcgis.com\/python\/samples\/\"><span data-contrast=\"none\">sample notebooks<\/span><\/a><span data-contrast=\"auto\"> for GIS administration and content management workflows<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/li>\n<li><span data-contrast=\"none\">Updates to the <\/span><a href=\"https:\/\/developers.arcgis.com\/python\/guide\/managing-offline-map-areas\/\"><span data-contrast=\"none\">guide<\/span><\/a><span data-contrast=\"none\"> for working with offline webmaps to demonstrate methods for creating, listing, and updating offline areas<\/span><span data-ccp-props=\"{&quot;134233117&quot;:true,&quot;134233118&quot;:true,&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:240}\">\u00a0<\/span><\/li>\n<li><span data-contrast=\"none\">Updates to the <\/span><a href=\"https:\/\/developers.arcgis.com\/python\/guide\/accessing-and-managing-users\/\"><span data-contrast=\"none\">guide<\/span><\/a><span data-contrast=\"none\"> for accessing and managing users to account for differences between ArcGIS Online and Enterprise deployment patterns<\/span><\/li>\n<\/ul>\n"},{"acf_fc_layout":"image","image":{"ID":2092812,"id":2092812,"title":"MicrosoftTeams-image (19)","filename":"MicrosoftTeams-image-19.jpg","filesize":115175,"url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2023\/10\/MicrosoftTeams-image-19.jpg","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/api-python\/developers\/whats-new-in-arcgis-api-for-python-2-2-0-september-2023\/microsoftteams-image-19-6","alt":"","author":"290632","description":"","caption":"New sample notebooks for GIS administration and content management workflows.","name":"microsoftteams-image-19-6","status":"inherit","uploaded_to":2092772,"date":"2023-10-04 20:11:39","modified":"2023-10-04 20:11:52","menu_order":0,"mime_type":"image\/jpeg","type":"image","subtype":"jpeg","icon":"https:\/\/www.esri.com\/arcgis-blog\/wp-includes\/images\/media\/default.png","width":723,"height":598,"sizes":{"thumbnail":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2023\/10\/MicrosoftTeams-image-19-213x200.jpg","thumbnail-width":213,"thumbnail-height":200,"medium":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2023\/10\/MicrosoftTeams-image-19.jpg","medium-width":316,"medium-height":261,"medium_large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2023\/10\/MicrosoftTeams-image-19.jpg","medium_large-width":723,"medium_large-height":598,"large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2023\/10\/MicrosoftTeams-image-19.jpg","large-width":723,"large-height":598,"1536x1536":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2023\/10\/MicrosoftTeams-image-19.jpg","1536x1536-width":723,"1536x1536-height":598,"2048x2048":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2023\/10\/MicrosoftTeams-image-19.jpg","2048x2048-width":723,"2048x2048-height":598,"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2023\/10\/MicrosoftTeams-image-19-562x465.jpg","card_image-width":562,"card_image-height":465,"wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2023\/10\/MicrosoftTeams-image-19.jpg","wide_image-width":723,"wide_image-height":598}},"image_position":"center","orientation":"horizontal","hyperlink":""},{"acf_fc_layout":"content","content":"<h2><b><span data-contrast=\"auto\">Community and Collaboration<\/span><\/b><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/h2>\n<p><span data-contrast=\"auto\">We encourage you to access our growing collection of resources that provide additional guidance for Python API and we also request that you continue to share your feedback with us.\u00a0 You can use the <\/span><a href=\"https:\/\/community.esri.com\/t5\/arcgis-api-for-python\/ct-p\/arcgis-api-for-python\"><span data-contrast=\"none\">ArcGIS API for Python Esri Community page<\/span><\/a><span data-contrast=\"auto\"> to\u00a0 ask specific questions, suggest ideas for enhancements and improvements, connect with other users, and read recent blogs.\u00a0 You can also use the <\/span><a href=\"https:\/\/github.com\/Esri\/arcgis-python-api\/issues\"><span data-contrast=\"none\">ArcGIS API for Python Public GitHub Repo<\/span><\/a><span data-contrast=\"auto\"> to submit bugs, enhancement requests, and other issues. 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><\/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":"","card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2023\/06\/laptop-code-card-AdobeStock_417658001.png","wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/08\/v1-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.2.0 (September 2023)<\/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-2-0-september-2023\" \/>\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.2.0 (September 2023)\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.esri.com\/arcgis-blog\/products\/api-python\/developers\/whats-new-in-arcgis-api-for-python-2-2-0-september-2023\" \/>\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:42:56+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=\"6 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-2-0-september-2023#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/api-python\/developers\/whats-new-in-arcgis-api-for-python-2-2-0-september-2023\"},\"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.2.0 (September 2023)\",\"datePublished\":\"2023-10-04T20:13:55+00:00\",\"dateModified\":\"2025-04-18T18:42:56+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/api-python\/developers\/whats-new-in-arcgis-api-for-python-2-2-0-september-2023\"},\"wordCount\":9,\"publisher\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#organization\"},\"articleSection\":[\"Developers\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/api-python\/developers\/whats-new-in-arcgis-api-for-python-2-2-0-september-2023\",\"url\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/api-python\/developers\/whats-new-in-arcgis-api-for-python-2-2-0-september-2023\",\"name\":\"What's New in ArcGIS API for Python 2.2.0 (September 2023)\",\"isPartOf\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#website\"},\"datePublished\":\"2023-10-04T20:13:55+00:00\",\"dateModified\":\"2025-04-18T18:42:56+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/api-python\/developers\/whats-new-in-arcgis-api-for-python-2-2-0-september-2023#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-2-0-september-2023\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/api-python\/developers\/whats-new-in-arcgis-api-for-python-2-2-0-september-2023#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.2.0 (September 2023)\"}]},{\"@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.2.0 (September 2023)","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-2-0-september-2023","og_locale":"en_US","og_type":"article","og_title":"What's New in ArcGIS API for Python 2.2.0 (September 2023)","og_url":"https:\/\/www.esri.com\/arcgis-blog\/products\/api-python\/developers\/whats-new-in-arcgis-api-for-python-2-2-0-september-2023","og_site_name":"ArcGIS Blog","article_publisher":"https:\/\/www.facebook.com\/esrigis\/","article_modified_time":"2025-04-18T18:42:56+00:00","twitter_card":"summary_large_image","twitter_site":"@ESRI","twitter_misc":{"Est. reading time":"6 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-2-0-september-2023#article","isPartOf":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/products\/api-python\/developers\/whats-new-in-arcgis-api-for-python-2-2-0-september-2023"},"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.2.0 (September 2023)","datePublished":"2023-10-04T20:13:55+00:00","dateModified":"2025-04-18T18:42:56+00:00","mainEntityOfPage":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/products\/api-python\/developers\/whats-new-in-arcgis-api-for-python-2-2-0-september-2023"},"wordCount":9,"publisher":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/#organization"},"articleSection":["Developers"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/www.esri.com\/arcgis-blog\/products\/api-python\/developers\/whats-new-in-arcgis-api-for-python-2-2-0-september-2023","url":"https:\/\/www.esri.com\/arcgis-blog\/products\/api-python\/developers\/whats-new-in-arcgis-api-for-python-2-2-0-september-2023","name":"What's New in ArcGIS API for Python 2.2.0 (September 2023)","isPartOf":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/#website"},"datePublished":"2023-10-04T20:13:55+00:00","dateModified":"2025-04-18T18:42:56+00:00","breadcrumb":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/products\/api-python\/developers\/whats-new-in-arcgis-api-for-python-2-2-0-september-2023#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-2-0-september-2023"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.esri.com\/arcgis-blog\/products\/api-python\/developers\/whats-new-in-arcgis-api-for-python-2-2-0-september-2023#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.2.0 (September 2023)"}]},{"@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":"October 4, 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-2-0-september-2023","custom_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/08\/v1-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":420,"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":761642,"name":"ArcGIS Location Platform","slug":"platform","term_group":0,"term_taxonomy_id":761642,"taxonomy":"product","description":"","parent":36601,"count":213,"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\/2092772","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=2092772"}],"version-history":[{"count":0,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/blog\/2092772\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/media?parent=2092772"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/categories?post=2092772"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/tags?post=2092772"},{"taxonomy":"industry","embeddable":true,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/industry?post=2092772"},{"taxonomy":"product","embeddable":true,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/product?post=2092772"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}