Embedded Python (S2, E1)

Episode 1 February 03, 2022 00:14:07
Embedded Python (S2, E1)
Data Points
Embedded Python (S2, E1)
/

Hosted By

Derek Robinson

Show Notes

In the first episode of Season 2, Product Manager Bob Kuszewski tells us about Embedded Python in InterSystems IRIS, which integrates Python into the platform alongside InterSystems ObjectScript.

For more information about Data Points, visit https://datapoints.intersystems.com.

View Full Transcript

Episode Transcript

Derek Robinson 00:00:01 Welcome to Data Points, a podcast by InterSystems Learning Services. Make sure to subscribe to the podcast on whatever app you get your podcasts from. Links and more information can be found at datapoints.intersystems.com. I'm Derek Robinson. And on today's episode, I'll chat with Product Manager Bob Kuszewski about Embedded Python in InterSystems IRIS® data platform. Derek Robinson 00:00:34 Welcome to the Data Points podcast by InterSystems Learning Services. On today's episode, we're joined for the second episode in a row by Bob Kuszewski, Product Manager for the Developer Experience here at InterSystems. Before we get to the topic today, we want to welcome you back to season two of Data Points. We began this podcast with 20 episodes, and it has been well received thus far. So we're looking to continue with another batch of interesting conversations. Today in our first episode of the season, we're talking about Embedded Python. Developers familiar with InterSystems IRIS know that freedom of choice in development languages has been an area of focus over the past few years. In our discussion today, we talk about how Python has now actually become an even more integrated part of the platform alongside InterSystems ObjectScript. So without further ado, let's get to the discussion with Bob Kuszewski. Derek Robinson 00:01:26 All right, and welcome to the podcast Bob Kuszewski, Product Manager for the Developer Experience here at InterSystems. Bob, you've been on the podcast before. Welcome back. Bob Kuszewski 00:01:35 Thank you very much, Derek. Derek Robinson 00:01:37 And, so today we're going to be talking about, I think definitely a different topic than when we had you on last time, which is about development languages and specifically Python today. So, before we dive in and talk about this new feature called Embedded Python, let's talk a little bit about the lead-up to that, right? So freedom of choice with development languages has always been for the past several years anyway, something that we create content on. We create learning content in our department; we tell our customers about their options, right? And so sort of give us a little bit of background about InterSystems history with that, InterSystems IRIS history with that, and how it kind of works with other languages, language connectors, and even Python, and how Python developers were using InterSystems IRIS, up until this point. Bob Kuszewski 00:02:22 Yeah. Thanks, Derek. That's a really great question. You know, InterSystems was founded to be enterprise MUMPS, and over the years, MUMPS grew into ObjectScript as the language became object-oriented, and the company has added a myriad of features, like SQL, and these are all there to meet the needs of, and to grow with, our customer base. Up until today, all of the code that runs inside the IRIS server had to be written in ObjectScript. That is, everything from your SQL stored procedures to your routines, to your class methods, were all written in ObjectScript. You could also connect to IRIS via any of our standards-compliant connectors like JDBC or ODBC. Additionally, we provide STKs for working with Java, .NET, Node.js, and Python, and these SDKs serve traditional client server or gateway use cases—that is to say, anytime you have a process that runs outside of the IRIS process that is written in some language, and you want to connect to IRIS and work with IRIS, those SDKs are the place to start. And they're great. They're very complete. Today we're talking more about how we brought Python into the IRIS current. Derek Robinson 00:03:49 Right, right. Yeah, and so I think it's important to highlight those things first because, one of the things about it is that that freedom of language still does exist, of course, like you just mentioned all the effective ways you can do that, but so now talking about Embedded Python, as you just kind of introduced, tell us how that's different than what we had before, and sort of like highlighting the key, main messaging about Embedded Python and why it matters for these Python developers that were using those other methods previously of connecting with Python code and applications. Bob Kuszewski 00:04:20 Yeah. So with the latest release of IRIS—that's 2021.2, we've embedded Python right into the IRIS kernel. That is, it runs alongside ObjectScript. It's a full peer of ObjectScript. And so any code that in the past, you may have written in ObjectScript, you have a choice of using either ObjectScript or Python for today. So those stored procedures, you could write them in Python. Or your routines, you can write them in Python, or your class methods, you could choose to write…implement them in Python. And that opens up the world of the Python ecosystem, where you can say, you know what, I don't want to write a client for some particular system, for example, in ObjectScript. I can just use the library that's already out there in Python and bring that into my IRIS application—but you're still running inside your database kernel. So very, very fast access to the database, really kind of the traditional strong use case for InterSystems IRIS. Derek Robinson 00:05:33 Right. Nice. And so, obviously a lot of benefits come with that versus the other model of, you know, using connections and hooks and things like that to tie in whatever you've written in other languages. So being that it kind of runs right inside the kernel and with and alongside InterSystems ObjectScript, some people might wonder, does Embedded Python now replace the need for knowing and understanding, and being able to write ObjectScript? You know, for instance, if a team is, starting up their application development and the team that will build it on InterSystems IRIS, right. Do they no longer even need to worry about learning ObjectScript? Or are there still cases where knowing ObjectScript alongside it is either required or at least helpful with Embedded Python? Bob Kuszewski 00:06:17 Yeah, using ObjectScript and knowing ObjectScript is always useful when working with IRIS, but there's going to be less of a need to do it. So you can start with everything being written in Python and then work with ObjectScript for the particular areas where you need to. What's great about the way Python has been embedded into InterSystems IRIS is that Python and ObjectScript are full peers. That is, if I instantiate a class, or if I run a method in Python, it doesn't matter if that method was written in ObjectScript or Python. You can still just call it from Python like it's a Python function, and you get the results back kind of as you would expect them to be, and vice versa. If you wrote, if you called a Python method that was from ObjectScript, you would get results back just like you would expect. So they're very peers, you know, the ObjectScript objects appear as Python objects from the Python side, and vice versa. So there's just a lot of commonality there. And so it's a very natural evolution of the project, rather than kind of a complete revolution of overnight, nobody will want to use ObjectScript. No, that's, I don't know if that's the case. Derek Robinson 00:07:49 Right. Basically just another way to make it easier for our users to be able to get to the end goal. Like whether they're doing it in ObjectScript or Python, it's not sort of an entire second infrastructure that's replacing the first infrastructure; it's just another avenue to get to that eventually system-readable code that is compiled down. So, kind of thinking about it from, you know, those customers' and users' perspectives, aside from that initial one of, hey, you now sort of are enabled to be able to use Python developers on your team without as big of an ObjectScript learning curve in the beginning, what are some other real-world benefits that you can think of for people interested in this that might manifest itself in actual, better efficiency, better productivity, things like that, that you have either seen with existing clients or envision with clients that this use case might benefit? Bob Kuszewski 00:08:42 Yeah. So that's a really good question. The Python ecosystem is enormous. There are hundreds of thousands of packages that are available on PyPy, which are free. Many of them are very high quality, widely used things, and you can bring those into your IRIS application straight away without having to think about, oh, how do I write this? Or how do I gateway my data back and forth to a separate process that might be able to run this? You can just bring those packages in and use them right there with your data already in memory, in your database kernel. So we have a number of customers who have said, oh, this is great. I can now solve some problems that were difficult for me before, by bringing in these packages. I don't have to write everything from scratch in ObjectScript. So it's a faster time to market, but it also opens up the areas that you might consider to even have a market for, or ideas that you might consider. As you mentioned, another big area is with onboarding new employees, new developers, it's that—it's a little bit harder to find ObjectScript developers than Python developers. There are, I think, 6 million Python developers out there in the world. I don't know the exact number of ObjectScript developers, but it's less than six million. Yeah, so it is easier to find Python developers. You can start them off developing in Python with a lot less training, and then teach them ObjectScript, and what your team needs to know from ObjectScript, over time. Derek Robinson 00:10:35 Right. And not so much relearning all the things that they already know how to do in ObjectScript, right? Instead they can target the things that they are specifically trying to learn in ObjectScript and learn it as they go that way on the job. Bob Kuszewski 00:10:47 Exactly. Yeah. Derek Robinson 00:10:48 Cool. So last question, sort of moving forward to the outlook on future improvements, I guess I'll tie two questions in here, which is first, if someone's listening to this and they're interested in trying it out, how do they get their hands on it? Which version of InterSystems IRIS does it start with, and then, you know, coupled into that question, what can they look for in the future? Like anything that you can say about the evolution of this going forward and how it might grow or be able to become even better than it already is? Bob Kuszewski 00:11:17 Yeah. So our first release of this feature is with InterSystems IRIS 2021.2, which was just released a week or so ago. Today with this first release, we use the version of Python that came with your operating system with IRIS. One of the things that we are working on for a future release is what we're calling, bring your own Python. You'll be able to use any number of supported versions of Python. So depending on what version of Python you need for your application, you can select that version and bring that along, rather than just whatever came with your operating system. So that just provides you a little bit more flexibility and completeness. We are also working on DB API-compatible drivers. So SQLAlchemy, Django ORM, those sorts of things are all built on top of DB API, which is a Python standard for data access. So we have that coming out, later in the year. So there's any number of things that we're doing—kind of performance improvements, and building out better examples, better documentation. And really what I'd love to hear about is: what are the things that customers are doing with it? Like what works, what doesn't work for them, what's easy, what's not so easy, and we'll fix those, right? We'll make that a better experience. So right now it's, I'm really excited. The future is really very, very bright for InterSystems IRIS. Derek Robinson 00:13:05 Awesome, yeah. And certainly wanting to get that feedback from users of it. And also, at this past Virtual Summit, we had an Experience Lab around this as well. So we have that available for customers to try it out if they don't want to get a whole instance themselves, they can actually try a lab environment there, to get a little taste of it as well, ahead of time. So, Bob Kuszewski, thank you so much for joining us, and we'll have to get updates soon as we go forward here. Bob Kuszewski 00:13:30 Great. Thank you very much, Derek. I appreciate your time. Derek Robinson 00:13:36 Thanks again to Bob for explaining all about Embedded Python. This is a really exciting feature. And as Bob mentioned, the team is looking for feedback from developers on this functionality. So feel free to head over to learning.intersystems.com to try out the exercise we've built, or dive in right away with the latest version of InterSystems IRIS, as Bob mentioned. That'll do it for our Embedded Python episode. We'll see you next time on Data Points.

