Alteryx Designer Ideas

Share your Designer product ideas - we're listening!
Submitting an Idea?

Be sure to review our Idea Submission Guidelines for more information!

Submission Guidelines
It's the most wonderful time of the year - Santalytics 2020 is here! This year, Santa's workshop needs the help of the Alteryx Community to help get back on track, so head over to the Group Hub for all the info to get started!

Development environment & harness for Python SDK Plugins

When building custom tools for Alteryx using the Python SDK, there is no current way to test these outside of the Alteryx Designer.

This means that your development process is:

- write some code (no code-sense; intellisense; auto-complete because Jupyter; VSCode; Visual Studio; etc cannot access AlteryxEngine or any of the other imports)

- hope

- copy that .py module into your C:\Users\<username>\AppData\roaming\Alteryx\Tools\<toolname>

- fire up Alteryx

- drop this new custom tool on a canvas

- run it to see if you get any errors

- then copy these errors out of Alteryx result window into Notepad to be able to read them

- then go back into your development environment to make changes

- repeat.

 

This is very painful, and this will directly scare most people away from learning how to create custom tools since it's not only inefficient - but also scary and frustrating for beginners.

 

Proposal:

Could we instead create mock python libraries; and a development harness (like Google does with Android development in Eclipse) in this SDK where:

- you have full code intelligence (intellisense, autocomplete)

- you can simulate engine events in a test harness (for example in the Android SDK; you can simulate the user rotating their phone, turning off GPS, hitting a volume button, etc).

- you can also write test cases which can run automatically

- then once you know that your tool will work - only then you drop it into the Alteryx Designer environment.

NOTE: This IDE way of thinking also allows you to bring the configuration pieces (like number of inputs; etc) out of raw code and into configuration options.

 

Although you may be able to do remote debugging by using platforms like PyCharm - that really does not give you the full ability to check in the code of your tool; along with all the test cases; in a harness that allows you to automatically check different events; or to make sure that your tool works in the test harness before deploying.

 

Thank you

 

 

 

 

 

cc: @BlytheE @SteveA @Ozzie @tlarsen7572 @c2willis @jdunkerley79 

1 Comment
Moderator
Moderator

Your idea and feedback is appreciated!

 

Our product team is constantly striving to make our products better, and the user feedback we received is critical in that mission. We recommend checking out our Submission Guidelines as they go into greater depth on the criteria needed for an idea to reach product as well as go over the boards in general. Make sure to also check out other user’s ideas!