Python - Redis - Getting started - Essentials | D谩niel Ern艖 Szab贸 | Skillshare

Playback Speed


  • 0.5x
  • 1x (Normal)
  • 1.25x
  • 1.5x
  • 2x

Python - Redis - Getting started - Essentials

teacher avatar D谩niel Ern艖 Szab贸, Pythonista in the making

Watch this class and thousands more

Get unlimited access to every class
Taught by industry leaders & working professionals
Topics include illustration, design, photography, and more

Watch this class and thousands more

Get unlimited access to every class
Taught by industry leaders & working professionals
Topics include illustration, design, photography, and more

Lessons in This Class

7 Lessons (1h 6m)
    • 1. Python Redis Setup and hello

      8:28
    • 2. Python Redis Basic datastructures and a guide to use them

      14:19
    • 3. Python Redis Securing connection with openssl

      9:53
    • 4. Python Redis Pipelines and atomic operations

      9:01
    • 5. Python Redis PUBSUB feature and server management

      9:27
    • 6. Python Redis Transactions happening

      6:00
    • 7. Python Warnings module and some tips

      8:56
  • --
  • Beginner level
  • Intermediate level
  • Advanced level
  • All levels
  • Beg/Int level
  • Int/Adv level

Community Generated

The level is determined by a majority opinion of students who have reviewed this class. The teacher's recommendation is shown until at least 5 student responses are collected.

45

Students

--

Projects

About This Class

This class give you a powerfull insight to get started with the redis module and redis installation.

The main goal of this class is to get you started and allow you to build your own redis applications.

Meet Your Teacher

Teacher Profile Image

D谩niel Ern艖 Szab贸

Pythonista in the making

Teacher

Hello, I'm Dániel Ernő.

I currently work as a devops engineer. I have several years of experience with various platforms and I'm here to teach some advanced techniques which may attribute your job security ;)

Cheers,

Daniel

See full profile

Class Ratings

Expectations Met?
  • Exceeded!
    0%
  • Yes
    0%
  • Somewhat
    0%
  • Not really
    0%
Reviews Archive

In October 2018, we updated our review system to improve the way we collect feedback. Below are the reviews written before that update.

Why Join Skillshare?

Take award-winning Skillshare Original Classes

Each class has short lessons, hands-on projects

Your membership supports Skillshare teachers

Learn From Anywhere

Take classes on the go with the Skillshare app. Stream or download to watch on the plane, the subway, or wherever you learn best.

Transcripts

