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.

  • 3DArcGIS 3D Analyst extension
  • DatareviewerArcGIS Data Reviewer for Desktop
  • DataInteroperabilityArcGIS Data Interoperability extension for Desktop
  • AirportsArcGIS for Aviation: Airports
  • AeronauticalArcGIS for Aviation: Charting
  • BathymetryArcGIS for Maritime: Bathymetry
  • NauticalArcGIS for Maritime: Charting
  • GeoStatsArcGIS Geostatistical Analyst extension
  • NetworkArcGIS Network Analyst extension
  • SpatialArcGIS Spatial Analyst extension
  • SchematicsArcGIS Schematics extension
  • TrackingArcGIS Tracking Analyst extension
  • JTXArcGIS Workflow Manager for Desktop
  • ArcScanArcScan
  • BusinessBusiness Analyst
  • DefenseEsri Defense Solution
  • FoundationEsri Production Mapping
  • HighwaysEsri Roads and Highways
  • StreetMapStreetMap
String
Return Value
Data TypeExplanation
String

There are four possible returned values for CheckExtension:

  • AvailableThe requested license is available to be set.
  • UnavailableThe requested license is unavailable to be set.
  • NotLicensedThe requested license is not valid.
  • FailedA 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