今天技术学派给大家带来了12个在GitHub等开源网站中最受欢迎的Python开源框架。如果你正在学习python,那么这12个开源框架,千万别错过,这些框架包括事件I/O,OLAP,Web开发,高性能网络通信,测试,爬虫等。虽说不上是全都有,但也足够满足你了。
1.Django
Django是一款用Python语言写的免费开源的 Python Web应用开发框架,它遵循模型 -视图-控制器(MVC)的架构模式。它是由非营利Django维护软件基金会(DSF)和3条款BSD许可下可用,鼓励快速发展和实用的设计。Django同时是一款在数据库功能、后台功能、末班系统、网址匹配、缓存系统等方面有“先天”优势的开源框架。它可以通过几行简单的代码就让你的网站拥有一个强大的后台,轻松管理你的内容;强大,易扩展的模板系统,设计简易,代码,样式分开设计,更容易管理;如果与memcached或其它的缓存系统联用,更出色的表现,更快的加载速度。
项目地址:https://github.com/haiiiiiyun/awesome-django-cn
2.Tornado
Tornado源意为龙卷风,这里是一款可扩展的,非阻塞的Web服务器,应用开发框架,以及异步联网库。它最初是在FriendFeed开发(在2009年被Facebook收购)。Tornado是高度灵活,专门设计为开发人员和第三方工具厂商提供了一个开放环境。已有部分应用程序接口可以利用并附带参考书目,内容从开发环境接口到连接实现。另外,它还配备了一个WSGI服务器,其他WSGI Python应用程序(和框架)也可以使用。在开源和Apache 2.0许可下可用。
项目地址:http://www.tornadoweb.org/en/stable/
3.Twisted
Twisted是一款事件驱动的网络编程框架,支持许多常见的传输及应用层协议,如TCP、UDP、SSL/TLS、HTTP、IMAP、SSH、IRC以及FTP。还支持Unix domain sockets,在MIT许可下应用。
Twisted附带了一个可以web服务器上运行的WSGI,它能够为其他Python web应用程序允许开发人员使用的服务器定制HTTP服务。
项目地址:https://twistedmatrix.com/trac/
4.Pulsar
Pulsar是一个来自eBay的高扩展性、高可用性、基于事件驱动的开源实时分析平台和流处理框架,它能够实时收集和处理用户行为和业务事件。有了pulsar,你可以写出在不同进程或线程中运行一个或多个活动的异步服务器。
项目地址:https://pypi.org/project/pulsar/
5.Bottle
Bottle是一个简单高效的遵循WSGI的微型python Web框架。说微型,是因为它只有一个文件,除Python标准库外,它不依赖于任何第三方模块。
项目地址:http://www.bottlepy.org/docs/dev/
6.Diesel
Diesel是基于Greenlet的事件I/O框架,它提供一个整洁的API来编写网络客户端和服务器。支持TCP和UDP。非阻塞I/O使得diesel非常快速并且容易扩展。
项目地址:https://pypi.org/project/diesel/
7.Numpy
Numpy(Numerical Python)提供了python对多维数组对象的支持:ndarray,具有矢量运算能力,快速、节省空间。numpy支持高级大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库。
项目地址:http://www.numpy.org/
8.Scrapy
Scrapy是Python开发的一个快速、高层次的屏幕抓取和web抓取框架,用于抓取web站点并从页面中提取结构化的数据。Scrapy用途广泛,可以用于数据挖掘、监测和自动化测试。是一个使用Python编写的,轻量级的,简单轻巧,并且使用起来非常的方便。
项目地址:https://scrapy.org/
9.Cubes
Cubes是一个轻量级Python框架,包含OLAP、多维数据分析和浏览聚合数据(aggregated data)等工具。
项目地址:http://cubes.databrewery.org/explore.html
10.Falcon
Falcon是一个构建云API的高性能Python框架,是一个面向Hadoop的数据集和处理过程的管理平台。它鼓励使用REST架构风格,尽可能以最少的力气做最多的事情。
项目地址:http://falconframework.org/
11.Web2py
Web2py是 Google 在 web.py 基础上二次开发而来的,兼容 Google App Engine 。是一个为Python语言提供的全功能Web应用框架,旨在敏捷快速的开发Web应用,具有快速、安全以及可移植的数据库驱动的应用。
项目地址:http://www.web2py.com/
12.Zerorpc
Zerorpc是一个基于基于ZeroMQ的高性能分布式RPC框架。ZeroMQ和MessagePack开发的远程过程调用协议(RPC)实现。和 Zerorpc 一起使用的 Service API 被称为 zeroservice。Zerorpc 可以通过编程或命令行方式调用。
项目地址:http://www.zerorpc.io/