CheckExtension (arcpy)

Summary

Checks to see if a license is available to be checked out for a specific type of extension.

Once the extension license has been retrieved by the script, tools using that extension can be used. Once a script is finished with an extension's tools, the CheckInExtension function should be used to return the license to the License Manager so other applications can use it. All checked-out extension licenses and set product licenses are returned to the License Manager when a script completes.

Syntax

CheckExtension (extension_code)
ParameterExplanationData Type
extension_code

Keyword for the extension product that is being checked.

  • 3D —ArcGIS 3D Analyst extension
  • Datareviewer —ArcGIS Data Reviewer for Desktop
  • DataInteroperability —ArcGIS Data Interoperability extension for Desktop
  • Airports —ArcGIS for Aviation: Airports
  • Aeronautical —ArcGIS for Aviation: Charting
  • Bathymetry —ArcGIS for Maritime: Bathymetry
  • Nautical —ArcGIS for Maritime: Charting
  • GeoStats —ArcGIS Geostatistical Analyst extension
  • Network —ArcGIS Network Analyst extension
  • Spatial —ArcGIS Spatial Analyst extension
  • Schematics —ArcGIS Schematics extension
  • Tracking —ArcGIS Tracking Analyst extension
  • JTX —ArcGIS Workflow Manager for Desktop
  • ArcScan —ArcScan
  • Business —Business Analyst
  • Defense —Esri Defense Solution
  • Foundation —Esri Production Mapping
  • Highways —Esri Roads and Highways
  • StreetMap —StreetMap
String
Return Value
Data TypeExplanation
String

There are four possible returned values for CheckExtension:

  • Available —The requested license is available to be set.
  • Unavailable —The requested license is unavailable to be set.
  • NotLicensed —The requested license is not valid.
  • Failed —A system failure occurred during request.

Code Sample

CheckExtension example

Check for availability of 3D Analyst extension before checking it out.

import arcpy

class LicenseError(Exception):
    pass

try:
    if arcpy.CheckExtension("3D") == "Available":
        arcpy.CheckOutExtension("3D")
    else:
        # raise a custom exception
        raise LicenseError

    arcpy.env.workspace = "c:/GrosMorne"
    arcpy.HillShade_3d("WesternBrook", "wbrook_hill", 300)
    arcpy.Aspect_3d("WesternBrook", "wbrook_aspect")
    arcpy.CheckInExtension("3D")

except LicenseError:
    print("3D Analyst license is unavailable")
except arcpy.ExecuteError:
    print(arcpy.GetMessages(2))

Related Topics

3/3/2014