There’s no doubt about it—lots of people are interested in using Python scripts to automate ArcGIS tasks and workflows. Last week’s live training seminar on creating Python add-ins (new functionality at ArcGIS 10.1) attracted a large audience.
If you couldn’t attend the live seminar, the recording is now available for free viewing on the Esri Training website. Seminar attendees submitted a lot of questions during the three broadcasts. Here’s a quick recap of the most common questions.
Why would I build a Python add-in?
- Add-ins were introduced at ArcGIS 10.0 as a customization option for .NET and Java developers. A Python add-in is a new option to extend the functionality of ArcGIS 10.1 for Desktop applications. You can apply your Python skills to create and easily share custom buttons and tools, toolbars, tool palettes, combo boxes, menus, and application extensions.
When should I use a Python add-in instead of a .NET or Java add-in?
- Python is generally easier to learn and code with than the .NET and Java languages and doesn’t require ArcObjects knowledge. However, you can use whichever platform you are most comfortable with. Python allows you to do most of the same things you can do with .NET and Java (note that you can’t create dockable windows or customize the ArcGIS user interface with a Python add-in).
Why should I use an add-in instead of a stand-alone Python script?
- The choice of whether to use a Python add-in or a stand-alone script (or script tool) depends on the functionality you want to provide. If you need to access and run geoprocessing tools to perform data management, analysis, or mapping workflows, a stand-alone script or script tool works well. If you want to provide a custom way for users to interact with the application or extend application functionality, then an add-in is a good solution.
Can you access ArcGIS extensions from a Python add-in?
- Yes, an add-in includes a Python script, which can access to everything in the ArcPy site package, including extensions. Keep in mind that add-in users must have access to any needed extension licenses for tools used in the add-in.
Can you use a Python add-in with ArcGIS Explorer Desktop, ArcReader, or ArcPublisher?
- No, Python add-ins are designed to extend the ArcGIS 10.1 for Desktop applications— ArcMap, ArcCatalog, ArcScene, and ArcGlobe.
Can an add-in be embedded in a ModelBuilder model?
- An add-in cannot be embedded in a model. Script tools are still used in geoprocessing models at ArcGIS 10.1.
Will ArcGIS 10.0 users be able to use a Python add-in created in ArcGIS 10.1?
- Python add-ins will be available only to ArcGIS 10.1 users.
When will ArcGIS 10.1 be released?
- ArcGIS 10.1 is planned to be released in June.
Where can I learn more about creating Python add-ins?
- The ArcGIS 10.1 Resource Center has a Guide Book that includes step-by-step instructions for creating Python add-ins.
- Creating a Python add-in relies on solid Python scripting knowledge. There are many resources to learn Python—a simple online search will give you plenty to consider. If you want to learn Python scripting syntax in the context of ArcGIS workflows, we have several instructor-led and web training options available.