Python资源大全

扶醉桌前 提交于 2020-01-29 05:35:07

The Python Tutorial (Python 2.7.11) 的中文翻译版本。Python Tutorial 为初学 Python 必备官方教程,本教程适用于 Python 2.7.X 系列。


在线阅读 » Fork Me »

The Python Tutorial (Python 3.5.1) 的中文翻译版本。Python Tutorial 为初学 Python 必备官方教程,本教程适用于 Python 3.5.x。


在线阅读 » Fork Me »

Flask 是一个轻量级的 Web 应用框架。其 WSGI 工具箱采用 Werkzeug ,模板引擎则使用 Jinja2。本教程适用于 Flask 0.10.1 以上版本。


在线阅读 » Fork Me »

探索 Flask 是一本关于使用 Flask 开发 Web 应用程序的最佳实践和模式的书籍。这本书是 Flask 官方教程的一个有力的补充材料。适合进阶使用。


在线阅读 » Fork Me »

Flask Mega Tutorial 是一个非官方的很完整的 Flask 教程。


在线阅读 » Fork Me »

Flask-Cache 是一个用于 Flask 作为缓存的第三方扩展。


在线阅读 » Fork Me »

Flask-Exceptional 是一个为 Flask 添加 Exceptional 支持。


在线阅读 » Fork Me »

Flask-PyMongo 是一个为 Flask 和 PyMongo 搭建桥梁的扩展。


在线阅读 » Fork Me »

Flask-Dashed 是一个提供构建简单、可扩展的管理界面的第三方扩展。


在线阅读 » Fork Me »

Flask + SQLAlchemy + Postgresql 异步方案示例,为 Flask 开发提供数据库异步参考。


在线阅读 » Fork Me »

Flask-SQLAlchmey 为 Flask 提供了简单且有用的 SQLAlchmey 集成。


在线阅读 » Fork Me »

Flask-Mail 是一个在 Flask 中能够发送邮件的扩展!Flask-Mail 扩展中封装了 smtplib 模块。


在线阅读 » Fork Me »

Flask-Testing 为 Flask 提供了单元测试的工具。


在线阅读 » Fork Me »

Miguel 编写的使用 Python 以及 Flask 编写 RESTful API。


在线阅读 » Fork Me »

Flask-WTF 为 Flask 提供了简单并且实用的 WTForms 集成。


在线阅读 » Fork Me »

Flask-Login 为 Flask 提供了用户会话管理。


在线阅读 » Fork Me »

在 Flask 中整合 Celery,使得 Flask 支持后台作业!


在线阅读 » Fork Me »

Flask-DebugToolbar 为 Flask 添加了工具栏的支持。


在线阅读 » Fork Me »

Flask-Babel 为 Flask 添加了 i18n 和 l10n 支持。


在线阅读 » Fork Me »

Flask-RESTful 为 Flask 添加了快速构建 REST APIs 的支持。


在线阅读 » Fork Me »

Sphinx 是一个简单和便捷的工具,它能够轻易地创建智慧和优雅的文档。Sphinx 官方文档中文翻译正在进行中,有时间和精力的使用者可以参与翻译!


在线阅读 » Fork Me »

SQLAlchemy 提供了 SQL 工具包及对象关系映射(ORM)工具。SQLAlchemy 官方文档中文翻译正在进行中,有时间和精力的使用者可以参与翻译!


Fork Me »

 

 

 

网页框架

Django
Flask
Tornado
其他网页框架
  • Bottle - Bottle是一个小型的轻量网络开发框架,同时速度也很快。
  • Wooey - Wooey 是一个简单的Python脚本的Web UI 界面。它能够提供日常数据分析,文件处理等功能。2015年出现的十大流行Python库 。

 

