We are excited to announce the latest release of the Alteryx Platform SDK, marked by the removal of Shiv from the tool distribution process, a strategic move by downgrading the minimum Node version to 12, and reverting --use-ui and --no-use-ui options to maintain backwards compatibility. In our ongoing efforts to enhance your development experience, we've delved into the build process, scrutinized Shiv's role, and identified opportunities for improvement. The result is a more streamlined, idiomatic Python installation process that not only simplifies development but also elevates the debugging and development experience.
The Shiv Dilemma
Shiv has been a reliable companion for distributing tools produced by the Python SDK, but as technology evolves, so does our approach. After careful examination, we realized that removing Shiv from the equation would bring forth several benefits, both in terms of development efficiency and user experience.
Simplifying the Build and Installation Process
Shiv was an integral part of our distribution strategy, but as we reevaluated our processes, we found that its role could be safely eliminated. By doing so, we've significantly streamlined the build and installation process.
Reverting Changes for Backwards Compatibility
In response to customer feedback, we've reverted the --use-ui and --no-use-ui options in the CLI version 1.1.0. Instead, we now introduce a new option --omit-ui to allow users to opt-out of scaffolding plugins with UI-SDK components. This change is designed to create a better, more streamlined path for both categories of users:
1. Customers who Care about UI: If your plugin utilizes UI components, you can continue to do so effortlessly. The UI-SDK components will be automatically scaffolded by default if the --omit-ui option is not passed.
2. Customers who DON'T Care about UI: For those who prefer a plugin without UI components, the --omit-ui option provides a simple and explicit way to exclude UI-SDK components during scaffolding.
Streamlining the Path for All Developers
Our goal is to provide a development experience that caters to the diverse needs of our user base. By introducing the --omit-ui option, we've created a clear and flexible path for developers, ensuring that whether you care about UI or not, the scaffolding process aligns seamlessly with your preferences.
The Node Version Leap
As technology evolves, so does our commitment to providing developers with the most efficient and versatile toolkit. In this release, we've made a calculated decision to downgrade the minimum Node version to 12. This move aligns with our broader goal of enhancing compatibility and ensuring a seamless experience for our diverse community of developers.
Conda Compatibility Boost
One of the significant implications of this change is the expanded compatibility with Conda. With the minimum Node version now set to 12, customers using Conda can harness the full spectrum of Node versions from 12 to 18. This flexibility not only caters to existing workflows but also sets the stage for future integrations and collaborations within the Conda ecosystem.
Elevating Debugging and Development Experience
Debugging and development are at the core of any developer's journey, and our decision to remove Shiv is fueled by a desire to enhance these crucial aspects. Without the overhead of Shiv, developers can expect a more responsive, efficient debugging experience. This change empowers developers to focus on what they do best—creating robust, high-quality tools for the Alteryx community.
To explore the latest Alteryx Platform SDK release and dive into the updated documentation, visit Alteryx IO. Your feedback is invaluable, so please share your thoughts and experiences as you explore the new possibilities brought forth by this release.