Other Episodes

Episode 7

April 07, 2020 00:13:45
Episode Cover

7. Introducing InterSystems Reports (Carmen Logue)

In this episode, we chat with product manager for analytics and AI, Carmen Logue. Carmen tells us all about the newly released InterSystems Reports, what functionality it provides, how it fits into the existing set of InterSystems products, and more. For more information about Data Points, visit https://datapoints.intersystems.com.   EPISODE TRANSCRIPT: Derek Robinson 00:00:01 Welcome to Data Points, a podcast by InterSystems Learning Services. Make sure to subscribe to the podcast on your favorite podcast app. Links can be found at datapoints.intersystems.com. I'm Derek Robinson.   Zack Krowiak 00:00:15  And I'm Zack Krowiak, and today we'll chat with Carmen Logue, Product Manager for Data Management and Analytics, about the newly released InterSystems Reports.   Derek Robinson 00:00:39  Welcome to Episode Seven of Data Points by InterSystems Learning Services, and for the first time I'm joined by fellow co-host, Zack Krowiak, fellow Online Course Developer in the Online Learning team. Zack, how's it going?   Zack Krowiak 00:00:50 I'm doing great, Derek. How are you doing today?   Derek Robinson 00:00:52 I'm doing well. Obviously we're all still adjusting, with the whole global crisis that's going on, global health crisis, with this virus. Everyone's at home, working remotely. We're still trying to keep the podcast going. Last episode we had Jamie Kantor joining remotely, and this time, not only are we going to have a remote guest, but we have a remote co-host. So how are you finding this whole situation, as you're adjusting to the remote life?   Zack Krowiak 00:01:14 Yeah. Well, it's been a change, but I'm pretty used to working remotely with our team. We have a few people who are full-time remote even before all this happened, but I miss seeing everyone's face. And ...