用户图形接口相关

  • pyglet - Pyglet是一个纯Python语言编写的跨平台框架,用于开发多媒体和窗口特效应用。
  • kivy - Kivy 是一个开源工具包能够让使用相同源代码创建的程序能跨平台运行。它主要关注创新型用户界面开发,如:多点触摸应用程序。Kivy 还提供一个多点触摸鼠标模拟器。基于 Cython(C extensions for Python) 构建,当前支持的平台包括:Linux、Windows、Mac OS X和Android。
  • Py2exe - 把Python脚本转换为windows平台上面可以运行的可执行程序(*.exe)的工具,通过修改源码可以支持python3.0的代码。
  • pyinstaller - 把Python脚本转换为能直接运行的可执行文件,支持python2.7、python3.3-3.5,支持Windows (32-bit and 64-bit)、Linux (32-bit and 64-bit)、Mac OS X (32-bit and 64-bit)平台。
  • cx_Freeze - 把Python脚本转换为能直接运行的可执行文件,支持python3.x,特别简单。
  • Tkinter - Tkinter的是Tk的GUI工具包,与Python附带的Python接口。
  • wxPython - wxPython一个开源的Python接口的wxWindows。
  • PyQt - PyQt是一个创建GUI应用程序的工具包。它是Python编程语言和Qt库的成功融合。Qt库是目前最强大的库之一。
  • Eric - Eric一个支持python、Ruby的强大IDE,与PyQt配合功能非常强大。

 

网络相关

  • aiohttp - aiohttp是一个为 asyncio 提供了简洁易用的 HTTP 客户端和服务器的库。
  • Requests - Requests是python的一个HTTP客户端库,跟urllib,urllib2类似。

 

数据库相关

  • SQLAlchemy - SQLAlchemy一个知名企业级的持久化模式的,专为高效率和高性能的数据库访问设计的,改编成一个简单的Python域语言的完整套件。它采用了数据映射模式(像Java中的Hibernate)而不是Active Record模式(像Ruby on Rails的ORM)。
  • SQLObject - SQLObject是一个介于SQL数据库和Python之间映射对象的Python ORM, 类似于Ruby on Rails的ActiveRecord模式。
  • Peewee - Peewee是一个小型但是十分强大的库,支持通过ORM的方式访问数据库,原生支持SQLite、MySQL和PostgreSQL等数据库。
  • pony - pony官网 Pony是一个非常酷和新的 Python ORM ,它能够让你使用Python generators来查询一个数据库。这些generators然后会转成高效的SQL。
  • asyncmongo - AsyncMongo是基于Tornado iploop的mongo数据库的异步库。
  • influxdb-python - InfluxDB -python 是一个时间序列数据库,用它来储存不同时间的测量值。通过 RESTFul API,它变得极其易用而且高效,另外,由于其内建了聚类功能,因此对数据的检索和分组也变得十分轻松。
  • elasticsearch-dsl-py - elasticsearch-dsl-py提供基于JSON的完整的Query DSL查询表达式(DSL即领域专用语言)。
  • MongoHub-Mac - MongoHub-Mac:mongo 图形化管理工具。
  • mongotron - mongotron:mongo 图形化管理工具,基于Electron与AngularJS写成。
  • asyncmongo - AsyncMongo是基于Tornado iploop的mongo数据库的异步库。

 

游戏相关

 

开源框架

 

