网上有不少Python的框架和应用。
在这里推荐10个超有用的框架或应用,包含:高性能的Web框架、汉语分词库、数据可视化的Python库等等。
全文干货,推荐收藏。
![](http://image109.360doc.cn/DownloadImg/2023/01/2108/259353384_1_20230121085523821.png)
1. fastapi
作者: tiangolo
star: 52000
fork: 4300
watch: 601
基于 Python 3.6 的高性能 Web 框架。FastAPI '名副其实',不仅写接口快,调试也方便,Python 的不断进步,让 Web 开发也变得更快、更强。
示例代码:
from fastapi import FastAPI
app = FastAPI()@app.get('/')async def read_root():return {'Hello': 'World'}@app.get('/items/{item_id}')async def read_item(item_id: int, q: str = None):return {'item_id': item_id, 'q': q}# 启动命令:uvicorn main:app --reload
![](http://image109.360doc.cn/DownloadImg/2023/01/2108/259353384_2_20230121085524415.png)
2. rich
作者: Textualize
star: 41000
fork: 1400
watch: 541
想要一个高级感满满的终端吗?rich能给你想要的一切。虽然把终端过度美化不仅华而不实,甚至会喧宾夺主,但不可否认,一个好看得终端输出,在愉悦心情的同时,还能提高开发者的效率。
每当看到那些性感的语法高亮、整齐的表格、舒服的进度条,你就会庆幸我给你推荐了这款框架。
![](http://image109.360doc.cn/DownloadImg/2023/01/2108/259353384_3_20230121085524571.png)
3. sentry
作者: getsentry
star: 33000
fork: 3700
watch: 675
一款采用C/S模式的实时异常监控平台,免费开通,通过Python实现。不仅提供清晰高效的web管理界面,还支持从任何语言、任何应用程序发送事件。
在应用服务开发领域,成熟的异常监控警告必不可少,sentry能很好地完成这方面的任务。
![](http://image109.360doc.cn/DownloadImg/2023/01/2108/259353384_4_20230121085524759.png)
4. jieba
作者: fxsjy
star: 30000
fork: 6600
watch: 1300
强大的汉语分词库,Python界人尽皆知的NLP必备工具,接口非常完善,开箱即用!
示例代码如下:
# encoding=utf-8import jieba seg_list = jieba.cut('我来到北京清华大学', cut_all=True) print('Full Mode: ' '/ '.join(seg_list)) # 全模式seg_list = jieba.cut('我来到北京清华大学', cut_all=False) print('Default Mode: ' '/ '.join(seg_list)) # 精确模式seg_list = jieba.cut('他来到了网易杭研大厦') # 默认是精确模式print(', '.join(seg_list)) seg_list = jieba.cut_for_search('小明硕士毕业于中国科学院计算所,后在日本京都大学深造') # 搜索引擎模式print(', '.join(seg_list)) 【全模式】: 我/ 来到/ 北京/ 清华/ 清华大学/ 华大/ 大学 【精确模式】: 我/ 来到/ 北京/ 清华大学 【新词识别】:他, 来到, 了, 网易, 杭研, 大厦 (此处,“杭研”并没有在词典中,但是也被Viterbi算法识别出来了) 【搜索引擎模式】: 小明, 硕士, 毕业, 于, 中国, 科学, 学院, 科学院, 中国科学院, 计算, 计算所, 后, 在, 日本, 京都, 大学, 日本京都大学, 深造
5. redash
作者: getredash
star: 22000
fork: 3900
watch: 587
redash是一个优质的数据可视化项目,通过Python实现的数据查询以及可视化的功能。聚焦在数据可视化的核心功能上,减少冗余的同时,也更容易掌握。
应用可以将一个SQL查询结果高效地可视化,同时提供SQL代码片段存储,降低重写SQL的情况。
![](http://image109.360doc.cn/DownloadImg/2023/01/2108/259353384_5_20230121085524931.gif)
6. taichi
作者: taichi-dev
star: 22000
fork: 2100
watch: 396
这是一个高性能的图形编程框架。它可以将 Python 代码转换成高效的汇编代码,在多 CPU 和 GPU 上操作,相当于使用 Python 写修饰器。
Taichi 解决了图形学配置环境难、代码移植性差等问题,通过pip install taichi就可以安装。示例代码:
import taichi as titi.init(arch=ti.gpu) # 指定编译后的函数在 GPU 上执行n = 320pixels = ti.field(dtype=float, shape=(n * 2, n)) # 提前声明数组存储类型,大小@ti.func # 该函数将是被调用的过程函数def complex_sqr(z):return ti.Vector([z[0]**2 - z[1]**2, z[1] * z[0] * 2])@ti.kernel # 该函数将被 Taichi 编译def paint(t: float):for i, j in pixels: # 最外层循环会自动并行化c = ti.Vector([-0.8, ti.cos(t) * 0.2])z = ti.Vector([i / n - 1, j / n - 0.5]) * 2iterations = 0while z.norm() < 20 and iterations < 50: # 其他语法和原生 Python 基本一致z = complex_sqr(z) citerations = 1pixels[i, j] = 1 - iterations * 0.02gui = ti.GUI('Julia Set', res=(n * 2, n))for i in range(1000000):paint(i * 0.03)gui.set_image(pixels)gui.show()
![](http://pubimage.360doc.com/wz/default.gif)
7. streamlit
作者: streamlit
star: 22000
fork: 1900
watch: 284
一个快速搭建和分享数据的应用,能够快速地把数据传换成可视化、可交互的网页。该框架后端用Python写成。
应用能十分方便、快捷地帮助你把数据变成图表,并且可以提供免费共享的服务平台,使你的数据项目更快上线,给更多人共享和讨论。
![](http://pubimage.360doc.com/wz/default.gif)
8. labelImg
作者:heartexlabs
star: 19000
fork: 5700
watch: 378
这是一个用Python和Qt实现的图像标注桌面应用,开箱即用非常方便,适配 Windows、Linux、macOS。数据标注支持 PASCAL VOC 格式的 XML 文件和 YOLO 的 txt 文件。
![](http://pubimage.360doc.com/wz/default.gif)
9. pyecharts
作者: pyecharts
star: 13000
fork: 2700
watch: 380
Echarts是一个非常实用,内容丰富的图表类库,本项目是Echarts的python应用框架。
![](http://pubimage.360doc.com/wz/default.gif)
10. imgaug
作者: aleju
star: 13000
fork: 2300
watch: 229
这是一个针对图像的数据增强应用库。
一个庞大且优质的数据集,对于机器学习至关重要。所谓数据增强,即是将有限数据集衍生出更多数据,以增加样本数量和多样性的数据治理行为。
imgaug是一个转为机器学习准备的图像数据增强库。
![](http://pubimage.360doc.com/wz/default.gif)