TOP 18 Python modules you need to know

I'm going to be sharing with you 18 Python modules you need to know, now I’ve split these modules up into four different categories to make things a little bit easier for us and those, categories are web development data, science machine learning and AI and, graphical user interfaces. I will also share my personal, favorite Python module 

TOP 18 Python modules you need to know

I'm going to be sharing with you 18 Python modules you need to know, now I’ve split these modules up into four different categories to make things a little bit easier for us and those, categories are web development data, science machine learning and AI and, graphical user interfaces. I will also share my personal, favorite Python module 


The first category of, modules that I'd like to discuss is, those that deal with web development and  HTTP requests .

Python is heavy, known for back-end web development and, therefore you could assume that there’s, a lot of different modules available to, make enterprise-level websites in Python, now the first module I want to talk, about the requests module.

The request module is used to send, HTTP requests with ease, it’s very simple it's easy to use and is, the most downloaded Python package today, pulling in around 14 million downloads a, week and according to GitHub, it’s, actually dependent upon by about 367 thousand, repositories.


This next one that I am, going to talk about is more of, a framework than it is a module although, you do install it and that is called, Django.


Django is a web framework for, Python it's very heavyweights and it’s, actually used by companies like Instagram and tinder or originally was, used by them to make their websites so, Django is a completely Python back-end, web framework you can use other, languages with it you can connect it, with other frameworks, and it comes with a whole ton of tools, and complex developer features that, allow you to make well enterprise-level, websites.


The next module that I want, to talk about is flask.

Flask is kind, of a competitor of Django they're both, web frameworks although they do have, some fundamental differences so Django, and flask work similarly for basic web, sites although flask is much easier and, faster to get set up it's a much lighter, weight web framework and it doesn't come, with all of the tools and crazy things, that come with Django so if you want to, know which one to pick if you're using, Django or flask for web development if, you were trying to make a very serious, website do everything properly have, serious authentication and things like, that you probably use Django but if you’re doing more of a side project or, something a little bit smaller then you, would likely want to pick flask is, that’s a much easier module to get, running and working with.


The next, module I want to talk about is twisted

I don't know too much about this one, but I did want to throw it on my list because this is actually used for doing, online game development now you can do, other things with it as well but, essentially this allows communication, between clients and servers very easily, and it'll just make your life a lot, easier than having to program out your, own socket server so check that out if, you’re trying to do any kind of online, interaction or you know real-time games, or something like that with Python.


The next module on our list is beautifulsoup4.

I believe there’s, some other versions of this as well you, know there's likely three two and one, but beautifulsoup is a great module for, scraping the web so if you're doing web, scraping you're trying to grab HTML data, beautifulsoup can do that for you and, it’s pretty easy to get that working.

The last module on my list for web, development is selenium.

Selenium is, used to do automation on websites so, essentially allowing you to either test, your websites or to make some kind softbot that will interact with other, websites so you could do things like, access HTML fields you can move your, mouse cursor around you can click you, can access buttons that's what selenium allows you to do cool module I, haven’t played with it too much, although something worth, mentioned on this web development list.

The next category to dive into here, is data science.

Python is very, popular for data science and one of the reasons for that is all of the different, modules that are available that make a data scientist's life much easier.


The first module on my list is Numpy.

NumPy is an amazing module for, doing any kind of mathematical, operations in Python so essentially what, it allows you to do is work with an array object of multiple dimensions, so like matrices for example and do all, kind of complicated three dimensions four, dimension five-dimensional math very, fast and one of the reasons it's so fast, actually is because a lot of the operations are implemented in C which, means using NumPy will actually make, your program a lot faster than if you, were to say not use that module and, implement those operations in standard, Python.


The next module to discuss in, this data science category is pandas.

Pandas is great for reading and working, with data frames and just data in, generally makes it very easy to manipulate, data work with data clean data get rid, of columns and everything that you, pretty much would want to do with data.


The next module that works with, these two very nicely is a matplotlib.

Matplotlib is used for doing data visualizations so it's really good for, visualizing your data making plots, making charts and it's also really good, for working with machine learning models, and visualizing things like saying a loss, function or the amount of accuracy that, your machine learning model is getting, over a certain amount of epochs per season.