大数据相关

  • pandas - 为 Python 编程语言提供高性能,易用数据结构和数据分析工具。在数据改动和数据预处理方面,Python 早已名声显赫,但是在数据分析与建模方面,Python 是个短板。Pands 软件就填补了这个空白,能让你用 Python 方便地进行你所有数据的处理,而不用转而选择更主流的专业语言,例如 R 语言。12 个使效率倍增的 Pandas 技巧 、  。
  • pulp - PuLP 是一个用 Python 编写的线性编程模型。它能产生线性文件,能调用高度优化的求解器,GLPK,COIN CLP/CBC,CPLEX,和GUROBI,来求解这些线性问题。
  • Matplotlib - Matplotlib是基于 Python 的 2D(数据)绘图库,它产生(输出)出版级质量的图表,用于各种打印纸质的原件格式和跨平台的交互式环境。matplotlib 既可以用在 python 脚本, python 和 ipython 的 shell 界面 (ala MATLAB® 或 Mathematica®),web 应用服务器,和6类 GUI 工具箱。matplotlib 尝试使容易事情变得更容易,使困难事情变为可能。你只需要少量几行代码,就可以生成图表,直方图,能量光谱(power spectra),柱状图,errorcharts,散点图(scatterplots)等。
  • Scikit-Learn - Scikit-Learn是一个简单有效地数据挖掘和数据分析工具(库)。关于最值得一提的是,它人人可用,重复用于多种语境。它基于 NumPy,SciPy 和 mathplotlib 等构建。
  • Spark -Spark 由一个驱动程序构成,它运行用户的 main 函数并在聚类上执行多个并行操作。Spark 最吸引人的地方在于它提供的弹性分布数据集(RDD),那是一个按照聚类的节点进行分区的元素的集合,它可以在并行计算中使用。RDDs 可以从一个 Hadoop 文件系统中的文件(或者其他的 Hadoop支持的文件系统的文件)来创建,或者是驱动程序中其他的已经存在的标量数据集合,把它进行变换。用户也许想要 Spark 在内存中永久保存 RDD,来通过并行操作有效地对 RDD 进行复用。最终,RDDs 无法从节点中自动复原。Spark 中第二个吸引人的地方在并行操作中变量的共享。
  • SciPy - SciPy是一个开源的Python算法库和数学工具包,SciPy包含的模块有最优化、线性代数、积分、插值、特殊函数、快速傅里叶变换、信号 处理和图像处理、常微分方程求解和其他科学与工程中常用的计算。其功能与软件MATLAB、Scilab和GNU Octave类似。Numpy和Scipy常常结合着使用,Python大多数机器学习库都依赖于这两个模块。
  • NumPy - NumPy几乎是一个无法回避的科学计算工具包,最常用的也许是它的N维数组对象,其他还包括一些成熟的函数库,用于整合C/C++和 Fortran代码的工具包,线性代数、傅里叶变换和随机数生成函数等。NumPy提供了两种基本的对象:ndarray(N-dimensional array object)和 ufunc(universal function object)。ndarray是存储单一数据类型的多维数组,而ufunc则是能够对数组进行处理的函数。
  • ipython - iPython 是一个Python 的交互式Shell,比默认的Python Shell 好用得多,功能也更强大。 她支持语法高亮、自动完成、代码调试、对象自省,支持 Bash Shell命令,内置了许多很有用的功能和函式等,非常容易使用。默认开启了matploblib的绘图交互,用起来很方便。jupyter-notebook - jupyter官网
  • PyML - PyML是一个Python机器学习工具包,为各分类和回归方法提供灵活的架构。它主要提供特征选择、模型选择、组合分类器、分类评估等功能。
  • gensim - gensim是一种NLP(自然语言处理),它提供了一些常用算法,例如 tf-idf、word2vec、doc2vec、LSA 等的快速、可拓展(内存无关)实现,同时还提供了简单易用的接口和完善的文档。
  • Blaze - Blaze 是下一代的 NumPy。用于处理分布式的各种不同数据源的计算。
  • Dask - Dask是一款基于外存的Python 调度工具。它通过将数据集分块处理并根据所拥有的核数分配计算量,这有助于进行大数据并行计算。它主要针对单机的并行计算进程。
  • GWPY - GWPY一个可以分析引力波数据的Python包。

 

网络爬虫

 

测试

  • splinter - Python自动化测试工具Splinter,不仅可以当web自动化测试工具 同时也可以当抓取交互式网站的爬虫程序来用的,不用去分析ajax请求数据了,可以模拟登录,用Python开发自动化测试脚本-splinter
  • swarm - 是一个简单的使用 gevent 开发的支持自定义协议的长连接压测框架。
  • PySonar2 - PySonar2王垠开发的,针对 Python 的代码静态分析工具。
  • Behave - BDD自动化测试框架。
  • Nose - Nose是最流行的针对Python的测试库之一。简单实例

 

破解脚本

  • ibrute - 一个攻击iCloud账户的Python脚本,2014年很多明星的账号就是被这个脚本攻破的,苹果已经修改这个漏洞了。
  • bruteforce_py - 暴力破解脚本,ssh bf, wordpress bf, cpanel bf, mysql bf, etc ... 可以说是暴力破解大全。
  • keychain-bruteforce - 暴力破解MAC OS X 的密码管理。
  • gamblerbfe - 路由器也可以暴力破解了。
  • AndroidPINCrack - android的pin密码破解。
  • rarPasswordCrackere - rar加密文件破解。
  • Python-ZIP-Cracker - zip加密文件破解。

 

