Community Spring Cleaning week is here! Join your fellow Maveryx in digging through your old posts and marking comments on them as solved. Learn more here!
The Product Idea boards have gotten an update to better integrate them within our Product team's idea cycle! However this update does have a few unique behaviors, if you have any questions about them check out our FAQ.

Alteryx Designer Desktop Ideas

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

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

Submission Guidelines

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 @cam_w @jdunkerley79 

3 Comments
KylieF
Alteryx Community Team
Alteryx Community Team

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!

AlteryxCommunityTeam
Alteryx Community Team
Alteryx Community Team
Status changed to: Accepting Votes
 
clmc9601
13 - Pulsar
13 - Pulsar

This would make Python development in Alteryx much easier!