Well, I can try to elaborate on that aspect, though I’m sure I won’t do it complete justice.
From a mechanical point of view, the intersection is that the saspy module has 4 types of python objects, each with an appropriate sets of methods to let you connect to SAS, access SAS data, perform SAS analytics and access the tables, charts, plots, graphs,… that SAS produces from the various analytic and base procedures. All of this is with simple, pure Python syntax. The other part of this intersection is the ability to move data and variables between Python and SAS, as necessary. The default case is that there is no data movement between the two. Data being analyzed or queried, or viewed, stays in SAS. Only the results of what you do are returned to Python. However, the ability to move data between SAS Data Sets and Pandas Data Frames (either direction), as well as Python variables and SAS Marco Variables (again, both directions) is available with simple methods.
As to the benefit, that’s less tangible, but nonetheless exists. From my time working with Python, I’ve been very impressed with the speed and ease with which I can accomplish my programming tasks. Sure, I prefer 370 Assembler (Mainframe) to other languages, and I’ve mostly written in C for a long time, but I can whip out a dozen lines of Python to prototype something that would take me 20 times as long to do in C. So what about the SAS language, well I find it similar, because I’m not a SAS programmer. I write SAS. That’s what I program, not program ‘in’. Calling a simple saspy method to do something complicated in SAS, where the SAS code required to accomplish that is much more than a single line of code, is more convenient for me.
So, Python is a ubiquitous language that is extremely easy to use and highly functional. It isn’t designed, however, to do what SAS does. Referring to the highlighted works in your post; back-end, heavy data lifting, performance. The SAS system is built to be all of those and more. It is the production backbone of many businesses. So, Python being Python, and SAS being SAS, I think that a seamless integration between the two makes clear sense in many applications and, to also quote the post, ‘ form a good complementary pair’.
Rapid development of business logic processes with the python language, leveraging the highly performant data processing and analytic production back end of SAS, makes for a pretty compelling picture in my head. Of course, this is nothing more than my opinion.
Oh, and as to the question about needing SAS to run saspy, as others have already mentioned, yes, you need SAS, but it doesn’t have to be installed on the same machine as saspy (it can be). SAS can be accessed remotely, which again, speaks to the aspect of it being a production backend server.
I’m sure this doesn’t completely answer your question, but I hope it helps continue the discussion 😊
Thanks,
Tom
... View more