Listen

Episode 13

August 12, 2020 00:19:51
Episode Cover

13. What's New in Online Learning?

In this episode, you'll hear a bit about what's going on within the Online Learning team. First, Michelle Spisak tells us about the monthly learning newsletter. You can subscribe to the newsletter here! https://learning.intersystems.com/course/view.php?name=NewsletterSignUp Then, you'll hear from Jaising Pasten about his journey, his experiences since joining the team, and some of the items he's worked on recently. One of them, which he mentions, is a Provider Directory video about navigation and search. HealthShare customers can view it here: https://learning.intersystems.com/course/view.php?name=PDFirstView For more information about Data Points, visit https://datapoints.intersystems.com   EPISODE TRANSCRIPT: Derek Robinson    00:00:02    Welcome to Data Points, a podcast by InterSystems Learning Services. Make sure to subscribe to the podcast on your favorite podcast app. Links can be found at datapoints.intersystems.com. I'm Derek Robinson. And on today's episode, we're chatting with Michelle Spisak and Jaising Pasten, two of my colleagues on the Online Learning team, for a look inside Online Learning.  Derek Robinson   00:00:43    Welcome to Episode 13 of Data Points by InterSystems Learning Services. Today's episode is the first in what may be a recurring type of episode every once in a while, called What's New in Online Learning? The idea behind an episode like this one is to take a look behind the scenes of the Online Learning team as we build content and work on projects aimed to better equip learners of our technology. In the first half of the episode, I'll talk to Michelle Spisak, an Instructional Designer on the team, about the monthly learning newsletter. Then I'll chat with fellow course developer Jaising Pasten, about what his experiences have been since joining the Online Learning team ...