1. Python Redis Setup and hello: Hello and welcome back. This tutorial is going to be about the readies product, and this is an open source key value based in memory data store. So I think that's pretty. My sums up the advantages and disadvantages off this. That's a product. But what's most important about this is that it has a nice Bytom when you're and since this channel, it's all about Vita. I would like to show you how I have set up my let's see demo enviroment in which I am trying out stuff that I can do. We are by the with the Readies data store. So I got started What I did. It's an optimist up my machine. I have installed a Debian via trial machine and I would like to start it. So this is a base installation. It has wants to people's on the gigabytes off memory. Now what I can let's say, do is tow, huh? Try and ssh into this machine. So I have checked the I P address. It's kind of static, and what I can do is ssh into my host with fellow in command and nothing at the from for you. So there we go So this is the Windows feature that you can a neighbor. So you have an assessor and message client installed and you do not hate Jews party Or don't that this is aged from power shell. Oh, or whatever you can just use that make us age, which provided. So what I would like to do is to navigate into the dollars for that and get the latest tables down You are, and you get the following. It's about two megabytes because these are just source finds and what we can do now is to extract this compressed five and there we have the readies for Oh, uh, so we need to change the directory into that. And before we do anything, we need three star two packages install the make and the GCC. These are needed so that we can combine these source eyes inter actionable items and then we can, let's say, run out, ready server and until this gets ready, what I would like to show you is how I have prepared get the prompt how I have prepared my Let's see, you're trying light amount. So readies, uh, day some time because I have now an older laptop. This is my left. Before I got toe for the company called Lego It Waas used a long, long, long ago. So I spent a lot of time polishing it. So we have installed our depth analysis for tribute. What they need to do is issue to make a month with the male look. Argument left is going to want to live. See, this is needed because by default it needs the G e g Malek Head are five. And if you don't want, you need the dead. I see. So, Andi, there is a script wishes suppose to have date the gym I left but Dammerman so make my look equals lipstick until this gets ready. What I would like to do is activate my ready, stumble and still ready. Smart. As you can see, it was already installed before, so it didn't need to go out and grab the sources. Rhonda by compact kitchen back spot, it used local cash. So in such cases, when you already have this package down, would it? It is going to just check if that was any change to the specific refugee. If there wasn't any, then it really reused cached version. So that's important. How ready? Smile you. And now what we can do is issue the undergo the command and here we can see that there is this readies class and this read this class is what we are going to use. So if I assure the readies a threat, this help. Come on, you can see that this is, ah, class representing the implementation off the reddest portable. And, um, if you just simply try to think about it, what you need to do when you want to connect somewhere in the general way, you need to specify some kind of political hosts on the port, that's all. So this is basically all we need to specify here because there is no Bassel production or authentication set. So now what I want to do is to modify the readies going five, And here that is the line that says which interface to bind. And if we want readies to listen on all interfaces, we need to command this one out. As the statement goes, the 2nd 1 that we would like to do is the narrow gave into the source for order. And here we have the reddest server. So if I ls this one out, we can see that this is an execute herbal and we can't run this, uh, in the following way, this protected more. No argument is needed because the client is going to complain if we do not disable this protected mode in a way that we want to use the client. So it is now ready to accept connections. So really start readies post it Waas 1 90 do Wasiq safe go through 9 55 Report is 63 79 and the connection that set way need to set it the true story and say bye don't is the best. And if you want to get this key then all we need to do is connection Yes to Pretoria and you can see fightem is the best. So basically, this is all I wanted to show you. If you like this video, give it a thumbs up and subscribe for more. Thank you for watching 2. Python Redis Basic datastructures and a guide to use them: Hello that come back in this video, I'm going to help to you about the different data structures that are available in the readies. From that And these data structures consist off three core or base. They did the structures. The 1st 1 is the string. The 2nd 1 is the set, and the 3rd 1 is the hatch and everything. Other data structure that is available via this is let's a specialized version off these the structures or a combination of these eight structures. So what I have year is, uh, Bohr machine where I run my rallies over with the protect, its more no. And I have a Seelye that is going to have us with four months. So basically, what you can do when you are at the cli it's to shoot. Have come on And the few new in the jet stream. It is going to return to you every function available for this data structure. And it is, uh, very nicely. That's a weird up, because if you think you would like this set and you start typing, you're going to get the heenes Andy to tell you what other mandatory or optional parameters that data structure can take. So I think it's a really genius motion so we can get happy for set and begin. Also get have for, uh for very good. So what we are going to do now is to blame for the readies ago. We are going to be about Plame. But the readies backed readies where the host it cost. Oh, that check my host so I'd be other show. And here's the I P where I can reach my Ravi's serval if it only hope it it for the first. Nice. And the report is usually by before six the three something that and first were right toe them off the streets. And if it s a that I would like set the specified he specific where you I would need to use them this in disorder. So I would like to set the language can you to find has a value and the face you with the client. Yet the language I was seeing these you return now If I would lie, I can also set an exploration they which is going to be defined in milliseconds or seconds . So if you would like toa have it seconds you find the X but are human. She wanted milliseconds defined the PX So you met. So let's make it available for 10,000 seconds. And if I want, I can also get this blank, which really able. And I can also check the TT Oh, which is a bank to leave. This may be a family done if you're coming from a networking branch off, i d. You know that has the backing struggle. They have CTL after it reaches zero that gets dropped by the network device. So it let's leave it and try to run it. I know very able of them all. So, as you can see, this one has this TL off consequence. And so let's import when you're and it's sleep function so that you can demo this year. That's see bitch and run it again. And the sticky artist seven. So this is one way to set expiration. The other way is to set your devalue path and use the expire conscious days by a fraction. Is Motive Toe because what you can do it did. Is that say, uh, use it or not? Just a string data structure, but on any key value pairs. So I have set the key value. I will get this language and after death I will say Oh, even before that, that's fire. And here I need to specify seconds or milliseconds by before you should specify. Just remember it is going to be taken. That's the second. So let's see how it goes when the 1st 1 is the three second sleep from this part. And the 2nd 1 is the three second sleep from this spot. Basically, this is all I wanted to show you about the strength, the structure. And that's the move. The sets have to me a golden this out and we get back to this part. Stop it already see a lie and issued a have a month on. What you can see here is that the rain fraction function would be repealed. Your least or sad is the off you it. So this set is implemented as a linked list, so you can refer to first tell a map and ask diamond on anything in victory and accessing the first on the last element is with the soap would order one the speed. The rest is ordo and which means that if they extend to Territo, we're doing a list and it gets slower as the size off the least grows. So plan the name off the least it's going to be I dont nous And then we specified around you. So you want you too. You're three you for And let's create another lists Goulash. Oh, this and but you can look here is also specify use and we may want for the demonstration See to have some intersection 4567 And after we have to find our lists. What you can do is used usual functions that you learn to use in your mathematics class so you can have union off this least intersection differential and so on. So if I say I would lie to get the plan sinker, which is interesting police two sets, this is all I have to. If I don't believe these brackets, No, let's run it. As you can see, the only common element in my tool is is the value for so just for the demonstration saying Uh huh, that's see the union of our tourists if you are hungry and this man, uh, sounds funny, and let's say the car, you know, off the lists that we have. So the cardinal is basically the number off parents that you have in this set, and it's set for a reason because it doesn't allow similar or doesn't allow the same value to be present in this twice. So you need to make sure or fish makes sure that your unique elements in your list So basically we have the number of tolerance, the union and in their section and, uh, the last Demel. I wanted to show you the demo. So let's for meant that. And let's see what the Seelye has to offer for the hash data structure. So the first function that we would like to use these eight set. So basically, the eight set its bank today, he name, and when you are creating a dictionary, it will be really family are for you. I mean from the bike inside. So you need to specify feel and value. And if we want another example, it's like you are creating objects. And then you specify that this attribute that this value So basically the client, it's Let's Gordon's I don't know. We are going toe have the name Andro Ranger for but poor. It's by the name on the roll, and what we can do is also set the host, which is going to be 600 and the mama, which is going to be, like 200. This from an online name called Dota, because I used to play so much with that game and that still playing sometimes. But that's not the topic cooked this video. So what we can do after issued this comment is to let say, get the key value pairs that are assigned toe hash contributes. So let's say we've called the H get all the client age get fall can be assured that he wrote. Now if I go back and try to run my fighters, I see nothing make go. That's because because something is, I forgot the cream to doubt. No. So, as you can see, our hero in is going stroll injured it some purse someone not that could have assigned at attack speed and so on its force. But basically for the demo safe. I think this is Lord, I wanted to show you. And this is just a general. That's the algorithm, Master, How I discover what it's possible with Freddy's and how I m up those functions toe the functions off the bite of module that is favorable for me to manipulate the key value pairs . So what you could do is to pick up a data structure that you want to use. The should have come under that and trying to find something some function that might do something that you want to do or achieve. And basically, that's all I wanted to show you if you like. Time's up in some steps one more. Thank you for what? 3. Python Redis Securing connection with openssl: Hello, that and come back in this video and make to talk to you about how you can secure your readies platform. And as it may become obvious from the previous videos, is that readies has, uh, very little to do with security and out indication, because I'm by default. If you want to run you already. Since that's right, you only need to specify the that dash protected more. No. And it will run the single stranded release It starts, and it will accept any connections without proper authentication What you can do first toe sexually Instance, you still specified in the configuration five a password that is needed for authentication . So basically, that is kind off half way. Yeah, but if you want to go for secure, what you may want to do is as follows in this video. So I'm going to show you how you can use the S stand up. It's ah, a Nobel source package that allows you to create an open sore Stan Tano and, uh, you were use in the city or the ready smile your to create a connection pool and you was the certificate which was generated to connect that in starts off Freddie's. So let's get to it. What we would like to do first is to up the star. Yes, I know. Four. And once this gets its told, well, you will be able to define a configuration file for the Estelle and I have prepared the configuration file contents for this. And after the salvation is used, I'm going to show you high around the esta. No, with the specific configuration. Fine. Todo Well, so now what I would like to do is to use the manner with extra editor to create, I don't know. Not going okay on here. I'm worth specified that to your foreground process. Yes, sir. I'm going to use It's a private that the red is stop. Well, I would like to read I connections with, except connections from the 000 So it will send on every face available for the specific machine on the 4th 66 And it's Cornick these armatures or attempts off connections to the 1 27 001 63 79 board. So now if I would like to run this for months, what I would specify is the best summer and this and before we can issue this, what we need to do is as follows. So have also prepared some commands that allows you generate these ecstatic get fights. And the, uh, specified like this. So generate dressing. Uh huh. So let me get the I p. Address from just server. Let me also connect with the common problems through this special 60 Well, let me grab. I'm almost there. And now what? I would like to do this issue. These commands that were let's say, available. So connect to the server. Why the I address that was specified. So s rage. The user name at 172 17 1 57 69 on I am. And now what I can do is tow desert these commands here and now. As you can see, I have the private time and the stomach comes and whatever. Also, I need the key that them on the side. That so, Yes. You that sink. Hello. I don't know. And now, as you can see, the process is up in the running. What's left for need to do is to start my ready since done in sauce this protect. Oh, no. And afterwards this is running. What I would also like to do is to connect with the readies, see alive. So let me now we get to the reddest source for the and morning door, these actuals. So let me just pull this over here. And what I would like to do now is to start a common line and start it's come online. We, uh windows plus air. Come on. And I'm going to navigate to my via Troy vitamins. And what I'm going to do is in the following comments. So I need to import readies for your on its I'm going for the son of you. And I'm going to need the i p address for that specific so and replace this one. Yeah, and just let me corporate base this spot. And before I do that, what I need to do is to copy down with the we nasty the following the private bam and after this private time wasco pid. I can't insert this common And what I can do is to connect with the street thread. This class, which allows you to specify connect well to connect to the furthest stuff, and I can also issue the being common. So let me pull up there. Hi. There may be a transition and let me also get Michael month. And if I issued the ping command the reddest instance we return on answer called Poem and does it got? See? It's like so the difference between the not S a certain obvious approach and this one is that you have an encryption in place and this should be used. If you want to make sure that your at this application is ableto let's see operate in a more secular way. So basically, this is all I wanted to show. I'm going to upload the source of the top. If you like this video, give it a thumbs up and subscribe for more. Thank you forward. 4. Python Redis Pipelines and atomic operations: Hello, that and come back in this video. I'm going to talk to you about the pipeline's feature off The readies for that and this pipeline feature is interesting because, Aziz, you remember every common that you issue in the reddest environment is atomic. So basically, in a given moment of time, only one action could be and should be executed. So there is no such situation in the release environment when there are two clients and they would like to modify the same key at the same given time. So basically, the fight among you and, uh, by tumultuous implementation off the reddest pipelines is nothing more than the by plying wrapped in transactions. So basically, when you create a pipeline, what you do is to send a bunch of commands, and what you get back is, uh, that's a summarized result off those specific commands. And in this video, I'm going to show you what I mean by that. So what we need to do is to start our predecessor so brought back. Did Lord no. And, uh, let's say we would like to cornett to this reddest server with the reddest client and issue the monitor command so we can see what Oh geez, let me Ssh! Once again, back to my so well. So basically, after I successfully managed to start the ready cli from the SRC for the what like an issue is the money thought form. And now what I can do is tow. Let's say, specify in this pipeline that people I the pad line that I want to get executed. And there are two ways to execute by clients in the Rennes environment. The 1st 1 is context manager and the 2nd 1 is weed out Convex manager. So that's import already sworn your okay, let's create our clients. The host comes from something that's a already in my clipboard and the port for still 63 is the ranking night. So 63 17. And now this is how I can find a pipeline. So what I do is issued by flight And then what I say is that it equals to the client that bye bye And the transaction Hey, Waas force. If you want the transaction future event, then you should leave it on. True. So here in the pipeline what we need to specify is the let's say specific action that we want to perform on the ready server. So let's see, we would lie. See the following s if you watch my figures video, you know that this is a command that is going to create the least data structure and up on element to the specific list. So my list candy l A man is the first and let's create it. The second element the third element in the fourth l m and and the fifth l a man, this is, let's say one way toe execute. And, uh, what we can do is to called s members my list. And let's say we would like toa Frank and we would also like to print something that comes from the execution off this specific pipeline. So bye bye, Execute. This is one way to execute the specific bike I and the other one is the with convex decorator in order court. Ex manager So wheat client, not by plan. And that's my And now what we would like to do is, let's say, called the S card, which is going to return the cardinal off a specific key. And where are you? And, uh, basically, this is it? So these are two ways that you can specify by client to be executed. We a pie tone on the reddest environment. And the 1st 1 is this secret shop, but And the 2nd 1 is with this context manager. So let me save it and let me just simply started Woman proof letting go. It's very good. I know this this or PC keeps like, uh, no. So sorry. I got a phone call, which was pretty project, so let's get back to it. So on my best stop, I have this readies and vitamins I real active, intense and what I'm going to do, It's the navigate to the folder where this script is present. So basically, this is on my F drive, and I'm going to navigate under, do you to fight on. And bread is so and what I'm going to do now is issue the pipeline in the p one and see if I made any type ALS. Oh, Well, uh uh So it says that really says no, keep line. But hopefully the readies has something called I'd line. So basically, this is the result. What you can't see. So in the first case. What you will see is that this is the That's a accumulated response from the pipelines that we have executed. And the 2nd 1 is just this connection poor response. And we could get the element off that specific response. And basically, this is all I wanted to show you regarding the pipelines off the reddest environment, if you like, give it thumbs up and subscribe for more. Thank you for watching. 5. Python Redis PUBSUB feature and server management: Hello there. And we'll come back in this video. I'm going to show you for introduce you to the paps of feature off the ready Smile. Your and this is a very interesting feature, and this allows you to create channels and publish messages in those channels. So what you could do with this, Mr. Let's see, you haven't infrastructure, which is using the tear based approach. So if production besting and never look servers and you would like to create clients that are able to connect to this reddish instance and receive messages based on their environment So let me first start up the ready server. Uh, now, the other thing I would like to do is to start the ready cli And here I'm going to money toward the transactions that happening. So how does our publisher look like? So basically, what we need to do is to import the cease and the red Ismailya. You could swab the cease manure to our pars or whichever one you like. So basically, here I am, I'm backing the RV, and the first argument is always the name off script. The 2nd 1 will be environment and the 3rd 1 will be the action. So basically afterwards that I'm creating my client. This is connecting to my view trial machine, and I'm using the publish commands to publish the specified Come on to the specifications Vitamin that I want. So what happens when I now involved the publisher? Let's say it's the devil vitamins and the common is to stop the Web service. What you see here on the wheelchair mention is that the publish waas received by the reddest instance? And here is the name of the channel. And here is the max each. That's what's Father. So now it seems to be fine or working. What I would like to do is to create this client. So this client also has these ready spaniel. It has the environment which says which channels to listen toe And here we have the bumps sub function. It says to the kind that it is going to use this feature off the really small your and we are subscribing to the environment which is pointed out by this variable. So the death and what we would like to do yes, to first inspect this data that you've received so message and now if I Ron my clients and if I publish something you can see that stopped the Web servers common was received. So if I change this testing or test, you can see that if I restart my client and publish another message, it will not big it up because it's not subscribed to this oppressive China. So basically, that's make it. Yeah, and what I would like to do is to, er the message, indeed. And I'm going to show you why it is the report. So here is our subscriber, as you can see a two. First, it is receiving founding in the show, so this is just a number, and this can be ignored. And what we could do by this he's let's see, somehow circumvented. So if I say you want, then it should do nothing and perfectly fine. So now if I publish another message toe this channel, what you will see is that it shoes try to pick it up. Let's Prince this message. That's a good because it's aimed a little, but let's do it this way. So if we have a message that we have subscribed to, you can see that the 1st 1 is the dictionary and, uh, what we could do. It's a specify if the we have a message and not a message, the it will swamp. Then we should bring this message. Now if I just thought this one and publish another one again, you can see that I have received my common, which was intended for the clients listening to the Death Channel. And this command can be recorded, and it's important to decode it because otherwise you would have to work with bites, and it makes it kind off harder, so to speak. So message in courts message the back coat and we will use the U Thiha. And now if we print our message, you know, nicer way. It's already see go month. Make it a nothing If you re started again, this is what we will see. You can see we have received the stuff, the Web servers part and let's say you have another vitamin value, DS. That's and you would like to Let's say, so can I. And the stoking a organization would look something like this, so stop wet. So now what we can do is to say that we would like to explain. Eat this message based on the double columns, and we would have a next and the blood for splits number four. And we would also bring this so sure on blood for Let's save it and just three around the time. So now we could, let's say in view it with someone use and other external course toe other vital streets or streets or but scripts or power Shasta. So this rise on the actually environment where you are using it, but basically you may not get the idea, so it would be far easier to manage. Let's see 100 deaf servers with the half off the reddest manure than, let's say, one by one, logging in and performing the specified action because you have these clients listening and they know what to do with these specific messages when they are sent to the channel. And well, technically, this is kind of fall. I wanted to show you, as you can see the monitor shows or the subscribers or the published romance to the special channels, and I think it's really a neat feature to experiment with it. I hope you like video. If you did give it thumbs offenses for more. Thank you for what 6. Python Redis Transactions happening: a little that I come back. This video I'm going to show you is about the transaction in the lettuce environment. So basically, the transactions in the readies are differentiated by the fact that when you create that transaction, so for let's see, for example, that is a user that wants to transfer a specially come out of money to another user because he or she had bought a specific item from the other user. This is, uh, let's say, simply represented by a transaction and in the sense that transactions are atomic separation operations and these atomic operations are represented by the fact that they are blocking. So basically, if you want to describe the transaction that transfers money from one user to another, then this should be represented by a specific users and specific section. Because why this transaction happens, then these, uh, that's his pacifique readies. Instance that you have is goingto be in a blocking state. So why transaction is processed, the reddest cannot process any other requests. And, uh, basically, the difference between the transaction on the back line is as follows. So that's all and, uh, in the in the sense that this is all you need to do to implement a specific transaction. I think I have given you our political example. So you may want to have a Web application that is able to transfer money or some kind of currency in exchange for some kind of service from one user to another. You may want to represent eat with transaction, and this transaction could wrapped around a function and strong function. Let's say should be called sore to users and you will specify user and the amount. And after that, that specific users would transfer a specific amount of money to another. You and, uh, this demonstration. It's going to be a little bit simpler than that, but let's investigate. So what I want to do is to replace the I P. Address because every time I start a virtual machine in hyper V, it is going to have ah, private type. Yeah, that's from a difference. And I need to adjust it from there. And, uh, what I also need to do is to navigate to my downloads for that to the readies for order and the sauce for and start readies. So, uh, with the brought back more, you know. And after that, I have another course or and this comes off is also wait to navigate holds for the readies , for the source for the and here I'm going toe involved the readies cli and I'm going to money toe these transactions and finally, what I'm going to do. Yes, toe start to come on prompt. Get for you. I never get to the best talk and activate my buddies Environment changed the drive to the afterlife where I store my conference stories And here on going to that never get to the for the the reports The fight on the ready, sir. And after that, I'm going toe, let's say called transact Didn't not be Why the family seeing gold How What I need to see is the following. So these transactions have completed successfully. And based on my fight and script, what I had is this Atomic is expression off, adding a new element to my list and another new element and so on and so forth. And after that, I'm getting the members off my list and I'm going to execute this specific pipeline which is represented by that transaction, and basically, that's or so This is how you can create the transaction in your prejudice environment. And, uh, I hope you like this video. It was kind of short because built up on previous damage from previous videos. But I think technically gave you some insight as to how transactions are handled by by don't want you, which is interacting by the readies environment. Thank you for watching. 7. Python Warnings module and some tips: Hello there, on the wire. Come back in this video. I'm going to introduce you to the warnings module off. Fight on. And this one is when you it comes by default with the installation off the vital language. And it's a very special on. Interesting. You're because it allows you to raise, specify warning messages with their own matching classes. And what do it is is that let's say you have on application and this application is part off the continuous integration Putin's delivery infrastructure and you have a testing tear where you test this application and statistics, dear. You may want to specify that you want Teoh print every warning message that happens during the testing and after what? You could analyze these warning messages. So let me write a small script which is going to fetch You are, and it is going to take you out from the common line out. So if the lens on the cyst on equals two, we assume that we have our program and out of you and we are back this otherwise we would like to warn our user that you mean to give you our argument. All right, so what we could do with this. We could say that if the age deep baby is in there, you went out. We should The following warning to our user come next is in second. And afterwards we would like to get the response from the request. Your and the gas function from the specified you are, Let's save it. And now you fire along this script, you can see the phone. So I get my warning because we run into the ass French and it states that you need to give me on. You went out as an argument. So let's give it to you about it's a different you go that, as you can see, we have not running into the aspirins. But we Crossette proceeded further with specified, um, and it states that the connection is insecure. So these, uh, warning messages have, let's say unique behavior based on the specified fear, as you might be already, I have listed here the futures which can be specified, So the basic behavior is that we print each and every warning. We disperse supply number and stack trace sense on, as we let's say under them in our script or a cricket. The second behavior that you can specify is that we would, like turn these warnings into exceptions, and if you turn it into an exception, it is going to hold the execution. Or you could pay beer the logic around these exceptions so it can handle we could always signal on them. We could specified always, which is going to play in the watching warnings. And we could specify the manual order wants the ones is interesting because and that see, I specified a few asses once. And if I have the same warning happening, the only the first occurance is going to need printed and by before to. These warnings are special because they have a so called one in class. And what you could do is to say that if you are importing module into your script and you would like do not defined you, sir, that the import was not successful. For whatever reason, because module is stored or not, the proper version is store. What you could do is to raise this import warning and let's see this one. So though Warming's and as you can see, this is the function that we have years What we could also do is if we messed up everything and we don't know what where our head is. We could reserve these warnings, and it will set back the liquid state as to how the module interacts when a warning is a ship. We could also specify a so called simple fear, and the simple theater would filter the specific one messages as the cure. Based on the let's say, behavior and settings, we could specify futures on future warnings and so on. So let's, uh, all right warnings and we specified dunk once. So now if I go here and the rays the same warning. What that could see is that only one warning is printed. There you go. So it's underlined seven things and seems the same warning happened later in during the execution. It is not re raced or issue, and, uh, we could come back. It's very easily que adul. So is it Cody? If I stayed this, you can see the very similar at our stack trees. And, uh, let me proved to you by the execution is stopped. So this gets spring. If we are on the erosive things, you can see that the pre message never happens. If I change it to the default behavior, you can see that this gets bring it then, before that, the two warning messages are also issued. And if we want, what you could say is the category office is you warning? This is Ah, that's the exception. Plants or warning class. And now if the behavior lost, we will see both of these warning messages. No cure. And the reason for that is that the 1st 1 we issue is future warning class based and the 2nd 1 since he did not specify any classes. It is the user warning class. But if I say I want to be a couple, you will see that this doesn't change a thing. So well, basically, this is what I wanted to show you about this manure. I think this should and might give you a pretty good idea as to how you can handle warning in a different way. You can integrate this woman your little up in small your so if you I want you could say that the Lovings module is going to catch or these warnings and push them out to the specified smoke. Fine. If you like this, would you give it thumbs up as described for more. Thank you for watching.