Retrieves the license from the License Manager.


CheckOutExtension is only needed when using a Concurrent Use license; for all other cases, it has no effect. When using a Concurrent Use license, 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 so other applications can use it. All checked-out extension licenses and set product licenses are returned when a script completes.


CheckOutExtension (extension_code)
ParameterExplanationData Type

Specifies the extension product to be checked.

  • 3DArcGIS 3D Analyst extension
  • AeronauticalArcGIS Aviation Charting
  • AirportsArcGIS Aviation Airports
  • ArcScanArcScan
  • BathymetryArcGIS Bathymetry
  • BusinessPremArcGIS Business Analyst
  • DataReviewerArcGIS Data Reviewer Desktop
  • DataInteroperabilityArcGIS Data Interoperability extension for Desktop
  • DefenseArcGIS Defense Mapping
  • FoundationArcGIS Production Mapping
  • GeoStatsArcGIS Geostatistical Analyst extension
  • IndoorsArcGIS Indoors
  • ImageAnalystImage Analyst
  • JTXArcGIS Workflow Manager (Classic) Desktop
  • LocationReferencingArcGIS Pipeline Referencing or ArcGIS Roads and Highways
  • LocateXTLocateXT
  • NauticalArcGIS Maritime
  • NetworkArcGIS Network Analyst extension
  • PublisherArcGIS Publisher
  • SchematicsArcGIS Schematics extension
  • SMPAsiaPacificStreetMap Premium Asia Pacific
  • SMPEuropeStreetMap Premium Europe
  • SMPJapanStreetMap Premium Japan
  • SMPLatinAmericaStreetMap Premium Latin America
  • SMPMiddleEastAfricaStreetMap Premium Middle East Africa
  • SMPNorthAmericaStreetMap Premium North America
  • SpatialArcGIS Spatial Analyst extension
  • TrackingArcGIS Tracking Analyst extension

Learn more about accessing licenses and extensions in Python

Return Value
Data TypeExplanation

The function returns a string indicating the success or failure of the checkout.

  • NotInitializedNo desktop license has been set.
  • UnavailableThe requested license is unavailable to be set.
  • CheckedOutThe license has been set successfully.

Code sample

CheckOutExtension example

Checks out the ArcGIS 3D Analyst extension for use by tools.

import arcpy

class LicenseError(Exception):

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

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

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

Related topics