图表及图像相关

  • vincent - Python 构建的专为运用 D3.js 进行可视化的 vega 转换工具。
  • Scikit-image - 一组用于图像处理的算法的集合,使图像处理任务如模糊,增强对比度,缩放只需要一些函数调用就可以完成。
  • PIL - PIL (Python Imaging Library)是 Python 中最常用的图像处理库。

 

运维相关

  • pywebsocketserver - 程序Log实时监控 – python + websocket。
  • pupy - Pupy是一个远程管理工具(Administration Tool),开源并且支持多个平台。Pupy还内置了一个Python解释器,可以从内存中加载Python包,访问远程Python对象。
  • Fabric - Fabric 一个通过SSH进行应用部署以及系统任务管理的命令行工具。
  • Invoke - Invoke让你通过一个Python库便捷地执行系统管理任务。如果你想使用稳定的工具(即使是不再积极开发),可以考虑Invoke的前身——Fabric。
  • DeployDjango - 不到一分钟安全部署Django应用的脚本,操作教程
  • HealthChecks - HealthChecks基于 cron 的监控服务。在 cron 里配置好监控只需要几分钟时间,却能让你晚上睡得更好!2015年出现的十大流行Python库 。
  • dockerizing-django - 是realpython网站一篇相关教程的代码库,讲的是如何将Django应用Docker化。2015年出现的十大流行Python库 。
  • 用Python脚本实现对Linux服务器的监控 - 用Python脚本实现对Linux服务器的监控。
  • plumbum控 - plumbum提供了非常易用的语法,可以轻松地以跨平台的方式执行本地或者远程命令,获取输出或者错误代码。还可以组合它们(shell 管道的方式),而且它还提供了创建命令行应用的接口。
  • virtualenv - virtualenv用来建立一个虚拟的python环境,一个专属于项目的python环境。用virtualenv 来保持一个干净的环境非常有用。
  • Gunicorn - Gunicorn 是一个Python WSGI UNIX的HTTP服务器。这是一个pre-fork worker的模型,Gunicorn服务器大致与各种Web框架兼容,只需非常简单的执行,轻量级的资源消耗,以及相当迅速,Nginx+Gunicorn+Django 部署小记
  • mitmproxy - mitmproxy 是用 Python 和 C 开发的一个中间人代理软件(man-in-the-middle proxy),它可以用来拦截、修改、重放和保存 HTTP/HTTPS 请求。
  • Sentry - Sentry 是一个实时的事件日志和聚合平台,基于 Django 构建。Sentry 可以帮助你将 Python 程序的所有 exception 自动记录下来,然后在一个好用的 UI 上呈现和搜索。
  • newrelic - newrelic性能监控的好工具,国内有;云智慧ONE APM
  • ipapy - iOS项目自动打包脚本,并且上传到fir.im,然后发送邮件给测试人员。

 

树莓派

 

第三方平台

  • wechat-python-sdk - wechat-python-sdk微信公众平台Python开发包 http://wechat-python-sdk.readthedocs.org/ , 非官方微信公众平台 Python 开发包,包括官方接口和非官方接口。
  • wechatpy - wechatpy 是一个微信 (WeChat) 公众平台的第三方 Python SDK, 实现了普通公众平台和企业号公众平台的解析消息、生成回复和主动调用等 API。阅读文档:http://wechatpy.readthedocs.org/zh_CN/latest/
  • wechat-deleted-friends - wechat-deleted-friends查看被删的微信好友。
  • wxBot - wxBot为Python包装的网页微信API。可以很容易地实现微信机器人。参考文章:《挖掘微信Web版通信的全过程》、《微信协议简单调研笔记》。
  • WeixinBot - WeixinBot微信web协议分析和实现微信机器人(微信网页版 wx2.qq.com)。其他版本
  • WeRoBot - WeRoBot是一个面向公众号的微信机器人框架,文档 。
  • WxRobot - WxRobot:面向个人账户的微信机器人框架,文档 。
  • Wechat django - Wechat django一个基于django开发的微信公众平台,整体环境搭建在新浪SAE平台上,暂时实现的功能:查询天气情况、翻译。
  • gxgk-wechat-server - gxgk-wechat-server莞香广科微信公众号后端,使用 Python、Flask、Redis、MySQL、Celery ,为在校学生提供一系列信息查询与便民服务。
  • weChat-python-sdk - weChat-python-sdk微信公共平台非官方SDK,主要实现主动的消息推送和获取,该项目已经过期!
  • wechat-admin - 基于Flask和MySQL能够帮助快速迁移微信服务号后台到自家服务器的框架(tag: Python, wechat, weixin, admin, Flask) 。

 

