What are the input requirements?
One solution is to create a new tool in a Toolbox.tbx and setup input parameters. Then you can open/popup this as a UI with:
pythonaddins.GPToolDialog(r'<path>\<toolboxname.tbx>', '<tool name>')
Here's how it might look hooked into an add-in with a button tool:
class ButtonClass_CreateSHP(object):
"""Implementation for my_addin.button_1 (Button)"""
def __init__(self):
self.enabled = True
self.checked = False
def onClick(self):
pythonaddins.GPToolDialog(r'<path>\<toolboxname.tbx>', 'CreateShapefile')