17
Jun

Top 20 Open Source Python Libraries

Below is a list of the top 20 Open Source Libraries. Note that the list is neither exhaustive or stagnant. In a strong community as that Python has, the list is prone to change. The list has been prepared on the basis of popularity, no of users, python community feedback etc. The 20 below does not fall in any specific order and arrangement is quite random.

At the end of the day, it’s not which library you use. It’s how well you get the job done.

So here goes the list!

Zappa

Zappa is a system for running “serverless” Python web applications using AWS Lambda and AWS API Gateway. It handles all of the configuration and deployment automatically . Now it is easy to deploy an infinitely scalable application to the cloud with a just single command at the least possible cost often just a small fraction of the cost of a traditional web server.

OpenCV

OpenCV is a cross-platform library using which we can develop real-time computer vision applications.Originally developed by Intel, it was later supported by Willow Garage and is now maintained by Itseez.It  was built to provide a common infrastructure for computer vision applications and to accelerate the use of machine perception in the commercial products. Being a BSD-licensed product, OpenCV makes it easy for businesses to utilize and modify the code.

Django

Django is a high-level Python Web framework that encourages rapid development and clean, pragmatic design. When you’re building a website, you always need a similar set of components: a way to handle user authentication (signing up, signing in, signing out), a management panel for your website, forms, a way to upload files, etc. Django takes care of the repetitive work for you so that you don’t have to reinvent the wheel all over again.

BeautifulSoup

Beautiful Soup is a Python library for pulling data out of HTML and XML files. It works with your favorite parser to provide idiomatic ways of navigating, searching, and modifying the parse tree. It is an incredible tool for pulling out information from a webpage. You can use it to extract tables, lists, paragraph and you can also put filters to extract information from web page.

TensorFlow

TensorFlow is an open source software library for machine learning across a range of tasks, and developed by Google to meet their needs for systems capable of building and training neural networks to detect and decipher patterns and correlations, analogous to the learning and reasoning which humans use. Checkout SQL cheatsheet by clicking here

NLTK

NLTK is a leading platform for building Python programs to work with human language data. It provides easy-to-use interfaces to over 50 corpora and lexical resources such as WordNet, along with a suite of text processing libraries for classification, tokenization, stemming, tagging, parsing, and semantic reasoning, wrappers for industrial-strength NLP libraries, and an active discussion forum.

Requests

Requests is an elegant and simple Apache2 licensed  HTTP library for PythonIt is designed to be used by humans to interact with the language. This means you don’t have to manually add query strings to URLs, or form-encode your POST data.

Numpy

NumPy is the fundamental package for scientific computing with Python. It contains a powerful N-dimensional array object,sophisticated (broadcasting) functions,tools for integrating C/C++ and Fortran code,useful linear algebra, Fourier transform, and random number capabilities and much more. The handy tool for any scientific computing.

Flask

Flask is a  BSD licensed microframework for Python based on Werkzeug, Jinja 2 and good intentions. With simplified and easy to write and maintain code, flask has certainly won a lot of hearts.

SQLAlchemy

SQLAlchemy is an open-source Python Database toolkit, which is also an ORM Mapper.It  allows you to write easy to read programs and  remove the necessity of writing tedious and error-prone raw SQL statements. Checkout SQL cheatsheet by clicking here

Pandas

Pandas is a Python package providing fast, flexible, and expressive data structures designed to make working with “relational” or “labeled” data both easy and intuitive. It aims to be the fundamental high-level building block for doing practical, real world data analysis in Python. Checkout Pandas cheatsheet by clicking here

Cryptography

Cryptography is a method of storing and transmitting data in a particular form so that only those for whom it is intended can read and process it. It  has become a highly important function in the modern world where security of data means everything.Cryptography is an actively developed library in python that provides cryptographic recipes and primitives.It  is divided into two layers of recipes and hazardous materials (hazmat) catering it’s best to your various cryptographic needs.

Scrapy

Scrapy is an open source and collaborative framework for extracting the data you need from websites in a fast, simple, yet extensible way.Comparing with Beautiful Soup, you need to provide a specific url, and Beautiful Soup will help you get the data from that page. You can give Scrapy a start url, and it will go on, crawling and extracting data, without having to explicitly give it every single URL.Also scrapy is a website scraping tool that uses Python, because Scrapy can crawl the contents of your webpage prior to extracting

