Tracking progress of running geoprocessing tools in ArcPy?

You can't get this information as the Python script will block until the tool has finished running.


You cannot get current status of the tool execution when it has been executed in Python (arcpy). The tool would have to execute Asynchronously, not blocking your application to support this. If it was Async you'd assign the execution call to a variable and check the variable status. Thats exactly how a GP Service works. But your scenario is calling a tool in Desktop, and this execution mode is essentially Synchronous: you execute the tool and your script "freezes" till its done.

Looking at multiprocessing or similar techniques will not help. The thread or job you launch won't return anything until the tool is finished.

In short, percentage complete is a capability of the UI.