We move on to the last two modules in my list the first of which is NLTK.

NLTK stands for natural language toolkit and it's used for doing, any kind of data processing or text, processing so if you have textual data, and you want to remove things like punctuation or spaces or tokenize your, data, for example, natural language toolkit can help you do that as a ton of, tools for working with text-based data, and well natural language processing.


For the last module on our list, we have OpenCV.


Open CV is an extremely powerful module that's used for many, different things wherever its main focus, is on image and video data processing so, we can do things like feature detection, and description it actually does object, recognition, and detection as well and as some machine learning models built into, the module that you can use to, manipulate data work with images you can, draw things on images it's just an, extremely powerful module for really, doing anything with image or video data.


To the next category which is machine learning, an AI and the first module is TensorFlow.


TensorFlow is by far the most powerful module in this, section it's maintained and supported by Google and you can do some extremely, powerful things with it without really, having a great understanding of how all, the math works and that's the benefit of, TensorFlow is it allows you to do very, powerful things like you can do neural networks you can run the standard machine, learning algorithms you can create convolutional neural networks you can do, things like neuro style transfers and, there are all kinds of tutorials and, guides on that TensorFlow website that, can help you get started learning how to, use this module.


This transition is, sent to Keras.

Keras is a module as, well in Python that is actually a higher-level API for TensorFlow, so you can do some pretty cool things, with TensorFlow it is maintained and, supported by Google and that means that there’s some great technologies and some, innovations that have been done and used, in TensorFlow, but for some of us that are more, beginners we'd probably want to be, working with Keras.

What Keras allows us to do is access some of these, TensorFlow features in an easier way you, can almost think of it as like a wrapper, for TensorFlow where it just makes it, much easier to make models and do things, quickly and that's kind of when we would use Keras then that leads us into PyTorch now I don't know much about PyTorch so I’ll refrain from talking about, it a ton although I do know that it is, another leading module in terms of, machine learning and AI in Python I believe it's a little bit behind, TensorFlow but definitely something, worth checking out.


Finally, we conclude with scikit-learn.

Scikit-learn is another great module in Python this one is definitely not as, powerful as the previous mentioned, modules but that's okay it's a little, bit lighter weight and allows us to work, with some things like clustering algorithms, linear regressions supportvector machines and some simpler things, that yes you could do in TensorFlow, but maybe you don't want to use a module, that massive you'd rather use something, like scikit-learn.

The next category that I would like to discuss but those that are aimed towards building graphical user interfaces in Python.


The first option here is Kivy.

Kivy is a great, module for actually building, applications that will scale to all, different platforms so any Kivy apt that, you build will work on Linux it will work on Mac it will work on Windows, it’ll work on iOS and it should work on, Android now it's a little bit harder than that to actually get those, applications on the device but the idea, is that Kivy is pretty simple it’s, pretty easy to use and that anything you make will work for all different devices.


The next framework or the next option on our list is pyqt5.

Pyqt5, in my opinion, is the best graphical user interface builder for Python it has the most, options and flexibility in terms of what you can actually do with it you can even, use CSS styling to well style your application and an example of something that's built-in pyqt5 is, actually the Spyder IDE so I believe, most of that if not all of that is, actually built using purely pyqt5 with, an entire Python back-end so that should prove to you that if you want to make a more complex desktop application with Python this should be the module that, you pick it's a little bit more capable than ....

the next one on my list which is Tkinter.

Tkinter is an older module it is also used for building graphical user, interfaces it's fairly similar to pyqt5 in terms of how the interfaces look, although it's definitely not as capable, but I would say it's a little bit easier for beginners and people that are just, looking to get something whipped up, pretty fast and pretty easily.


Now, what about my favorite module on python that, has not fit any of the categories, mentioned before and that is Pygame.

Pygame is the first Python module that I ever learned and it's what really got, me into Python programming and why I, recommend it to any beginners or people, that maybe aren't as motivated to program to use it's not very practical in terms of building actual large games, but if you want to build some simple 2d games or just work on your skills and, build something fun then you can, definitely do that in Pygame.

What's Your Reaction?