PyHubWeekly每周定期更新,精选GitHub上优质的Python项目/小工具。
我把PyHubWeekly托管到了Github,感兴趣的可以搜索Github项目PyHubWeekly,如果喜欢,麻烦给个Star支持一下吧。此外,欢迎大家通过提交issue来投稿和推荐自己的项目~
本期为大家推荐GitHub上5个优质的Python项目,它们分别是:
- Komodoedit
- git-sweep
- plotly.py
- DecryptLogin
- hubcommander
下面分别来介绍一下上述5个GitHub项目。
Star:1.4k
KomodoEdit是一个基于Mozilla平台由Python、JS、C++开发的一款快速、免费、多语言的代码编辑器。
常见的IDE上拥有的主要功能,Komodo都有用,例如,
- 多语言支持
- 自动补全
- 小地图
- 工具箱
- 项目管理
- 单元测试
- 交互式命令行
- ...
Star:2k
git-sweep是一款由Python开发,用于清理合并到master中的Git分支的命令行工具。
master分支是我们开发过程中最终代码的聚合地,在团队开发过程中会创建各种不同的分支,然后将代码合入到master中。其中不乏一些临时分支,久而久之就会创建很多无用的分支,git-sweep就是用于清理这些无用分支的一款命令行工具。
安装
pip install git-sweep || easy_install git-sweep
使用
安装git-sweep之后,我们就可以进入工程路径下,使用命令进行清理无用分支,
git-sweep cleanup
Fetching from the remote
These branches have been merged into master:
branch1
branch2
branch3
branch4
branch5
Delete these branches? (y/n) y
deleting branch1 (done)
deleting branch2 (done)
deleting branch3 (done)
deleting branch4 (done)
deleting branch5 (done)
All done!
Tell everyone to run `git fetch --prune` to sync with this remote.
(you don't have to, yours is synced)
当然,除此之外还可以指定远程master分支名称等高级用法。
Star:6.3k
plotly.py是一款开源、交互式的Python绘图库。
使用plotly.py,可以在浏览器中生成交互式的图像便于发布,不仅如此,它支持的图形类别也非常丰富,例如,线图、散点图、面积图、柱状图、误差条、箱形图、直方图、热力图、副图、多轴、极坐标图和气泡图。
安装
pip install plotly==4.5.4
示例
import plotly.graph_objects as go
fig = go.Figure()
fig.add_trace(go.Scatter(y=[2, 1, 4, 3]))
fig.add_trace(go.Bar(y=[1, 4, 3, 2]))
fig.update_layout(title = 'Hello Figure')
fig.show()
除了Python之外,plotly还支持js, python, R等语言。
Star:270
DecryptLogin是一款实用requests方式登录一些网站的工具。
我们在爬虫或者使用网页自动化工具的过程中,会遇到各种各样的问题,其中登录拦截就是其中一项较为常见的难题,而DecryptLogin就是用于解决这种问题的款工具。
它目前支持的网站覆盖比较全面,例如,淘宝、百度网盘、京东、github、网易云音乐、知乎、B站、推特、拉勾网等。
Star:1.1k
hubcommander一款由Netflix开源,用于 GitHub 组织管理的 Slack 机器人。
HubCommander 使用聊天操作或对话驱动的开发来帮助管理 GitHub 项目,它具有如下功能,
- 存储库创建
- 删除库
- 存储库描述和网站修改
- 向存储库授予外部协作者特定的权限
- 存储库默认分支修改
- 创建/删除库主题
- 启用/禁用存储库分支保护
- ......
HubCommander使用Python基于slackhq/python-rtmbot,所以使用之前最基本的需求需要Python 3.5+、Github账户、Slack凭证。
目前HubCommander支持Docker、Linux、macOS安装。
也许对于个人开发者来说,这样相对繁琐、复杂,但是对于多人开发的大型项目而言,这款工具显然能够节省很多精力。