IDE

  • PyCharm - PyCharm是由JetBrains打造的一款Python IDE,Community社区版本是免费的,Professional版本$199.00/年。
  • Eric - Eric是一个集成了项目管理功能的 Python和Ruby集成开发环境。
  • PyDev - PyDev是Eclipse开发Python的 IDE,支持Python,Jython和IronPython的开发。
  • KomodoEdit - Komodo Edit 是非常干净,专业的 Python IDE。
  • PyScripter - PyScripter是一个开源的Python语言集成开发环境。
  • WingIDE - WingIDE是个相当优秀的 IDE。
  • IEP - IEP 是跨平台的 Python IDE,旨在提供简单高效的 Python 开发环境。包括两个重要的组件:编辑器和 Shell,并且提供插件工具集从各个方面来提高开发人员的效率。
  • Emacs - Linux文本编辑器Emacs是一种强大的文本编辑器,在程序员和其他以技术工作为主的计算机用户中广受欢迎。
  • sublimetext - sublimetext:Sublime Text 是一个轻量、简洁、高效、跨平台的编辑器。
  • Atom - Atom 是 Github 专门为程序员推出的一个跨平台文本编辑器。具有简洁和直观的图形用户界面,并有很多有趣的特点:支持CSS,HTML,JavaScript等网页编程语言。它支持宏,自动完成分屏功能,集成了文件管理器。官网下载,比较不错的插件:爆炸效果 activate-power-mode、程序员鼓励师 atom-miku 。

 

