Whenever a tool is run in a script, an ArcGIS license is required. Tools from ArcGIS extensions, such as the ArcGIS Spatial Analyst extension, require an additional license for that extension. If the necessary licenses are not available, a tool fails and returns error messages. For example, if you install with a Desktop Basic license, and you attempt to run a tool that requires a Desktop Standard or Desktop Advanced license, the tool fails.
Every tool checks to ensure it has the appropriate license. If it doesn't have what's required, it fails. To guard against the situation of running partially through and failing, you can perform a check at the top of your script and fail immediately. Use the CheckExtension function to evaluate if you are licensed for a particular extension, and use the CheckProduct function to evaluate if you are licensed for a particular product level.
The ArcGIS Pro application is part of ArcGIS Desktop, which has three levels—Desktop Basic, Desktop Standard, and Desktop Advanced—with each level providing additional functionality. Only ArcGIS Pro uses licensing through the organization. Other ArcGIS Desktop applications—ArcMap, ArcCatalog, ArcGlobe, and ArcScene—use the local ArcGIS Administrator application to set levels and extensions.
For more information on licensing in ArcGIS Pro, see Licensing ArcGIS Pro.
For more information on licensing outside of ArcGIS Pro, see Authorize Python outside the application.
When ArcGIS Pro uses licensing through the organization, the available product level and extensions are set by your account and available automatically from arcpy. With a Concurrent Use license in ArcGIS Pro and with other ArcGIS Desktop applications, specific functions (including CheckOutExtension and CheckInExtension) are required to access certain tools; with other types of licenses in ArcGIS Pro, these functions have no effect.