One of my favorite additions to ArcGIS 10 was the ability to create and use add-ins. In ArcGIS 10.1, python was added to the list of available languages which included .NET, Java, and XML. But what are add-ins and how can we benefit from them?
Straight from the ESRI guidebook on Python add-ins:
“An add-in is a customization, such as a collection of tools on a toolbar, that plugs into ArcGIS for Desktop application (that is ArcMap, ArcCatalog, ArcGlobe, and ArcScene) to provide supplemental functionality for accomplishing custom tasks.”
What does that mean? Well, the possibilities are endless! You can essentially create your own tools and more to do your bidding on ArcGIS. You can streamline processes to make analysis or creating data more efficient. You can build tools to run a statistical methodology that isn’t already in Arc. After you’ve reached the boundaries of your imagination for tools (and etc.) you can easily share your creation with the world which can also easily be installed.
There are seven different types of python add-ins you can create.

Creating the code is the ‘hard’ part. Creating the type of add-in is incredibly simple. The Python Add-in Wizard takes you through the process to package up whatever type of add-in you’ve chosen to create. You have to install the Wizard before proceeding.
Luckily, there are tons of resources for creating add-ins, but you don’t have to stray too far from ESRI as their guidebook is quite impeccable. The guidebook for 10.1 is located here and for here for 10.2 . These guidebooks break down each step to creating your add-in in a simple format.
Other great resources include:
ESRI Video: Developing Python Add-ins for ArcGIS Desktop
ESRI Training: Creating Desktop Add-ins Using Python (for ArcGIS 10.1)
Do you have any other great resources for Python Add-ins?
Come back soon for my next post featuring a Python Add-in Toolbar!