其他

  • IoTNotes - 开源硬件记录。
  • GitHub上Star最多的100个python repository - GitHub上Star最多的100个python repository。
  • 10个Python 模块 - 你该了解的10个 Python 模块。
  • dask - 【(Python)集成任务调度/阻塞算法的数据并行处理库Dask】支持大数据集的分割多核并行处理,Doc
  • Phonenumbers - Phonenumbers 小巧,实用简便,没有地理代编码,运营商,时区等metadata数据。它能识别多种格式,然后使用不同的格式/样式进行有效匹配。
  • toyplot - Python交互绘图库Toyplot,文档doc
  • pythalesians - Python金融(分析工具)库PyThalesians。
  • 20个机器学习开源项目 - 20 个顶尖的 Python 机器学习开源项目 Scikit-learn、Pylearn2、NuPIC……
  • Seaborn - 用 Seaborn 画出好看的分布图, 使用说明 。
  • Python_Coding_Rule - 【Python代码指南】,这篇文档改编自Guido最初的《Python风格指南》一文,希望对初学Python的朋友们有所借鉴。
  • GGTinypng - 批量压缩png和jpg图片python脚本,已经支持子文件夹里面的图片,会按原始的相对路径存放到输出文件夹内。
  • sinaweibopy - 新浪微博Python SDK。
  • keras - Keras是一个高度模块化的神经网络库,用Python语言编写,可以基于TensorFlow或Theano框架运行。
  • yapf - yapf是一个Python文件代码格式化工具,但与其他类似工具采取了不同的算法。它脱胎于由 Daniel Jasper 开发的 clang-format。
  • tqdm - tqdm可以在长循环中添加一个进度提示信息,用户只需要封装任意的迭代器 tqdm(iterator),是一个快速、扩展性强的进度条工具库。
  • pyvim - pyvim用Python语言实现的Vim编辑器。
  • snake - Snake用来取代Vim的VimScript进行Vim的插件编程,借由Python的强大,让插件编程如虎添翼。
  • pyxley - 使用Flask和React.js,快速开发数据面板(dashboard。在网页上显示一个数据面板是与人分享数据科学发现的最直观方法。对R语言来说有Shiny来简化数据科学家开发网页的工作,而Pyxley就相当于Python版的Shiny。使用Pyxley不光不用写HTML、CSS,你还可以加入自己的JavaScript来进行定制。
  • Tomorrow - Tomorrow为Python 2.7中的异步代码提供了神奇的装饰器语法实现。
  • ibis - Ibis是Cloudera Labs推出的一个新项目,目前还是预览版。它试图解决的就是数据集规模的问题,但对用户提供的确是单机上Python的体验,而且能够与现有的Python数据生态圈(Pandas、Scikit-learn、Numpy)进行集成。未来它还计划加入与机器学习和高级分析集成的功能。
  • ipython - IPython 是一个在多种编程语言之间进行交互计算的命令行 shell,最开始是用 python 开发的,提供增强的内省,富媒体,扩展的 shell 语法,tab 补全,丰富的历史等功能。
  • bpython - bpython是一个不错的Python解释器的界面,很像现在的IDE(集成开发环境)。
  • Ptpython - Ptpython是一个高级的python 交互式解释器(REPL)。python-prompt-toolkit 。
  • DreamPie - DreamPie 是一个Python shell,为Python开发者提供自动完成的属性;功能和文档显示;并且将session历史存储为HTML文件。
  • Arrow - Arrow这个库可以更好地处理Python中的日期和时间(data/time)。
  • retrying - Retrying库可以帮你避免重复劳动:它实现了『重试』行为。它提供了一个通用的 decorator,而且还可以设置一系列的属性,如最大重试次数、延时、退避休眠(backoff sleeping)和错误条件(error conditions)等,以此来获得你想要的重试行为。简单轻便。
  • python-phonenumbers - python-phonenumbers从Google 的『libphonenumbers』库移植而来,用来解析、格式化或者验证电话号码,而且需要写的代码非常少。最重要的是,『phonenumbers』可以判断一个电话号码是否是唯一的(遵照 E.164 格式)。它同时支持 Python 2 和 Python 3。
  • monkeylearn-python - monkeylearn-python通过简单易用的 RESTFul API 提供了云端的文本挖掘功能:比如文字中的情感、最重要的关键字,可以对文本进行话题检测,还可以使用自定义的文本分类器进行其他任何处理。
  • Cookiecutter - 一个命令行实用程序,从cookiecutters(项目模板)创建的项目,比如:创建从一个Python包项目模板的Python包项目。
  • Sunburnt - Sunburnt全文搜索服务器Solr的Python接口。
  • Celery - Celery是基于Python开发的分布式任务队列。它支持使用任务队列的方式在分布的机器/进程/线程上执行任务调度。
  • Gevent - Gevent是一个基于greenlet的Python的并发框架,以微线程greenlet为核心,使用了epoll事件监听机制以及诸多其他优化而变得高效。
  • Greenlet - Greenlet是一个python的并行处理的一个库。
  • Eventlet - Eventlet是一个用来处理和网络相关的python库函数,而且可以通过协程来实现并发。
  • Python Async IO Resources - asyncio python的异步iO操作资源, asyncio - asyncio3.4以后作为python标准库来使用了。
  • Twisted - Twisted是一个用python语言写的事件驱动的网络框架,支持很多种协议,也是一个异步机制的框架。
  • eviltransform.python - eviltransform.python解决国内GPS地图坐标偏移问题,它将政府加密过的GCJ-02坐标,转成世界通用的WGS-84坐标。
  • pagure - Pagure是一个用Python编写的新的、功能齐全的、提供 Web 服务的 Git仓库。它类似于Github 和 Gitlab ,同时允许开源贡献者分享彼此的资源,实现代码和内容上的合作。官网

 

博客与播客及书籍文档

 

他人总结

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!