Arcpy API vs ArcGIS Python API - eventual deprecation of arcpy?

6302
4
12-22-2016 11:35 AM
Jay_Gregory
Occasional Contributor III

This falls under a more long term strategy question (which is also related to the Python language long term strategy as well...).  

Is it the plan to eventually deprecate the Python 2.x arcpy API in place of this?  In other words, if I was to refactor all my old arcpy scripts to this Python ArcGIS API supporting Python 3.x, would that be unnecessary work, or is this something that is going to come up eventually anyway?

Also, as someone that relies heavily on my arcpy scripts (including arcpy scripts for redeploying server instances, publishing services, ingesting data to RDBMS'), can someone speak to where it might be appropriate to start learning this API and where appropriate to continue using the older arcpy API...if at all?

Thanks

Tags (1)
4 Replies
ChristianWells
Esri Regular Contributor

Hi Jay, just to clarify the standard arcpy site package shipped with ArcGIS Desktop and ArcGIS Enterprise is unrelated to the ArcGIS Python API. 

The arcpy site package still holds its purpose in both Python 2 (ArcGIS Desktop/Enterprise) and Python 3 (ArcGIS Pro) for mapping, data management, analysis, etc. 

The ArcGIS Python API, however, is designed for web GIS such ArcGIS Online/Portal for ArcGIS administration, analysis, content creation, etc. 

ArcGIS API for Python | ArcGIS for Developers 

"The ArcGIS Python API lets ArcGIS Online and ArcGIS Enterprise users, analysts, developers and administrators script and automate tasks ranging from performing big data analysis to content management and administration of their web GIS. The API integrates well with the Jupyter Notebook and the SciPy stack and enables academics, data scientists, and GIS analysts to share programs and reproducible research with others"

Simply put:

arcpy is for Desktop GIS application

ArcGIS Python API is for Web GIS application

ChristianWells
Esri Regular Contributor

Some additional notes to your comments on:

"including arcpy scripts for redeploying server instances, publishing services, ingesting data to RDBMS"

Publishing Services:

Redeploying Server Instances:

  • If you are referring to managing services or perform administrative processes of ArcGIS GIS Server, that functionality does not exist in the ArcGIS Python API
  • The main use of the ArcGIS Python API is for Portal for ArcGIS and ArcGIS Online 

Ingesting Data to RDBMS:

  • ArcGIS Python API has no DBMS capabilities
Jay_Gregory
Occasional Contributor III

Thanks Christian - very helpful context!

0 Kudos
by Anonymous User
Not applicable

Christian Wells,

I am all new to the ArcGIS API for Python. However, is it possible to access online layers with the ArcGIS API for Python, but then use those layers within arcpy geoprocessing tools?

Thanks,

Nikholai

0 Kudos