Skip to main content

CheckExtension

Summary

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

Learn more about licensing and extensions

Syntax

CheckExtension(extension_code)

Parameter Explanation Data Type

extension_code

Specifies the extension product that is being checked.

  • 3D—ArcGIS 3D Analyst extension

  • Aeronautical—ArcGIS Aviation Charting

  • Airports—ArcGIS Aviation Airports

  • ArcScan—ArcScan

  • Bathymetry—ArcGIS Bathymetry

  • BusinessPrem—ArcGIS Business Analyst

  • DataReviewer—ArcGIS Data Reviewer

  • DataInteroperability—ArcGIS Data Interoperability extension for Desktop

  • Defense—ArcGIS Topographic Mapping

  • Foundation—ArcGIS Topographic Mapping

  • GeoStats—ArcGIS Geostatistical Analyst extension

  • Indoors—ArcGIS Indoors

  • ImageAnalyst—Image Analyst

  • JTX—ArcGIS Workflow Manager (Classic) Desktop

  • LocationReferencing—ArcGIS Pipeline Referencing or ArcGIS Roads and Highways

  • LocateXT—LocateXT

  • Nautical—ArcGIS Maritime

  • Network—ArcGIS Network Analyst extension

  • Publisher—ArcGIS Publisher

  • Schematics—ArcGIS Schematics extension

  • SMPAsiaPacific—StreetMap Premium Asia Pacific

  • SMPEurope—StreetMap Premium Europe

  • SMPJapan—StreetMap Premium Japan

  • SMPLatinAmerica—StreetMap Premium Latin America

  • SMPMiddleEastAfrica—StreetMap Premium Middle East Africa

  • SMPNorthAmerica—StreetMap Premium North America

  • Spatial—ArcGIS Spatial Analyst extension

  • Tracking—ArcGIS Tracking Analyst extension

String

Return value

Data Type Explanation

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 ArcGIS 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.ddd.HillShade("WesternBrook", "wbrook_hill", 300)
    arcpy.ddd.Aspect("WesternBrook", "wbrook_aspect")
    arcpy.CheckInExtension("3D")

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