Organization of python excellent open source projects

 5 minutes to read

Python is an easy-to-learn but very powerful programming language with a wide range of applications, such as: server operation and maintenance, scientific computing, artificial intelligence, web development, and web crawlers can all use python. The following introduces several practical python libraries. The python libraries are very rich. If you have used python that is easy to use, you are welcome to add it.

1. Scrapy

Scrapy is a very popular python crawler framework. It is an asynchronous network processing framework based on Twisted. It is a crawler framework implemented in pure python. Users only need to customize and develop a few modules to easily implement a crawler to grab web content or various pictures.

2.django

Django is an open source Model-View-Controller (MVC) style web application framework powered by the Python programming language. Using Django, we can create high-quality, easy-to-maintain, database-driven applications in minutes.

3. Requests

Requests is a Python HTTP client library. Requests are highly recommended for simulating network requests, which are simple and easy to use.

4.Beautiful Soup

Beautiful Soup is a Python library that can extract data from HTML or XML files. It is often used to develop crawler programs.

Beautiful Soup provides simple, python-like functions for handling navigation, searching, modifying parse trees, and more. It is a toolbox that provides users with the data they need to scrape by parsing documents. Because of its simplicity, a complete application can be written without much code.

Beautiful Soup automatically converts input documents to Unicode encoding and output documents to utf-8 encoding. You do not need to consider the encoding method, unless the document does not specify an encoding method, then Beautiful Soup cannot automatically recognize the encoding method. Then, you just need to specify the original encoding.

Beautiful Soup has become the same excellent python interpreter as lxml and html6lib, providing users with the flexibility of different parsing strategies or strong speed.

5. Sanic + uvloop

Sanic: https://github.com/channelcat/sanic

uvloop: https://magic.io/blog/uvloop-blazing-fast-python-networking/

Not only is Sanic possibly the best software library name ever, it might be the fastest Python web framework ever, but it also seems to be way ahead of the rest. It is a Flask-like Python 3.5+ web server designed for speed. Another library, uvloop, is a super fast plugin replacement for asyncio’s event loop (which uses libuv under the hood). These two add up to a powerful combination!

According to the benchmarks by the authors of Sanic, uvloop can drive Sanic to handle more than 33,000 requests per second, which is too strong! (faster than node.js). Your code can benefit from this new async/await syntax - they’ll look neat; plus we love the Flask-style API. You should definitely try Sanic, and if you’re using asyncio too, you can benefit from uvloop without much modification to your code.

6. Tornado

Tornado is clearly different from today’s mainstream web server frameworks (including most of Python’s frameworks): it’s a non-blocking server, and it’s pretty fast. Thanks to its non-blocking approach and use of epoll, Tornado can handle thousands of connections per second, which means Tornado is an ideal web framework for real-time web services.

7. Twisted

Twisted is an event-driven network engine framework implemented in Python. Twisted was born in the early 2000s. In the eyes of online game developers at the time, no matter what language they used, there were few network libraries that could take into account scalability and cross-platform. The authors of Twisted tried to develop the game in the existing environment at the time. This step was very difficult. They urgently needed a network development framework with high scalability, event-driven, and cross-platform. For this reason, they decided to implement one by themselves. And learn from those previous game and web app developers and draw their lessons.

Twisted supports many common transport and application layer protocols, including TCP, UDP, SSL/TLS, HTTP, IMAP, SSH, IRC, and FTP. Just like Python, Twisted is also “batteries-included”. Twisted comes with client and server implementations for all the protocols it supports, and comes with command-line based tools that make it easy to configure and deploy production-grade Twisted applications.

8. PyQuery

PyQuery lets you traverse XML documents in a jQuery style, and it uses lxml to process XML and even HTML documents.

Develop crawler applications, a useful html parsing library.

9. Fastapi

Fastapi is a modern, high-performance web framework for building APIs with Python 3.6+ based on standard Python type hints. The main features are:

High performance, comparable to NodeJS and Go, one of the fastest python frameworks Write code fast: Speed ​​up feature development by approximately 200% to 300% Fewer errors: ~40% reduction in human error (developer) Intuitive: powerful editor support, spend less time debugging Simplicity: Designed to be easy to use and learn, reducing time spent reading documentation. short: reduce code duplication Robust: Get production-ready code, with automatic interactive documentation. Standardized: Based on (and fully compatible with) open standards for APIs: OpenAPI (formerly Swagger) and JSON Schema.

10. Flask

Flask is a tiny Python-developed web framework based on the Werkzeug WSGI toolkit and the Jinja2 template engine. Flask uses the BSD license. Flask is also known as a “microframework” because it uses a simple core and uses extensions to add additional functionality. Flask does not have a default database or form validation tool. However, Flask retains the flexibility to add these features with Flask-extension: ORM, forms authentication tools, file upload, various open authentication technologies.