Listen

Episode 14

September 25, 2020 00:07:57
Episode Cover

14. Previewing Virtual Summit Experience Labs

In this episode, you'll hear about the experience labs that are planned for the 2020 Virtual Summit! For more information about Data Points, visit https://datapoints.intersystems.com.   EPISODE TRANSCRIPT: Derek Robinson 00:00:02 Welcome to Data Points, a podcast by InterSystems Learning Services. Make sure to subscribe to the podcast on your favorite podcast app. Links can be found at datapoints.intersystems.com. I'm Derek Robinson. And on today's episode, I'll be giving you a preview of the five different Experience Labs created by Learning Services that you can look forward to at the 2020 Virtual Summit.   Derek Robinson 00:00:40 Welcome to Episode 14 of Data Points by InterSystems Learning Services. In this episode, it'll just be me, no guests on the podcast today. Our whole team here in Online Learning always ramps up during the summer every year, in preparation for the Global Summit. Many of you listening have probably attended Global Summits in the past. Every year it's a chance for InterSystems partners and customers to come together and learn, collaborate, and network, and share their experiences with InterSystems products and anything else in their careers. Of course, given the global pandemic, things are different this year; everything's virtual, and thus it is the 2020 Virtual Summit that's happening this year in October and early November. Links in the podcast description will get you to the important information. But today I want to run through the five different Experience Labs that our team has been working on and will be offering at this year's Virtual Summit.   Derek Robinson 00:01:31 Experience Labs are something that you may have attended at past summits if you have frequented Global Summits in the past for InterSystems. They're ...

Listen