Marshmallow

Marshmallow is a lightweight library for converting complex datatypes to and from native Python datatypes.It is an ORM/ODM/framework-agnostic library for converting complex datatypes, such as objects, to and from native Python datatypes.

Arrow

Arrow is a Python library that offers a sensible, human-friendly approach to creating, manipulating, formatting and converting dates, times, and timestamps. It implements and updates the datetime type, plugging gaps in functionality, and provides an intelligent module API that supports many common creation scenarios. Simply put, it helps you work with dates and times with fewer imports and a lot less code.

Matplotlib

Matplotlib is a Python 2D plotting library which produces publication quality figures in a variety of hardcopy formats and interactive environments across platforms. Matplotlib can be used in Python scripts, the Python and IPython shell, the jupyter notebook, web application servers, and four graphical user interface toolkits. Checkout Matplotlib cheatsheet by clicking here

Pillow

The pillow is one of the core libraries for image manipulation in Python. Now there’s an actively developed fork of PIL called Pillow  which is making quite a good round in the python community.

Bokeh

Bokeh is a Python interactive visualization library that targets modern web browsers for presentation. It’s goal is to provide elegant, concise construction of novel graphics in the style of D3.js, and to extend this capability with high-performance interactivity over very large or streaming datasets.

CSV

The easy to handle python library for all your CSV needs.CSV stands for Comma Separated Variables.They are like incredibly simplified spreadsheets whose contents are just plain text. Python’s CSV library makes working with them extremly simplified.

Milk

Milk is a machine learning toolkit for python. It’s focus is on supervised classification.Several classifiers available:SVMs (based on libsvm), k-NN, random forests, decision trees. It also performs
feature selection.

There are a lot more amazing libraries in Python that would come of as as a huge boon such as Asyncpg, urllib2,Theano,Tkinder, Pycrypto, Pygame etc. Want to add more to this list. Comment your suggestion below. We love hearing from you!

17
Jun

Web Application Framework Flask

FLASK

Flask is a micro web framework written in Python

What is Web Framework?

Web Application Framework or simply Web Framework represents a collection of libraries and modules that enables a web application developer to write applications without having to bother about low-level details such as protocols, thread management etc.

Installation:

virtualenv which is a virtual Python environment builder, is used to help a user to create multiple Python environments side-by-side. Thereby, it can avoid compatibility issues between the different versions of the libraries.

The following command installs virtualenv

Once installed, a new virtual environment is created in a folder.

So now we have a virtual environment Test created in the FlaskTest folder

We now install Flask in this environment.

Now we have Flask installed in our system and we can import it in our projects.

As we have setup environment to work with Flask library, lets run a sample code to test Flask. Let’s create a python file HelloWorld.py and write the following code:

  • The route() function of the Flask class is a decorator, which tells the application which URL should call the associated function.In the above example, ‘/’ URL is bound with hello_world() function. Hence, when the home page of web server is opened in browser, the output of this function will be displayed.
  • The run() method of Flask class runs the application on the local development server.

All parameters for the run function are optional

host

Hostname to listen on. Defaults to 127.0.0.1 (localhost). You have to set it to ‘0.0.0.0’ to have server available externally

port

Default value is 5000

debug

Default value is false. If it is set to true, we get debug information

options

To be forwarded to underlying Werkzeug server.

Now we can execute the program and see its working. Execute the program using the command

You will get the following output.

Now if you open your browser and type in your localhost address that is, 127.0.0.1 along with the port number 5000

127.0.0.1:5000

You can see HELLO WORLD being printed on your browser.

You can use Ctrl+C to stop running the program.

Now if you need to set a specific URL other than the homepage of localhost, you can specify it in the route() function.

If you change the route function in the above code to:

And run the program again, you can see that opening the homepage of localhost renders no output, but instead if you add the URL specified in route function to the homepage address:

127.0.0.1:5000/hello

Now you can see your program being run…

Benefits of Flask:

  • Extensibility
  • Faster development
  • Easier to read, write and maintain

Have fun working with Flask library