Today I found out about the ArcGIS API for Python. I was wondering if you could use this to (eventually) replace ArcPy?

Recently I have been doing analyses that require cloud based solutions. When using AWS, Docker and Jupyter it is very convenient to stick with a Unix based OS such as Ubuntu. However, the Unix alternatives for ArcGIS have their own limitations as well such as the always hard to install python bindings for the GDAL library. ArcGIS for Python operates cross platform.

Perhaps there are the things I should and should not expect from the ArcGIS API for Python.

Perhaps Arcpy is going to disappear altogether.

API in action


1 Answer 1


From Overview of the ArcGIS API for Python:

The ArcGIS API for Python is implemented using the online and on-premises web GIS platform provided by ArcGIS Online and ArcGIS Enterprise respectively. The API has Python modules, classes, functions, and types for managing and working with elements of the ArcGIS platform information model.

From Essential ArcPy vocabulary:

ArcPy (often referred to as the ArcPy site package) provides Python access for all geoprocessing tools, including extensions, as well as a wide variety of useful functions and classes for working with and interrogating GIS data. Using Python and ArcPy, you can develop an infinite number of useful programs that operate on geographic data.

Since ArcPy is part of the Geoprocessing framework of ArcGIS Desktop, and the ArcGIS API for Python is implemented using ArcGIS Online and ArcGIS Enterprise, I think it is safe to say that the two are complementary, and at this stage there does not seem to be any indication that one will subsume the other in the foreseeable future.

The ArcGIS Pro Python Reference page tells us how Esri's Software Development view the two:

ArcPy and the ArcGIS API for Python are complimentary libraries; ArcPy allows you to use, automate and extend desktop GIS, and the ArcGIS API for Python supports the same for web GIS.

An example would be using ArcPy to manage local data, adding them as layers to a map and using geoprocessing tools to create outputs and service definition files. The ArcGIS API for Python could then be used to publish the definition files to the web GIS, compose a web map or share those layers with others.

Although both come free with ArcGIS Desktop, when they wrote "complimentary libraries" I suspect that they meant "complementary libraries".

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.