sas-studio-custom-steps
sas-studio-custom-steps copied to clipboard
New custom step: CV - Display Images
Please include answers to these questions as part of your pull request
In the GitHub webUI, use the Write tab to modify the Markdown text that is part of the pull request. For each question simply place an X inside the square brackets, [X], that represents your answer. Make sure there are no blanks inside the brackets, otherwise MarkDown doesn't render properly. Using the Preview tab while editing this form, you can see the formatted/rendered version of the message.
- Q1: Confirm that you have the right to submit the code that is being contributed. Please consider the origin of your code and confirm you have the appropriate rights to make the submission subject to the Apache 2.0 license that applies to everything in this repository of custom steps. If so, follow the instructions for the Contributor Agreement (which is based on the industry-standard Developer Certificate of Origin (DCO)).
- [X] Yes, I have the right to submit the contributed code on behalf of myself, my company, or any other owner of the code. I have also attached my signed copy of the DCO to this message.
- [ ] No
- Q2: Confirm that your contribution does not include any personally identifiable information (PII), for example, in any examples used in your README file.
- [X] My contribution does NOT include PII data
- [ ] My contribution includes PII data
- Q3: Confirm your contribution does not include any encryption or other export-controlled technology.
- [X] My contribution does NOT contain encryption or other export-controlled technology
- [ ] My contribution includes encryption or other export-controlled technology
Quickly updated README.md and About tab to use the standard DDMMMYYYY format for release date
Started an offline discussion about using Python SWAT to create CAS session if it does not exists instead of using proc python to create the CAS session and then have SWAT connect to it.
The custom step already reuses a CAS session if one existed on the Compute session. However, when the CAS session does not exist the step creates the compute session from SWAT directly. Not sure why it does that instead of having "proc python" create the CAS session. When Compute knows about the CAS session and libnames are created that point to caslibs, the Studio UI can display a list of CAS tables and you can use those tables in Studio Flow. Here's a code snippet for creating a CAS session from proc python and then defining a libname that points to a caslib:
// Start CAS session and point SAS libname to a caslib from proc python
SAS.submit("cas")
SAS.submit("libname casdata cas caslib='...'")
@neelan29 , did you ever look into updating the code generator such that when a CAS session does not exist, it either stops the step or crates the CAS session on the fly using SAS.submit so the compute session knows about it. The current approach of creating the CAS session from SWAT directly while the code runs as part of a custom step is really frowned upon.
The good news is that meanwhile there are extensive code snippets showing how you could do this, see https://github.com/sassoftware/sas-studio-custom-steps/tree/main/_codegen_snippets/code-samples/Reuse-CAS-session-from-SWAT. So hope this can be resolved quickly.
Also now an updated version of DLPy is officially available, the readme should be updated to mention that version instead of a dev release.
Really would like to merge this step asap, but the above two isses should be fixed.
Btw. when performing those updates make sure you update the release date in both readme.md and About tab to reflect the day you last made changes in any of the files.
Will merge this as-is. However, have added a section "Ideas for future enhancements" in README.md to mention that creating a CAS session when one doesn't exist, could/should be done using SAS.submit() as explained in previous comments.
SAS Internal Due Diligence Review - COMPLETED on 05MAY2025.