用python写游戏的java后端服务器框架,有什么好的实践

java游戏服务器后端需要tomcat之类的吗 - 开源中国社区
当前访客身份:游客 [
当前位置:
我一直在做javaweb,离不开tomcat之类的中间件。
像用java做游戏后端,或者搜索引擎的后端,或者c/s 服务器端,是不是就不再需要tomcat之类的,也不需要遵循j2ee规范,只需要java基础就可以了?
我看很多招聘java游戏服务器开发的,要求1年服务器开发经验,非web开发。而且在我看来,做web开发的,几乎都用不到线程,socket,io什么的了。而且做web开发,几乎花在js的时间远远比java上多。
---------------问题补充---------------
:我说的tomcat之类,指的是servlet容器。
共有16个答案
<span class="a_vote_num" id="a_vote_num_
你可以把tomcat理解为实现http协议的第三方模块,至于你系统不需要http协议,哪你就走自己的tcp或upd跑自己的数据,tomcat也是thread+nio构成支持网络通讯,你自己的
系统可以自己实现这个通讯层模块也是OK的。
<span class="a_vote_num" id="a_vote_num_
如果是网页游戏的话,你看到的网站游戏账号登入界面,这个是需要tomcat类似的服务器(这跟网站没啥区别),第2部,当你选择哪个区,哪个服务器后,跟tomcat就没关系了,就开始flash调用连接后端的(mina,netty), 连接后,java后端就开始写应用程序Service&DAO&DB,大概就这个流程,mina从Service取的数据,转下json格式,在发送传给flash前台, 游戏就大概这个流程,照着这个思路,你整个demo出来,就差不多明白了
<span class="a_vote_num" id="a_vote_num_
你这不挺清楚的吗?
你可以学习下netty,这个是在网络层实现的server-client 基于NIO管道形式的长链接通信.
由于是基于网络层,所以传输层通信协议你可以自己选择,UDP,TCP,甚至是HTTP.如果选择了UDP,TCP,那么再自己定义一种数据传输格式,作为通信。记得最终传输的都是 byte[],所以你选择的数据格式一定要能很方便,快捷的序列化和反序列化。
netty有channel group的概念,所以能很方便的实现 网游的不同场景,比如 组队,开房,频道,工会,师徒等等.....
<span class="a_vote_num" id="a_vote_num_
tomcat 的容器功能可以使用,只是如果你用socket的方式的话,tomcat只是起到初始化数据和类加载等功能,当然如果有后台,通过http的连接可以直接写对应的逻辑处理,j2ee规范看你自己的游戏需求,协议格式等
<span class="a_vote_num" id="a_vote_num_
游戏肯定不需要tomcat了吧。不过像一般的手机客户端,也只是用http做协议的(以前我还以为是直接用tcp,自定义协议额)。
<span class="a_vote_num" id="a_vote_num_
游戏谁用HTTP协议?
<span class="a_vote_num" id="a_vote_num_
子游找了一家游戏公司?
--- 共有 1 条评论 ---
我不想让自己的职业局限在web上。目前没有面试呢
(4年前)&nbsp&
<span class="a_vote_num" id="a_vote_num_
tomcat只是一个http服务器,而你的游戏显然不使用HTTP协议来传输数据,自然不会用到tomcat。
<span class="a_vote_num" id="a_vote_num_
我觉得要看游戏的类型来吧,比如LOL这种对即时性要求很高的游戏,一定需要用精简的长连接来传输,HTTP在这种时候太笨重了。
<span class="a_vote_num" id="a_vote_num_
引用来自“抢小孩糖吃”的答案我个人感觉使用web方式支持开发的游戏速度应该不会降低多少,只是请求数量比较多,javabean里面的思想很适合作为游戏里面请求的相关内容,把请求独立出来 效果更好,不过实时确认部分有待考虑如何实现您觉得java web server对于处理tcp长连接和tcp短连接,哪种方式更有优势?游戏服务器中哪种连接方式更多?&
--- 共有 2 条评论 ---
: 谢谢您的专业回答,受教了。
(4年前)&nbsp&
根据游戏内容和性质来。
如果一个游戏是长期挂机的游戏,比如策略类,可以采用短连接。
如果一个游戏是玩家交互类比如 RPG回合制,就只能采用长连接了。
还有,如果你是FPS游戏等,就是竞技游戏,则最好在场景同步部分采用UDP。
(4年前)&nbsp&
更多开发者职位上
有什么技术问题吗?
微信流量...的其它问题
类似的话题2818人阅读
python下的开发框架挺多,Django,Tornado,Flask…,我们选用了Django来做演示是因为Django的restful框架-djangorestframework开发RestfulAPI足够简单成熟。目前Django的最新版本为1.9,而Django从1.7开始已经对Python的最低版本要求到2.7以上了,虽然官方推荐使用Python3,但笔者还是建议使用2.7,因为很多python下的轮子都不是很支持Python3,例如Twisted(Python的网络开发框架)也是最近才开始支持Python3。
我们先搭建基础环境
软件环境:
我们创建一个Centos6.6的虚拟机,这里做一个小笔记,关于VisualBox如何快速克隆Centos虚拟机:
1.复制虚拟电脑弹出框,勾选重新初始化所有网卡的MAC地址
2.将/etc/udev/rules.d/70-persistent-net.rules中的eth1 MAC地址覆盖到/etc/sysconfig/network-scripts/ifcfg-eth0中的HWADDR,修改DEVICE=eth1
3.重启网络 /etc/init.d/network restart
centos默认的python是2.6的,我们需要下载2.7源码覆盖安装
& yum install -y wget gcc sqlite-devel openssl-devel zlib-devel
& cd /tmp/
& wget https://www.python.org/ftp/python/2.7.10/Python-2.7.10.tgz
& tar -xf Python-2.7.10.tgz
& cd Python-2.7.10
& ./configure
& make install
& wget https://bootstrap.pypa.io/ez_setup.py -O - | sudo /usr/local/bin/python
& easy_install django
& easy_install djangorestframework
& easy_install django-cors-headers
& django-admin startproject RestfulProject
& cd RestfulProject
& python manage.py startapp database
将database加入到INSTALLED_APPS
INSTALLED_APPS = (
"database",
数据库建模
from django.db import models
from django.utils import timezone
class News(models.Model):
title = models.CharField(max_length=100)
content = models.TextField(blank=True)
create_time = models.DateTimeField(default=timezone.now)
将News加入到django的后台自动化管理django-admin中
from django.contrib import admin
from .models import *
admin.site.register(News)
数据库初始化
& python manage.py makemigrations database
& python manage.py migrate
& python manage.py createsuperuser
一个Django的基础项目即完成,我们跑起来,看看
& python manage.py runserver 0.0.0.0:8000
我们用djangorestframework来构建最简单的CRUD
INSTALLED_APPS = (
'rest_framework',
from rest_framework import serializers,viewsets
from database.models import News
class NewsSerializer(serializers.ModelSerializer):
class Meta:
model = News
class NewsViewSet(viewsets.ModelViewSet):
serializer_class = NewsSerializer
queryset = News.objects.all()
from django.conf.urls import include
from rest_framework import routers
from RestfulProject.views import NewsViewSet
router = routers.DefaultRouter()
router.register(r'news', NewsViewSet,base_name='news')
urlpatterns = [
url(r'^', include(router.urls)),
我们可以使用postman来测试我们写好的接口,但是djangorestframework本身集成了webapi的在线浏览功能,可以更方便的测试
我们来整合BasicAuth验证功能,djangorestframework的默认验证是使用django自带的session验证,我们首先来看看默认的验证是怎样的
from rest_framework.permissions import IsAuthenticated
class NewsViewSet(viewsets.ModelViewSet):
permission_classes = (IsAuthenticated,)
我们再访问这个接口将返回403错误
我们来将默认认证换成BasicAuth
REST_FRAMEWORK = {
'DEFAULT_AUTHENTICATION_CLASSES': [
'rest_framework.authentication.BasicAuthentication',
再访问这个接口将返回401错误,浏览器根据该错误将弹出认证界面
按照制定的接口文档,我们再补全一个认证接口给客户端登录使用
from rest_framework.views import APIView
from rest_framework.response import Response
class UserViewSet(APIView):
permission_classes = (IsAuthenticated,)
def get(self, request):
content = {
'userid':request.user.id,
'username':request.user.username,
return Response(content)
from RestfulProject.views import UserViewSet
urlpatterns = [
url(r'^auth/info/$', UserViewSet.as_view()),
书写扩展的协议-批量删除
编辑RestfulProject/views.py
from rest_framework.decorators import list_route
from rest_framework import status
class NewsViewSet(viewsets.ModelViewSet):
@list_route(methods=['delete',])
def deletes(self, request, **kwargs):
ids = request.GET['ids'].split(',')
News.objects.filter(id__in=ids).delete()
return Response(status=status.HTTP_204_NO_CONTENT)
书写扩展协议-搜索
class NewsViewSet(viewsets.ModelViewSet):
serializer_class = NewsSerializer
permission_classes = (IsAuthenticated,)
def get_queryset(self):
if not 'search' in self.request.GET:
ft = News.objects.all()
ft = News.objects.filter(title__contains=self.request.GET['search'])
return ft.order_by('-create_time')
书写扩展协议-分页
from rest_framework.pagination import PageNumberPagination
from rest_framework.response import Response
from collections import OrderedDict
class StandardResultsSetPagination(PageNumberPagination):
page_size = 50
page_size_query_param = 'page_size'
max_page_size = 1000
def get_paginated_response(self, data):
return Response(OrderedDict([
('total_count', self.page.paginator.count),
('page_count',self.page.paginator.num_pages),
('next', self.get_next_link()),
('previous', self.get_previous_link()),
('results', data)
REST_FRAMEWORK = {
'DEFAULT_PAGINATION_CLASS': 'RestfulProject.pagination.StandardResultsSetPagination',
后端基本完成了,还剩下最后一个问题CORS,我们在本地写一个简单的jquery
&script src="/jquery/2.1.4/jquery.min.js"&&
$.get("http://172.17.9.177:8000/news/");
在chrome里面调试一下会出现如下错误
XMLHttpRequest cannot load http://172.17.9.177:8000/news/. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'null' is therefore not allowed access. The response had HTTP status code 401.
我们用django-cors-headers来解决这个问题:
INSTALLED_APPS = (
'corsheaders',
将cors中间件放置在monMiddleware之前
MIDDLEWARE_CLASSES = (
'corsheaders.middleware.CorsMiddleware',
'monMiddleware',
设置任意网址的跨域请求都被服务器接受
CORS_ORIGIN_ALLOW_ALL = True
再次用jquery测试,之前那个错误将不再出现。
此文数据库模型、协议的定义参见
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:93574次
积分:1130
积分:1130
排名:千里之外
原创:19篇
评论:27条
(3)(2)(1)(10)(2)(1)环境管理(管理
版本和环境的工具)
p:非常简单的交互式 python 版本。官网
pyenv:简单的 Python 版本管理工具。官网
Vex:可以在虚拟环境中执行命令。官网
virtualenv:创建独立 Python 环境的工具。官网
virtualenvwrapper:virtualenv 的一组扩展。官网
包管理(管理包和依赖的工具)
pip:Python 包和依赖关系管理工具。官网
pip-tools:保证 Python 包依赖关系更新的一组工具。官网
conda:跨平台,Python 包管理工具。官网
Curdling:管理 Python 包的命令行工具。官网
wheel:Python 分发的新标准,意在取代 eggs。官网
包仓库(本地 PyPI 仓库服务和代理)
warehouse:下一代 PyPI。官网
Warehouse:PyPA 提供的 PyPI 镜像工具。官网&bandersnatch
devpi:PyPI 服务和打包/测试/分发工具。官网
localshop:本地 PyPI 服务(自定义包并且自动对 PyPI 镜像)。官网
分发(打包为可以便分发)
PyInstaller:将 Python 转换成独立的执行文件(跨平台)。官网
dh-virtualenv:构建并将 virtualenv 虚拟环境作为一个 Debian 包来发布。官网
Nuitka:将脚本、模块、包编译成可执行文件或扩展模块。官网
py2app:将 Python 脚本变为独立包(Mac OS X)。官网
py2exe:将 Python 脚本变为独立()。官网
pynsist:一个用来创建 Windows 安装程序的工具,可以在安装程序中打包 Python本身。官网
构建工具(将源码编译成软件)
buildout:一个构建系统,从多个组件来创建,组装和部署应用。官网
BitBake:针对嵌入式
的类似 make 的构建工具。官网
fabricate:对任何语言自动找到依赖关系的构建工具。官网
PlatformIO:多平台命令行构建工具。官网
PyBuilder:纯 Python 实现的持续化构建工具。官网
SCons:软件构建工具。官网
交互式解析器(交互式 Python 解析器)
IPython:功能丰富的工具,非常有效的使用交互式 Python。官网
bpython:界面丰富的 Python 解析器。官网
ptpython:高级交互式Python解析器, 构建于python-prompt-toolkit&之上。官网
文件(文件管理和 MIME(多用途的网际邮件扩充协议)类型检测)
imghdr:(Python 标准库)检测类型。官网
mimetypes:(Python 标准库)将文件名映射为 MIME 类型。官网
path.py:对 os.path 进行封装的模块。官网
pathlib:(Python3.4+ 标准库)跨平台的、面向对象的路径操作库。官网
python-magic:文件类型检测的第三方库 libmagic 的 Python 。官网
Unipath:用面向对象的方式操作文件和目录。官网
watchdog:管理文件系统事件的 API 和 shell 工具官网
日期和时间(操作日期和时间的类库)
arrow:更好的 Python 日期时间操作类库。官网
Chronyk:Python 3 的类库,用于解析手写格式的时间和日期。官网
dateutil:Python datetime 模块的扩展。官网
delorean:解决 Python 中有关日期处理的棘手问题的库。官网
moment:一个用来处理时间和日期的Python库。灵感来自于Moment.js。官网
PyTime:一个简单易用的Python模块,用于通过来操作日期/时间。官网
pytz:现代以及版本的世界时区定义。将时区引入Python。官网
when.py:提供用户友好的函数来帮助用户进行常用的日期和时间操作。官网
文本处理(用于解析和操作文本的库)
chardet:字符编码检测器,兼容 Python2 和 Python3。官网
difflib:(Python 标准库)帮助我们进行差异化比较。官网
ftfy:让Unicode文本更完整更连贯。官网
fuzzywuzzy:模糊字符串匹配。官网
Levenshtein:快速计算编辑距离以及字符串的相似度。官网
pangu.py:在中日韩语字符和数字字母之间添加空格。官网
yfiglet-figlet:pyfiglet -figlet&的 Python实现。
shortuuid:一个生成器库,用以生成简洁的,明白的,URL 的 UUID。官网
unidecode:Unicode 文本的 ASCII 转换形式 。官网
uniout:打印可读的字符,而不是转义的字符串。官网
xpinyin:一个用于把汉字转换为拼音的库。官网
awesome-slugify:一个 Python slug 化库,可以保持 Unicode。官网
python-slugify:Python slug 化库,可以把 unicode 转化为 ASCII。官网
unicode-slugify:一个 slug 工具,可以生成 unicode slugs ,需要依赖 Django 。官网
phonenumbers:解析,格式化,储存,验证号码。官网
PLY:lex 和 yacc 解析工具的 Python 实现。官网
Pygments:通用语法高亮工具。官网
pyparsing:生成通用解析器的框架。官网
python-nameparser:把一个人名分解为几个独立的部分。官网
python-user-agents: user agent 解析器。官网
sqlparse:一个无验证的 SQL 解析器。官网
特殊文本格式处理(一些用来解析和操作特殊文本格式的库)
tablib:一个用来处理中表格数据的模块。官网
Marmir:把输入的Python 数据结构转换为电子表单。官网
openpyxl:一个用来读写
2010 xlsx/xlsm/xltx/xltm 文件的库。官网
python-docx:读取,查询以及修改
docx 文件。官网
unoconv:在 LibreOffice/OpenOffice 支持的任意文件格式之间进行转换。官网
XlsxWriter:一个用于创建 Excel .xlsx 文件的 Python 模块。官网
xlwings:一个使得在 Excel 中方便调用 Python 的库(反之亦然),基于 BSD 协议。官网
xlwt:读写 Excel 文件的数据和格式信息。官网&/&xlrd
relatorio:模板化OpenDocument 文件。官网
PDFMiner:一个用于从PDF文档中抽取信息的工具。官网
PyPDF2:一个可以分割,合并和转换 PDF 页面的库。官网
ReportLab:快速创建富文本 PDF 文档。官网
Mistune:快速并且功能齐全的纯 Python 实现的 Markdown 解析器。官网
Python-Markdown:John Gruber’s Markdown 的 Python 版实现。官网
PyYAML:Python 版本的 YAML 解析器。官网
csvkit:用于转换和操作 CSV 的工具。官网
unp:一个用来方便解包归档文件的命令行工具。官网
自然语言处理(用来处理人类语言的库)
NLTK:一个先进的平台,用以构建处理人类语言数据的 Python 程序。官网
jieba:中文分词工具。官网
langid.py:独立的语言识别系统。官网
Pattern:Python 信息挖掘模块。官网
SnowNLP:一个用来处理中文文本的库。官网
TextBlob:为进行普通自然语言处理任务提供一致的 API。官网
TextGrocery:一简单高效的短文本分类工具,基于 LibLinear 和 Jieba。官网
文档(用以生成文档的库)
Sphinx:Python 文档生成器。官网
awesome-sphinxdoc:官网
MkDocs:对 Markdown 友好的文档生成器。官网
pdoc:一个可以替换Epydoc 的库,可以自动生成 Python 库的 API 文档。官网
Pycco:文学(literate-programming)风格的文档生成器。官网
配置(用来保存和解析配置的库)
config:logging&模块作者写的分级配置模块。官网
ConfigObj:INI 文件解析器,带验证功能。官网
ConfigParser:(Python 标准库) INI 文件解析器。官网
profig:通过多种格式进行配置,具有数值转换功能。官网
python-decouple:将设置和代码完全隔离。官网
命令行工具(用于创建命令行程序的库)
命令行程序开发
cement:Python 的命令行程序框架。官网
click:一个通过组合的方式来创建精美命令行界面的包。官网
cliff:一个用于创建命令行程序的框架,可以创建具有多层命令的命令行程序。官网
clint:Python 命令行程序工具。官网
colorama:跨平台彩色终端文本。官网
docopt:Python 风格的命令行参数解析器。官网
Gooey:一条命令,将命令行程序变成一个 GUI 程序。官网
python-prompt-toolkit:一个用于构建强大的交互式命令行程序的库。官网
Pythonpy:在命令行中直接执行任何Python指令。官网
生产力工具
aws-cli:Amazon Web Services 的通用命令行界面。官网
bashplotlib:在终端中进行基本绘图。官网
caniusepython3:判断是哪个项目妨碍你你移植到 Python 3。官网
cutter:从 cookiecutters(项目模板)创建项目的一个命令行工具。官网
doitlive:一个用来在终端中进行现场演示的工具。官网
howdoi:通过命令行获取即时的编程问题&官网
httpie:一个命令行HTTP ,cURL 的替代品,易用性更好。官网
PathPicker:从bash输出中选出文件。官网
percol:向UNIX shell 传统管道概念中加入交互式选择功能。官网
SAWS:一个加强版的 AWS 命令行。官网
thefuck:修正你之前的命令行指令。官网
mycli:一个
命令行客户端,具有自动补全和语法高亮功能。官网
pgcli:Postgres 命令行工具,具有自动补全和语法高亮功能。官网
下载器(用来进行下载的库)
s3cmd:一个用来管理Amazon S3 和 CloudFront 的命令行工具。官网
s4cmd:超级 S3 命令行工具,性能更加强劲。官网
you-get:一个 /Youku/Niconico 视频下载器,使用 Python3 编写。官网
youtube-dl:一个小巧的命令行程序,用来下载 YouTube 视频。官网
图像处理(用来操作图像的库)
pillow:Pillow 是一个更加易用版的&PIL。官网
hmap:图像直方图映射。官网
imgSeek:一个使用视觉相似性搜索一组图片集合的项目。官网
nude.py:裸体检测。官网
pyBarcode:不借助 PIL 库在 Python 程序中生成条形码。官网
pygram:类似 Instagram 的图像滤镜。官网
python-qrcode:一个纯 Python 实现的生成器。官网
Quads:基于四叉树的艺术。官网
scikit-image:一个用于(科学)图像处理的 Python 库。官网
thumbor:一个小型图像服务,具有剪裁,尺寸重设和翻转功能。官网
wand:MagickWand的Python 绑定。MagickWand 是 ImageMagick的 C API 。官网
OCR(光学字符识别库)
pyocr:Tesseract 和 Cuneiform 的一个封装(wrapper)。官网
pytesseract: Tesseract OCR&的另一个封装(wrapper)。官网
python-tesseract -&Google Tesseract OCR&的一个类。
音频(用来操作音频的库)
audiolazy:Python 的数字信号处理包。官网
audioread:交叉库 (GStreamer + Core Audio + MAD + FFmpeg) 音频解码。官网
beets:一个库管理工具及&MusicBrainz&标签添加工具官网
dejavu:音频指纹提取和识别官网
django-elastic-transcoder:Django +&Amazon Elastic Transcoder。官网
eyeD3:一个用来操作音频文件的工具,具体来讲就是包含 ID3 元信息的 MP3 文件。官网
id3reader:一个用来读取 MP3 元数据的 Python 模块。官网
m3u8:一个用来解析 m3u8 文件的模块。官网
mutagen:一个用来处理音频元数据的 Python 模块。官网
pydub:通过简单、简洁的高层接口来操作音频文件。官网
pyechonest:Echo Nest&API 的 Python 客户端官网
talkbox:一个用来处理演讲/信号的 Python 库官网
TimeSide:开源 web 音频处理框架。官网
tinytag:一个用来读取MP3, OGG, FLAC 以及 Wave 文件音乐元数据的库。官网
mingus:一个高级音乐理论和曲谱包,支持 MIDI 文件和回放功能。官网
Video(用来操作视频和GIF的库)
moviepy:一个用来进行基于脚本的视频编辑模块,适用于多种格式,包括动图 GIFs。官网
scikit-video:SciPy 视频处理常用程序。官网
地理位置(地理编码地址以及用来处理经纬度的库)
GeoDjango:世界级地理图形 web 框架。官网
GeoIP:MaxMind GeoIP Legacy 数据库的 Python API。官网
geojson:GeoJSON 的 Python 绑定及工具。官网
geopy:Python 地址编码工具箱。官网
pygeoip:纯 Python GeoIP API。官网
django-countries:一个 Django ,提供用于表格的国家选择功能,国旗图标静态文件以及中的国家字段。官网
HTTP(使用HTTP的库)
requests:人性化的HTTP请求库。官网
grequests:requests 库 + gevent ,用于异步 HTTP 请求.官网
httplib2:全面的 HTTP 客户端库。官网
treq:类似 requests 的Python API 构建于 Twisted HTTP 客户端之上。官网
urllib3:一个具有线程安全连接池,支持文件 post,清晰友好的 HTTP 库。官网
数据库(Python实现的数据库)
pickleDB:一个简单,轻量级键值储存数据库。官网
PipelineDB:流式 SQL 数据库。官网
TinyDB:一个微型的,面向文档型数据库。官网
ZODB:一个 Python 原生对象数据库。一个键值和对象图数据库。官网
数据库驱动(用来连接和操作数据库的库)
ySQL:awesome-mysql系列
mysql-python:Python 的 MySQL 数据库连接器。官网
ysqlclient:mysql-python&分支,支持 Python 3。
oursql:一个更好的 MySQL 连接器,支持原生预编译指令和 BLOBs.官网
PyMySQL:纯 Python MySQL 驱动,兼容 mysql-python。官网
PostgreSQL
psycopg2:Python 中最流行的 PostgreSQL 适配器。官网
queries:psycopg2 库的封装,用来和 PostgreSQL 进行交互。官网
txpostgres:基于 Twisted 的异步 PostgreSQL 驱动。官网
其他关系型数据库
apsw:另一个 Python SQLite封装。官网
dataset:在数据库中Python字典
pymssql:一个简单的Microsoft SQL Server数据库接口。官网
NoSQL 数据库
cassandra-python-driver:Cassandra 的 Python 驱动。官网
HappyBase:一个为 Apache HBase 设计的,对友好的库。官网
Plyvel:一个快速且功能丰富的 LevelDB 的 Python 接口。官网
py2neo:Neo4j restful 接口的Python 封装客户端。官网
pycassa:Cassandra 的 Python Thrift 驱动。官网
PyMongo:MongoDB 的官方 Python 客户端。官网
redis-py:Redis 的 Python 客户端。官网
telephus:基于 Twisted 的 Cassandra 客户端。官网
txRedis:基于 Twisted 的 Redis 客户端。官网
ORM(实现对象关系映射或数据映射的库)
关系型数据库
Django Models:Django 的一部分。官网
SQLAlchemy:Python SQL 工具以及对象关系映射工具。官网
awesome-sqlalchemy系列
Peewee:一个小巧,富有表达力的 ORM。官网
PonyORM:提供面向生成器的 SQL 接口的 ORM。官网
python-sql:编写 Python 风格的 SQL 查询。官网
NoSQL 数据库
django-mongodb-engine:Django MongoDB 后端。官网
PynamoDB:Amazon DynamoDB&的一个 Python 风格接口。官网
flywheel:Amazon DynamoDB 的对象映射工具。官网
MongoEngine:一个Python 对象文档映射工具,用于 MongoDB。官网
hot-redis:为 Redis 提供 Python 丰富的数据类型。官网
redisco:一个 Python 库,提供可以持续存在在 Redis 中的简单模型和容器。官网
butterdb:Google Drive 电子表格的 Python ORM。官网
Web 框架(全栈 Web 框架)
Django:Python 界最流行的 web 框架。官网
awesome-django系列
Flask:一个 Python 微型框架。官网
awesome-flask系列
yramid:一个小巧,快速,接地气的开源Python web 框架。
awesome-pyramid系列
Bottle:一个快速小巧,轻量级的 WSGI 微型 web 框架。官网
CherryPy:一个极简的 Python web 框架,服从 HTTP/1.1 协议且具有WSGI 线程池。官网
TurboGears:一个可以扩展为全栈的微型框架。官网
web.py:一个 Python 的 web 框架,既简单,又强大。官网
web2py:一个全栈 web 框架和平台,专注于简单易用。官网
Tornado:一个web 框架和异步网络库。官网
权限(允许或拒绝用户访问数据或功能的库)
Carteblanche:Module to align code with thoughts of users and designers. Also magically handles navigation and permissions.官网
django-guardian:Django 1.2+ 实现了单个对象权限。官网
django-rules:一个小巧但是强大的应用,提供对象级别的权限管理,且不需要使用数据库。官网
django-cms:一个开源的,企业级 CMS,基于 Django。官网
djedi-cms:一个轻量级但却非常强大的 Django CMS ,考虑到了插件,内联编辑以及性能。官网
FeinCMS:基于 Django 构建的最先进的内容管理系统之一。官网
Kotti:一个高级的,Python 范的 web 应用框架,基于 Pyramid 构建。官网
Mezzanine:一个强大的,持续的,灵活的内容管理平台。官网
Opps:一个为杂志,报纸以及大流量门户网站设计的 CMS 平台,基于 Django。官网
Plone:一个构建于开源应用 Zope 之上的 CMS。官网
Quokka:灵活,可扩展的小型 CMS,基于 Flask 和 MongoDB。官网
Wagtail:一个 Django 内容管理系统。官网
Widgy:最新的 CMS 框架,基于 Django。官网
(用于电子商务以及支付的框架和库)
django-oscar:一个用于 Django 的开源的电子商务框架。官网
django-shop:一个基于 Django 的店铺系统。官网
Cartridge:一个基于 Mezzanine 构建的购物车应用。官网
shoop:一个基于 Django 的开源电子商务平台。官网
alipay:非官方的 Python
merchant:一个可以接收来自多种支付平台支付的 Django 应用。官网
money:货币类库with optional CLDR-backed locale-aware formatting and an extensible currency exchange solution.官网
python-currencies:显示货币格式以及它的数值。官网
RESTful API(用来开发RESTful APIs的库)
django-rest-framework:一个强大灵活的工具,用来构建 web API。官网
django-tastypie:为Django 应用开发API。官网
django-formapi:为 Django 的表单验证,创建 JSON APIs 。官网
flask-api:为 flask 开发的,可浏览 Web APIs 。官网
flask-restful:为 flask 快速创建REST APIs 。官网
flask-restless:为 SQLAlchemy 定义的数据库模型创建 RESTful APIs 。官网
flask-api-utils:为 Flask 处理 API 表示和验证。官网
eve:REST API 框架,由 Flask, MongoDB 等驱动。官网
cornice:一个Pyramid 的 REST 框架 。官网
与框架无关的
falcon:一个用来建立云 API 和 web app 后端的噶性能框架。官网
sandman:为现存的数据库驱动系统自动创建 REST APIs 。官网
restless:框架无关的 REST 框架 ,基于从 Tastypie 学到的。官网
ripozo:快速创建 REST/HATEOAS/Hypermedia APIs。官网
验证(实现验证方案的库)
Authomatic:简单但是强大的框架,身份验证/授权客户端。官网
django-allauth:Django 的验证应用。官网
django-oauth-toolkit:为 Django 用户准备的 OAuth2。官网
django-oauth2-provider:为 Django 应用提供 OAuth2 接入。官网
Flask-OAuthlib:OAuth 1.0/a, 2.0 客户端实现,供 Flask 使用。官网
OAuthLib:一个 OAuth 请求-签名逻辑通用、 完整的实现。官网
python-oauth2:一个完全测试的抽象接口。用来创建 OAuth 客户端和。官网
python-social-auth:一个设置简单的社会化验证方式。官网
rauth:OAuth 1.0/a, 2.0, 和 Ofly 的 Python 库。官网
sanction:一个超级简单的OAuth2 客户端实现。官网
jose:Script 对象签名和加密草案的实现。官网
PyJWT:JSON Web 令牌草案 01。官网
python-jws:JSON Web 签名草案 02 的实现。官网
python-jwt:一个用来生成和验证 JSON Web 令牌的模块。官网
模板引擎(模板生成和词法解析的库和工具)
Jinja2:一个现代的,对友好的模板引擎。官网
Chameleon:一个 HTML/XML 模板引擎。 模仿了 ZPT(Zope Page Templates), 进行了速度上的优化。官网
Genshi:Python 模板工具,用以生成 web 感知的结果。官网
Mako:Python 平台的超高速轻量级模板。官网
Queue(处理事件以及任务队列的库)
celery:一个异步任务队列/作业队列,基于分布式消息传递。官网
huey:小型任务队列。官网
mrq:Mr. Queue -一个 Python 的分布式 worker 任务队列, 使用 Redis 和 gevent。官网
rq:简单的 Python 作业队列。官网
simpleq:一个简单的,可无限扩张的,基于 SQS 的队列。官网
搜索(对数据进行索引和执行搜索查询的库和软件)
django-haystack:Django 模块化搜索。官网
elasticsearch-py:Elasticsearch 的官方底层 Python 客户端。官网
elasticsearch-dsl-py:Elasticsearch 的官方高级 Python 客户端。官网
solrpy:solr的 Python 客户端。官网
Whoosh:一个快速的纯 Python 库。官网
消息(用来创建用户活动的库)
django-activity-stream:从你的站点行为中生成通用活动信息流。官网
Stream-Framework:使用 Cassandra 和 Redis 创建动态消息和通知系统。官网
资源管理(管理、压缩、缩小网站资源的工具)
django-compressor:将链接和内联的
或 CSS 压缩到一个单独的缓存文件中。官网
django-storages:一个针对 Django 的自定义存储后端的工具集合。官网
fanstatic:打包、优化,并且把静态文件依赖作为 Python 的包来提供。官网
File Conveyor:一个后台驻留的程序,用来发现和同步文件到 CDNs, S3 和 FTP。官网
Flask-Assets:帮你将 web 资源整合到你的 Flask app 中。官网
jinja-assets-compressor:一个 Jinja 扩展,用来编译和压缩你的资源。官网
webassets:为你的静态资源打包、优化和管理生成独一无二的缓存 URL。官网
缓存(缓存数据的库)
Beaker:一个缓存和会话库,可以用在 web 应用和独立 Python脚本和应用上。官网
django-cache-machine:Django 模型的自动缓存和失效。官网
django-cacheops:具有自动颗粒化事件驱动失效功能的 ORM。官网
django-viewlet:渲染模板,同时具有额外的缓存控制功能。官网
dogpile.cache:dogpile.cache 是 Beaker 的下一代替代品,由同一作者开发。官网
HermesCache:Python 缓存库,具有基于标签的失效和 dogpile effect 保护功能。官网
johnny-cache:django应用缓存框架。官网
pylibmc:libmemcached&接口的 Python 封装。官网
电子邮件(用来发送和解析电子邮件的库)
jango-celery-ses:带有 AWS SES 和 Celery 的 Django email 后端。官网
envelopes:供人类使用的电子邮件库。官网
flanker:一个 email 地址和 Mime 解析库。官网
imbox:Python IMAP 库官网
inbox.py:Python SMTP 服务器。官网
inbox:一个开源电子邮件工具箱。官网
lamson:Python 风格的 SMTP 应用服务器。官网
mailjet:Mailjet API 实现,用来提供批量发送邮件,统计等功能。官网
marrow.mailer:高性能可扩展邮件分发框架。官网
modoboa:一个邮件托管和管理平台,具有现代的、简约的 Web UI。官网
pyzmail:创建,发送和解析电子邮件。官网
Talon:Mailgun 库,用来抽取信息和签名。官网
国际化(用来进行国际化的库)
Babel:一个Python 的国际化库。官网
Korean:一个韩语词态库。官网
URL处理(解析URLs的库)
furl:一个让处理 URL 更简单小型 Python 库。官网
purl:一个简单的,不可变的URL类,具有简洁的 API 来进行询问和处理。官网
pyshorteners:一个纯 Python URL 缩短库。官网
shorturl:生成短小 URL 和类似 bit.ly 短链的Python 实现。官网
webargs:一个解析 HTTP 请求参数的库,内置对流行 web 框架的支持,包括 Flask, Django, Bottle, Tornado和 Pyramid。官网
HTML处理(处理 HTML和XML的库)
BeautifulSoup:以 Python 风格的方式来对 HTML 或 XML 进行迭代,搜索和修改。官网
bleach:一个基于白名单的 HTML 清理和文本链接库。官网
cssutils:一个 Python 的 CSS 库。官网
html5lib:一个兼容标准的 HTML 文档和片段解析及序列化库。官网
lxml:一个非常快速,简单易用,功能齐全的库,用来处理 HTML 和 XML。官网
MarkupSafe:为Python 实现 XML/HTML/XHTML 标记安全字符串。官网
pyquery:一个解析 HTML 的库,类似 jQuery。官网
untangle:将XML文档转换为Python对象,使其可以方便的访问。官网
xhtml2pdf:HTML/CSS 转 PDF 工具。官网
xmltodict:像处理 JSON 一样处理 XML。官网
爬取网络站点的库(用于进行内容提取的库)
Haul:一个可以扩展的图像爬取工具。官网
html2text:将 HTML 转换为 Markdown 格式文本官网
lassie:人性化的网页内容检索库。官网
micawber:一个小型网页内容提取库,用来从 URLs 提取富内容。官网
newspaper:使用 Python 进行新闻提取,提取以及内容策展。官网
opengraph:一个用来解析开放内容协议(Open Graph Protocol)的 Python模块。官网
python-goose:HTML内容/文章提取器。官网
python-readability:arc90 公司 readability 工具的 Python 高速端口。官网
sanitize:为杂乱的数据世界带来调理性。官网
sumy:一个为和 HTML 页面进行自动摘要的模块。官网
textract:从任何格式的文档中提取文本,Word,PowerPoint,PDFs 等等。官网
表单(进行表单操作的库)
Deform:Python HTML 表单生成库,受到了 formish 表单生成库的启发。官网
django-bootstrap3:集成了 Bootstrap 3 的 Django。官网
django-crispy-forms:一个 Django 应用,他可以让你以一种非常优雅且 DRY(Don't repeat yourself) 的方式来创建美观的表单。官网
django-remote-forms:一个平台独立的 Django 表单序列化工具。官网
WTForms:一个灵活的表单验证和呈现库。官网
WTForms-JSON:一个 WTForms 扩展,用来处理 JSON 数据。官网
数据验证(数据验证库,多用于表单验证)
Cerberus:A mappings-validator with a variety of rules, normalization-features and simple customization that uses a pythonic schema-definition.官网
colander:一个用于对从 XML, JSON,HTML 表单获取的数据或其他同样简单的序列化数据进行验证和反序列化的系统。官网
kmatch:一种用于匹配/验证/筛选 Python 字典的语言。官网
schema:一个用于对 Python 数据结构进行验证的库。官网
Schematics:数据结构验证。官网
valideer:轻量级可扩展的数据验证和适配库。官网
voluptuous:一个 Python 数据验证库。主要是为了验证传入 Python的 JSON,YAML 等数据。官网
反垃圾技术(帮助你和电子垃圾进行战斗的库)
django-simple-captcha:一个简单、高度可定制的Django 应用,可以为任何Django表单添加。官网
django-simple-spam-blocker:一个用于Django的简单的电子垃圾屏蔽工具。官网
标记(用来进行标记的库)
django-taggit:简单的 Django 标记工具。官网
管理面板(管理界面库)
Ajenti:一个你的服务器值得拥有的管理面板。官网
django-suit:Django 管理界面的一个替代品 (仅对于非商业用途是免费的)。官网
django-xadmin:Django admin 的一个替代品,具有很多不错的功能。官网
flask-admin:一个用于 Flask 的简单可扩展的管理界面框架。官网
flower:一个对 Celery 集群进行实时监控和提供 web 管理界面的工具。官网
Grappelli:Django 管理界面的一个的皮肤。官网
Wooey:一个 Django 应用,可以为 Python 脚本创建 web 用户界面。官网
静态站点生成器(静态站点生成器是一个软件,它把文本和模板作为输入,然后输出HTML文件)
Pelican:使用 Markdown 或 ReST 来处理内容, Jinja 2 来制作。支持 DVCS, Disqus.。AGPL 许可。官网
Cactus:为设计师设计的静态站点生成器。官网
Hyde:基于 Jinja2 的静态站点生成器。官网
Nikola:一个静态网站和生成器。官网
Tinkerer:Tinkerer 是一个博客引擎/静态站点生成器,由Sphinx驱动。官网
Lektor:一个简单易用的静态 CMS 和博客引擎。官网
进程(进程启动及通信库)
envoy:比 Python&subprocess&模块更人性化。官网
sarge:另一 种 subprocess 模块的封装。官网
sh:一个完备的 subprocess 替代库。官网
并发和并行(用以进行并发和并行操作的库)
multiprocessing:(Python 标准库) 基于进程的“线程”接口。官网
threading:(Python 标准库)更高层的线程接口。官网
eventlet:支持 WSGI 的异步框架。官网
gevent:一个基于协程的 Python 网络库,使用greenlet。官网
Tomorrow:用于产生异步代码的神奇的装饰器语法实现。官网
网络(用于网络编程的库)
asyncio:(Python 标准库) 异步 I/O, 事件循环, 协程以及任务。官网
Twisted:一个事件驱动的网络引擎。官网
pulsar:事件驱动的并发框架。官网
diesel:基于Greenlet 的事件 I/O 框架。官网
pyzmq:一个 ZeroMQ 消息库的 Python 封装。官网
txZMQ:基于 Twisted 的 ZeroMQ 消息库的 Python 封装。官网
WebSocket(帮助使用WebSocket的库)
AutobahnPython:给 Python 、使用的 WebSocket & WAMP 基于 Twisted 和&asyncio。官网
Crossbar:开源统一应用(Websocket & WAMP for Python on Autobahn).官网
django-socketio:给 Django 用的 WebSockets。官网
WebSocket-for-Python:为Python2/3 以及 PyPy 编写的 WebSocket 客户端和服务器库。官网
WSGI 服务器(兼容 WSGI 的 web 服务器)
gunicorn:Pre-forked, 部分是由 C 语言编写的。官网
uwsgi:uwsgi 项目的目的是开发一组全栈工具,用来建立托管服务, 由 C 语言编写。官网
bjoern:异步,非常快速,由 C 语言编写。官网
fapws3:异步 (仅对于网络端),由 C 语言编写。官网
meinheld:异步,部分是由 C 语言编写的。官网
netius:异步,非常快速。官网
paste:多线程,稳定,久经考验。官网
rocket:多线程。官网
waitress:多线程, 是它驱动着 Pyramid 框架。官网
Werkzeug:一个 WSGI 工具库,驱动着 Flask ,而且可以很方便大嵌入到你的项目中去。官网
RPC 服务器(兼容 RPC 的服务器)
SimpleJSONRPCServer:这个库是 JSON-RPC 规范的一个实现。官网
SimpleXMLRPCServer:(Python 标准库) 简单的 XML-RPC 服务器实现,单线程。官网
zeroRPC:zerorpc 是一个灵活的 RPC 实现,基于 ZeroMQ 和 Pack。官网
cryptography:这个软件包意在提供密码学基本内容和方法提供给 Python 开发者。官网
hashids:在 Python 中实现&hashids&。官网
Paramiko:SSHv2 协议的 Python (2.6+, 3.3+) ,提供客户端和服务端的功能。官网
Passlib:安全密码存储/哈希库,官网
PyCrypto:Python 密码学工具箱。官网
PyNacl:网络和密码学(NaCl) 库的 Python 绑定。官网
图形用户界面(用来创建图形用户界面程序的库)
curses:内建的&ncurses&封装,用来创建终端图形用户界面。官网
enaml:使用类似 QML 的Declaratic语法来创建美观的用户界面。官网
kivy:一个用来创建自然用户交互(NUI)应用程序的库,可以运行在 Windows, Linux, Mac OS X,
以及 iOS平台上。官网
pyglet:一个Python 的跨平台窗口及库。官网
PyQt:跨平台用户界面框架&Qt&的 Python 绑定 ,支持Qt v4 和 Qt v5。官网
PySide:P跨平台用户界面框架&Qt&的 Python 绑定 ,支持Qt v4。官网
Tkinter:Tkinter 是 Python GUI 的一个事实标准库。官网
Toga:一个 Python 原生的, 操作系统原生的 GUI 工具包。官网
urwid:一个用来创建终端 GUI 应用的库,支持组件,事件和丰富的色彩等。官网
wxPython:wxPython 是 wxWidgets C++ 类库和 Python 语言混合的产物。官网
PyGObject:GLib/GObject/GIO/GTK+ (GTK+3) 的 Python 绑定官网
Flexx:Flexx 是一个纯 Python 语言编写的用来创建 GUI 程序的工具集,它使用 web 技术进行界面的展示。官网
开发(超赞的游戏开发库)
Cocos2d:cocos2d 是一个用来开发 2D 游戏, 示例和其他图形/交互应用的框架。基于 pyglet。官网
Panda3D:由迪士尼开发的 3D 游戏引擎,并由卡内基梅陇技术中心负责维护。使用C++编写, 针对 Python 进行了完全的封装。官网
Pygame:Pygame 是一组 Python 模块,用来编写游戏。官网
PyOgre:Ogre 3D 渲染引擎的 Python 绑定,可以用来开发游戏和仿真程序等任何 3D 应用。官网
PyOpenGL:OpenGL 的 Python 绑定及其相关 APIs。官网
PySDL2:SDL2 库的封装,基于 ctypes。官网
RenPy:一个视觉小说(visual novel)引擎。官网
日志(用来生成和操作日志的库)
logging:(Python 标准库) 为 Python 提供日志功能。官网
logbook:Logging 库的替代品。官网
Eliot:为复杂的和分布式系统创建日志。官网
Raven:Sentry的 Python 客户端。官网
Sentry:实时记录和收集日志的服务器。官网
Testing(进行代码库测试和生成测试数据的库)
unittest:(Python 标准库) 单元测试框架。官网
nose:nose 扩展了 unittest 的功能。官网
contexts:一个 Python 3.3+ 的 BDD 框架。受到C#
hypothesis:Hypothesis 是一个基于先进的 Quickcheck 风格特性的测试库。官网
mamba:Python 的终极测试工具, 拥护BDD。官网
PyAutoGUI:PyAutoGUI 是一个人性化的跨平台 GUI 自动测试模块。官网
pyshould:Should 风格的断言,基于&PyHamcrest。官网
pytest:一个成熟的全功能 Python 测试工具。官网
green:干净,多彩的测试工具。官网
pyvows:BDD 风格的测试工具,受Vows.js的启发。官网-
Robot Framework:一个通用的自动化测试框架。官网
Selenium:Selenium&WebDriver 的 Python 绑定。官网
locust:使用 Python 编写的,可扩展的用户加载测试工具。官网
sixpack:一个和语言无关的 A/B 测试框架。官网
splinter:开源的 web 应用测试工具。官网
mock:(Python 标准库) 一个用于伪造测试的库。官网
doublex:Python 的一个功能强大的 doubles &测试框架。官网
freezegun:通过伪造日期模块来生成不同的时间。官网
httmock:针对 Python 2.6+ 和 3.2+ 生成 伪造请求的库。官网
httpretty:Python 的 HTTP 请求 mock 工具。官网
responses:伪造 Python 中的 requests 库的一个通用库。官网
VCR.py:在你的测试中记录和重放 HTTP 交互。官网
factoryboy:一个 Python 用的测试固件 (test fixtures) 替代库。官网
mixer:另外一个测试固件 (test fixtures) 替代库,支持 Django, Flask, SQLAlchemy, Peewee 等。官网
modelmommy:为 Django 测试创建随机固件官网
代码覆盖率
coverage:代码覆盖率测量。官网
faker:一个 Python 库,用来生成伪数据。官网
fake2db:伪数据库生成器。官网
radar:生成随机的日期/时间。官网
FuckIt.py:FuckIt.py 使用最先进的技术来保证你的 Python 代码无论对错都能继续运行。官网
代码分析和Lint工具(进行代码分析,解析和操作代码库的库和工具)
code2flow:把你的 Python 和 JavaScript 代码转换为流程图。官网
pycallgraph:这个库可以把你的Python 应用的流程(调用图)进行可视化。官网
pysonar2:Python 类型推断和检索工具。官网
Flake8:模块化源码检查工具: pep8, pyflakes 以及 co。官网
Pylint:一个完全可定制的源码分析器。官网
pylama:Python 和 JavaScript 的代码审查工具。官网
Debugging Tools(用来进行代码调试的库)
ipdb:IPython 启用的&pdb。官网
pudb:全屏,基于控制台的 Python 调试器。官网
pyringe:可以在 Python 进程中附加和注入代码的调试器。官网
wdb:一个奇异的 web 调试器,通过 WebSockets 工作。官网
winpdb:一个具有图形用户界面的 Python 调试器,可以进行远程调试,基于 rpdb2。官网
django-debug-toolbar:为 Django 显示各种调试信息。官网
django-devserver:一个 Django 运行服务器的替代品。官网
flask-debugtoolbar:django-debug-toolbar 的 flask 版。官网
性能分析器
lineprofiler:逐行性能分析。官网
memoryprofiler:监控 Python 代码的内存使用。官网
profiling:一个交互式 Python 性能分析工具。官网
pyelftools:解析和分析 ELF 文件以及 DWARF 调试信息。官网
python-statsd:statsd&服务器的 Python 客户端。官网
Science and Data Analysis(用来进行科学计算和数据分析的库)
astropy:一个天文学 Python 库。官网
bcbio-nextgen:这个工具箱为全自动高通量测序分析提供符合最佳实践的处理流程。官网
bccb:生物分析相关代码集合官网
Biopython:Biopython 是一组可以免费使用的用来进行生物计算的工具。官网
blaze:NumPy 和 Pandas 的大数据接口。官网
cclib:一个用来解析和解释计算化学软件包输出结果的库。官网
X:一个为复杂网络设计的高性能软件。官网
Neupy:执行和测试各种不同的人工神经网络算法。官网
Numba:Python JIT (just in time) ,针对科学用的 Python ,由Cython 和 NumPy 的开发者开发。官网
NumPy:使用 Python 进行科学计算的基础包。官网
Open Babel:一个化学工具箱,用来描述多种化学数据。官网
Open Mining:使用 Python 挖掘商业情报 (BI) (Pandas web 接口)。官网
orange:通过可视化编程或 Python 脚本进行数据挖掘,数据可视化,分析和机器学习。官网
Pandas:提供高性能,易用的数据结构和数据分析工具。官网
PyDy:PyDy 是 Python Dynamics 的缩写,用来为动力学运动建模工作流程提供帮助, 基于 NumPy, SciPy, IPython 和 matplotlib。官网
PyMC:马尔科夫链蒙特卡洛采样工具。官网
RDKit:化学信息学和机器学习软件。官网
SciPy:由一些基于 Python ,用于数学,科学和工程的开源软件构成的生态系统。官网
statsmodels:统计建模和计量经济学。官网
SymPy:一个用于符号数学的 Python 库。官网
zipline:一个 Python 算法交易库。官网
数据可视化(进行数据可视化的库,参见:&awesome-javascript)
matplotlib:一个 Python 2D 绘图库。官网
bokeh:用 Python 进行交互式 web 绘图。官网
ggplot:ggplot2 给 R 提供的 API 的 Python 版本。官网
plotly:协同 Python 和 matplotlib 工作的 web 绘图库。官网
pygal:一个 Python SVG 图表创建工具。官网
pygraphviz:Graphviz 的 Python 接口。官网
PyQtGraph:交互式实时2D/3D/图像绘制及科学/工程学组件。官网
SnakeViz:一个基于浏览器的 Python's cProfile 模块输出结果查看工具。官网
vincent:把 Python 转换为 Vega 语法的转换工具。官网
VisPy:基于 OpenGL 的高性能科学可视化工具。官网
计算机视觉(计算机视觉库)
OpenCV:开源计算机视觉库。官网
SimpleCV:一个用来创建计算机视觉应用的开源框架。官网
机器学习(机器学习库,参见:&awesome-machine-learning)
Crab:灵活、快速的推荐引擎。官网
gensim:人性化的话题建模库。官网
hebel:GPU 加速的深度学习库。官网
NuPIC:智能计算 Numenta 平台。官网
pattern:Python 网络挖掘模块。官网
PyBrain:另一个 Python 机器学习库。官网
Pylearn2:一个基于&Theano&的机器学习库。官网
python-recsys:一个用来实现推荐系统的 Python 库。官网
scikit-learn:基于 SciPy 构建的机器学习 Python 模块。官网
pydeep:Python 深度学习库。官网
vowpalporpoise:轻量级&Vowpal Wabbit&的 Python 封装。官网
skflow:一个&TensorFlow&的简化接口(模仿 scikit-learn)。官网
MapReduce(MapReduce 框架和库)
dpark:Spark 的 Python 克隆版,一个类似 MapReduce 的框架。官网
dumbo:这个 Python 模块可以让人轻松的编写和运行 Hadoop 程序。官网
luigi:这个模块帮你构建批处理作业的复杂流水线。官网
mrjob:在 Hadoop 或 Amazon Web Services 上运行 MapReduce 任务。官网
PySpark:Spark 的 Python API 。官网
streamparse:运行针对事实数据流的 Python 代码。集成了Apache Storm。官网
函数式编程(使用 Python 进行函数式编程)
CyToolz:Toolz 的 Cython 实现 : 高性能函数式工具。官网
fn.py:在 Python 中进行函数式编程 : 实现了一些享受函数式编程缺失的功能。官网
funcy:炫酷又实用的函数式工具。官网
Toolz:一组用于迭代器,函数和字典的函数式编程工具。官网
第三方 API(用来访问第三方 API的库,参见:&List of Python API Wrappers and Libraries)
apache-libcloud:一个为各种云设计的 Python 库。官网
boto:Amazon Web Services 的 Python 接口。官网
django-wordpress:WordPress models and views for Django.官网
-sdk:Facebook 平台的 Python SDK.官网
facepy:Facepy 让和 Facebook's Graph API 的交互变得更容易。官网
gmail:Gmail 的 Python 接口。官网
google-api-python-client:Python 用的 Google APIs 客户端库。官网
gspread:Google 电子表格的 Python API.官网
twython: API 的封装。官网
DevOps 工具(用于 DevOps 的软件和库)
Ansible:一个非常简单的 IT 自动化平台。官网
SaltStack:基础设施自动化和管理系统。官网
OpenStack:用于构建私有和公有云的开源软件。官网
Docker Compose:快速,分离的开发环境,使用 Docker。官网
Fabric:一个简单的,Python 风格的工具,用来进行远程执行和部署。官网
cuisine:为 Fabric 提供一系列高级函数。官网
Fabtools:一个用来编写超赞的 Fabric 文件的工具。官网
gitapi:Git 的纯 Python API。官网
hgapi:Mercurial 的纯 Python API。官网
honcho:Foreman的 Python 克隆版,用来管理基于Procfile的应用。官网
pexpect:Controlling interactive programs in a pseudo-terminal like 在一个伪终端中控制交互程序,就像 GNU expect 一样。官网
psutil:一个跨平台进程和系统工具模块。官网
supervisor:UNIX 的进程。官网
任务调度(任务调度库)
APScheduler:轻巧但强大的进程内任务调度,使你可以调度函数。官网
django-schedule:一个 Django 排程应用。官网
doit:一个任务执行和构建工具。官网
gunnery:分布式系统使用的多用途任务执行工具 ,具有 web 交互界面。官网
Joblib:一组为 Python 提供轻量级作业流水线的工具。官网
Plan:如有神助地编写 crontab 文件。官网
schedule:人性化的 Python 任务调度库。官网
Spiff:使用纯 Python 实现的强大的工作流引擎。官网
TaskFlow:一个可以让你方便执行任务的 Python 库,一致并且可靠。官网
外来函数接口(使用外来函数接口的库)
cffi:用来调用 C 代码的外来函数接口。官网
ctypes:(Python 标准库) 用来调用 C 代码的外来函数接口。官网
PyCUDA:Nvidia CUDA API 的封装。官网
SWIG:简化的封装和接口生成器。官网
高性能(让 Python 更快的库)
Cython:优化的 Python 静态编译器。使用类型混合使 Python 编译成 C 或 C++ 模块来获得性能的极大提升。官网
PeachPy:嵌入 Python 的 x86-64 汇编器。可以被用作 Python 内联的汇编器或者是独立的汇编器,用于 Windows, Linux, OS X, Native Client 或者 Go 。官网
PyPy:使用 Python 实现的 Python。解释器使用黑魔法加快 Python 运行速度且不需要加入额外的类型信息。官网
Pyston:使用 LLVM 和现代 JIT 技术构建的 Python 实现,目标是为了获得很好的性能。官网
Stackless Python:一个强化版的 Python。官网
的 Windows平台(在 Windows 平台上进行 Python 编程)
Python(x,y):面向科学应用的 Python 发行版,基于 Qt 和 Spyder。官网
pythonlibs:非官方的 Windows 平台 Python 扩展二进制包。官网
PythonNet:Python 与 .NET 公共语言运行库 (CLR)的集成。官网
PyWin32:针对 Windows 的Python 扩展。官网
WinPython:Windows 7/8 系统下便携式开发环境。官网
网络可视化和SDN(用来进行网络可视化和SDN(软件定义网络)的工具和库)
Mininet:一款流行的网络以及用 Python 编写的 API。官网
POX:一个针对基于 Python 的软件定义网络应用(例如 OpenFlow SDN 控制器)的开源开发平台。官网
Pyretic:火热的 SDN 中的一员,为网络交换机和模拟器提供强大的抽象能力。官网
SDX Platform:基于 SDN 的 IXP 实现,影响了 Mininet, POX 和 Pyretic。官网
硬件(用来对硬件进行编程的库)
ino:操作Arduino的命令行工具。官网
Pyro:Python 编程库。官网
PyUserInput:跨平台的,控制鼠标和的模块。官网
scapy:一个非常棒的操作数据包的库。官网
:一个 Python 库和命令行工具用来在 Linux 平台上操作WiFi。官网
Pingo:Pingo 为类似Raspberry Pi,pcDuino, Intel Galileo等设备提供统一的API用以编程。官网
(帮助从 Python 2 向 Python 3迁移的库)
Python-Future:这就是 Python 2 和 Python 3 之间丢失的那个兼容性层。官网
Python-Modernize:使 Python 代码更加现代化以便最终迁移到 Python 3。官网
Six:Python 2 和 3 的兼容性工具。官网
杂项(不属于上面任何一个类别,但是非常有用的库)
blinker:一个快速的 Python 进程内信号/事件分发系统。官网
itsdangerous:一系列辅助工具用来将可信的数据传入不可信的环境。官网
pluginbase:一个简单但是非常灵活的 Python 插件系统。官网
Pychievements:一个用来创建和追踪成就的 Python 框架。官网
Tryton:一个通用商务框架。官网
算法和设计模式(Python 实现的算法和设计模式)
algorithms:一个 Python 算法模块。官网
python-patterns:Python 设计模式的集合。官网
sortedcontainers:快速,纯 Python 实现的SortedList,SortedDict 和 SortedSet 类型。官网
持续集成(参见:awesome-CIandCD)
Travis CI:一个流行的工具,为你的开源和私人项目提供持续集成服务。(仅支持 GitHub)官网
CircleCI:一个持续集成工具,可以非常快速的进行并行测试。 (仅支持 GitHub)官网
Vexor CI:一个为私人 app 提供持续集成的工具,支持按分钟付费。官网
Wercker:基于 Docker 平台,用来构建和部署微服务。官网
Codacy:自动化代码审查,更加快速的发布高质量代码。对于开源项目是免费的。官网
QuantifiedCode:一个数据驱动、自动、持续的代码审查工具。官网
CoolGithubProjects
Full Stack Python
Python 3 Wall of Superpowers
Python Hackers
Python ZEEF
Trending Python repositories on GitHub today
PyPI Ranking
Import Python Newsletter
Pycoder's Weekly
Python Weekly
@codetengu
@planetpython
@pythontrending
@PythonWeekly
Scipy-lecture-notes:如何用Python来做学术?官网
SScientific-python-lectures:Python科学计算的资料。官网
Mario-Level-1:用Python和Pygame写的超级马里奥第一关。官网
Python Koans:Python的交互式学习工具。官网
Minecraft:用python写的Minecraft游戏。官网
pycrumbs:Python资源大全。官网
python-patterns:使用python实现设计模式。官网
Projects:Python项目大集合。官网
The Hitchhiker’s Guide to Python:旅行者的Python学习指南。官网

我要回帖

更多关于 java后端服务器框架 的文章

 

随机推荐