With the release of Alteryx Designer 2018.2, the Python SDK has finally shed its Beta flag!
Now it's time to celebrate!
To enter the contest:
You'll have to make a decision: keep working on your tool closer to the deadline to make it as perfect as possible, or submit it early so you have time to socialize your post to get as many stars as possible?
☝️☝️☝️ The winner will receive a custom WASD mechanical keyboard 🌋🌋🌋
👇👇👇 All entrants will be rewarded with the Python Contest badge 🔥🔥🔥
Remember to make sure you've upgraded to 2018.2.
Subscribe to this thread or check back here (pythoncontest.alteryx.com) to vote as new tools are submitted!
I'm itching to get this party started. Here is the Word Cloud tool that @NickJ used during his Inspire 2018 product keynote demo. First open the yxi file with Alteryx Designer 2018.2 to install the tool. Then check out the sample for an example usage. Rock on!
[Alteryx employees can post their tools here, but will not contend for the keyboard :) ]
Can I just say I am SO JEALOUS of the keyboard!! While I'm not able to qualify for it, here's my very first tool developed with the Python SDK!
This tool the Python package Mimesis to generate dummy data for testing purposes. The tool as an optional input, so users can either create a completely new data source, or append dummy data to existing fields. There is also Locale option that will generate data that is appropriate for the language or country associated with that locale.
Here's a small demo:
Thinking forward to v2 - I'm looking to make the following changes:
1. Restrict the numeric spinner to positive numbers
2. Output fields in more appropriate data types - currently everything outputs as a string
3. Possibly read in the Lat/Lon field as a spatial object instead?
4. Add in the progress percentage for downstream tools
Any other suggestions/feedback are highly appreciated (and sought after) :)
Just a little basic tool to generate spatial objects from GeoJSON -Alteryx Engine "little secret" to handle spatial objects- code.
As current version of Python SDK doesn't support spatial objects, I thought it could be interesting to find a workaround. More details to follow in another post...
Full GeoJSON file:
Partial GeoJSON file:
Are we allowed to post more than 1 tool? I am working on a second tool which I would be interested in submitting...if I ever finish it.
I created a modest custom tool with Python to extract regex matches out of fields of text. You provide a pattern to the tool, tell it which field to search, and it will extract every occurrence of text that matches the pattern. Think of it like the Regex Parse tool, but instead of parsing into columns, each match parses into a new record.
First I want to give a shout out to @NeilR and @NickJ for the blog post they wrote. I am not really a developer so those blogs got me started and I wouldn't have been able to build this without them. For anybody considering building a tool who has limited python experience like I do, Nick's blog make it very easy to follow step by step exactly what you have to do.
As for the tool I built, I decided to use the Vader Sentiment python package and wrap in an Alteryx tool. It scores a text field into positive, negative, and neutral scores from the words and phrase in it.
Taking the advice of @NeilR and submitting my unfinished tool EARLY so I have time to socialize it, but more importantly, see if anyone wants to partner up on finishing it with me :)
I went a slightly different route by trying to recycle some python code developed some months back to scrape Glassdoor review data (with their permission.) Unfortunately, I can't get passed the finish line on this tool without getting the input/output portion of the python code nailed down. So the caveat to using the tool today is that to pick a company, and land the data...you have to update the variable in the python script (line 13,[filenameExcel]) for it to reference a location (where the tool is unpackaged). Not fun - which is why I'm hoping to coerce someone(s) into getting that bit figured out :)
So, not even a beta...but an "alpha" is attached, and if interested, you can see how it works with a sample company. I will also take the advice of bribing...so if I can get some help on this, I'll add few dozen companies to the picklist...and if we get some good stars from that finished product/this...i'll add a couple hundred! It's doable - and the resulting dataset is super fun to play with (per below)
In the meantime, I'll keep chuggin' along on this, as it was a really fun process to dig into. Thanks @NickJ for the great background, and @PaulN & @StephenW for the direction! Can't wait to see what others come up with!
Glassdoor Company Review Scraper (BETA) is complete! HUGE shoutout to @tlarsen7572 for taking it the last 10 (20...30?) yards! You can download the package and start using it today :)
The best part of this contest was collaborating on a pythonSDK project with others!
A) bc there's no way I would have completed this in the coming weeks without the help...but also,
B) finding dev community members that were so quick and willing to dig in and solve problems together!
To the above point, we also chatted about how there's opportunity out there for better means to communicate (quickly/collaboratively) in community. For now, @Nate1 set up a Slack channel so we could discuss the additional work to be done on this project. If anyone is interested in joining that conversation, the link is below! Or, let us know the best way to go about that.
Cheers for the fun challenge Alteryx!
I was tempted to accept the 100 tool challenge, but my family wants to see me this month.
Another tool for the contest! I am very....particular...about structuring my work, to the point where I have specific styling and spacing guidelines for my workflows. This...attention to detail...also extends to the structure of the data I output. In short, it really, really bothers me when columns are not organized properly. I have been getting frustrated with the traditional Select tool, so I decided to create my own field sorter tool that would exhibit the following characteristics:
Last week I created a Python tool to accomplish those objectives. It is 'skinned' with a React web app. I have started using it in production and feel more at peace with the world, so I thought it would be worth sharing.