commit
40f46d148c
14
README.md
14
README.md
|
@ -16,8 +16,22 @@ PyHubWeekly是一个精选Github上优质Python小工具的项目,宗旨,
|
|||
|
||||
# 2020年
|
||||
|
||||
## 五月
|
||||
|
||||
⭐️[第19期](./docs/19-pyhubweekly.md)
|
||||
|
||||
⭐️[第18期](./docs/18-pyhubweekly.md)
|
||||
|
||||
⭐️[第17期](./docs/17-pyhubweekly.md)
|
||||
|
||||
⭐️[第16期](./docs/16-pyhubweekly.md)
|
||||
|
||||
## 四月
|
||||
|
||||
⭐️[第15期](./docs/15-pyhubweekly.md)
|
||||
|
||||
⭐️[第14期](./docs/14-pyhubweekly.md)
|
||||
|
||||
⭐️[第13期](./docs/13-pyhubweekly.md)
|
||||
|
||||
⭐️[第12期](./docs/12-pyhubweekly.md)
|
||||
|
|
|
@ -0,0 +1,140 @@
|
|||
## **前言**
|
||||
|
||||
PyHubWeekly每周定期更新,精选GitHub上优质的Python项目/小工具。
|
||||
|
||||
我把PyHubWeekly托管到了Github,感兴趣的可以**搜索Github项目**[**PyHubWeekly**](https://github.com/Jackpopc/PyHubWeekly),如果喜欢,麻烦给个Star支持一下吧。此外,**欢迎大家通过提交issue来投稿和推荐自己的项目**~
|
||||
|
||||
本期为大家推荐GitHub上5个优质的Python项目,它们分别是:
|
||||
|
||||
- **dlaicourse**
|
||||
- **pysheeet**
|
||||
- **table-ocr**
|
||||
- **posthog**
|
||||
- **RL-Stock**
|
||||
|
||||
下面分别来介绍一下上述5个GitHub项目。
|
||||
|
||||
## **dlaicourse**
|
||||
|
||||
**Star:2.8k**
|
||||
|
||||
如果说这两年比较火热的研究方向是什么?深度学习肯定能够占据一席之地。
|
||||
|
||||
由于人工智能的火热,各种行业的同学都在尝试着去学习深度学习。可是,该怎么学习却成了让很多人困扰的问题。
|
||||
|
||||
虽然免费学习资源数不胜数,但是,要么偏重理论而脱离实践,要么一味的重视实践却没有理论,让人看的云里雾里。
|
||||
|
||||
[**dlaicourse**](https://github.com/lmoroney/dlaicourse)是这些中我认为较为不错的一个学习深度学习github项目。
|
||||
|
||||
dlaicourse不仅包含了深度学习基础知识部分,这个项目还有练习、应用等方面的内容。
|
||||
|
||||
|
||||
|
||||
![img](https://pic4.zhimg.com/80/v2-87bebb3e009b305116cf5156d73d52f0_1440w.png)
|
||||
|
||||
|
||||
|
||||
更重要的是,这个项目使用jupyter notebook开发,理论部分与实践部分紧密相结合,在介绍理论知识的过程中让你直观的看到它是如何实现的,我想,这才是对于学习深度学习的同学比较友好的一种教学方式。
|
||||
|
||||
## **pysheeet**
|
||||
|
||||
**Star:5.9k**
|
||||
|
||||
[**pysheeet**](https://github.com/crazyguitar/pysheeet)即为Python Cheat Sheet,一个用于收集Python有价值片段,增强Python编码体验的项目。
|
||||
|
||||
我认为在学习一样知识时,会用与精通之间往往会有一个瓶颈。例如,一个学习歌唱的同学,总认为自己的发声是最为恰当的,但是,如果有一个有经验的教授给予指点,找到明确的方向,这时候会发生突飞猛进的变化。
|
||||
|
||||
编码也是,当我们学完Python并且在项目中用过很长一段时间之后,我们会陷入一个固定思维,认为当下编码的习惯就是理所当然的,就是恰到好处的,但是,也许在使用方式、编码风格等方面已经走错了方向。
|
||||
|
||||
pysheeet这个项目就收集了很多有有价值的Python片段,其他包括但不限于,
|
||||
|
||||
- 代码样式
|
||||
- 列表
|
||||
- 字典
|
||||
- 正则表达式
|
||||
- 异步
|
||||
- 测试
|
||||
- ...
|
||||
|
||||
这个项目在每个方向均给出了正反例,告诉你什么样才是一个规范的编码方式。
|
||||
|
||||
|
||||
|
||||
![img](https://pic4.zhimg.com/80/v2-03279894fd43dce8b5fa967a79131f28_1440w.png)
|
||||
|
||||
|
||||
|
||||
## **table-ocr**
|
||||
|
||||
**Star:119**
|
||||
|
||||
[**table-ocr**](https://github.com/chineseocr/table-ocr)是一个运用unet实现对文档表格的自动检测,表格重建的OCR项目。
|
||||
|
||||
OCR工具是目前比较受欢迎,且提高很多工作效率的一类工具。
|
||||
|
||||
它背后到底是如何实现的?
|
||||
|
||||
table-ocr这个项目可以帮你揭开它神秘的面纱。
|
||||
|
||||
|
||||
|
||||
![img](https://pic3.zhimg.com/80/v2-89f59d02a9edee42e003bb3d0771618f_1440w.jpeg)
|
||||
|
||||
|
||||
|
||||
另外,使用过OCR工具的同学应该都清楚,OCR在印刷体文字识别过程中效果越来越好,但是在表格方面一直捉襟见肘。table-ocr就针对表格检测进行设计和优化,在表格识别、重建效果方面非常突出。
|
||||
|
||||
## **posthog**
|
||||
|
||||
**Star:1.9k**
|
||||
|
||||
[**posthog**](https://github.com/PostHog/posthog)是一款开源的网站统计工具。
|
||||
|
||||
PostHog是为开发人员构建的开源产品分析工具,它能够自动收集网站或应用程序上的每个事件,无需向第三方发送数据。只需单击一下就可以部署到自己的基础设施上,并且可以对底层数据进行完整的API/SQL访问。
|
||||
|
||||
|
||||
|
||||
![img](https://pic4.zhimg.com/80/v2-8997aa0562b3bf6045666b22e77ff5f4_1440w.gif)
|
||||
|
||||
|
||||
|
||||
它具有如下特性,
|
||||
|
||||
- 基于事件的用户级分析-查看哪些用户正在你的应用程序中执行什么操作
|
||||
- 自动捕获点击和页面浏览量,以分析用户的追溯操作
|
||||
- 支持JS、Python、Ruby、Node、Go+API的库
|
||||
- 简单的部署方式
|
||||
|
||||
|
||||
|
||||
## **RL-Stock**
|
||||
|
||||
**Star:1.2k**
|
||||
|
||||
[**RL-Stock**](https://github.com/wangshub/RL-Stock)是一款利用强化学习自动炒股的Python项目。
|
||||
|
||||
提到机器学习、人工智能在金融、炒股等方面的应用,更多的人会想到预测,例如,传统机器学习、LSTM等。
|
||||
|
||||
而强化学习作为机器学习的一个分支,它的模型更符合一个人做决策的过程,也更加贴近现实世界的场景。与监督学习预测未来的数值不同,强化学习根据输入的状态(如当日开盘价、收盘价等),输出系列动作(例如:买进、持有、卖出),使得最后的收益最大化,实现自动交易。
|
||||
|
||||
|
||||
|
||||
![img](https://pic1.zhimg.com/80/v2-12773f401686d2504767c0199ac65db9_1440w.png)
|
||||
|
||||
|
||||
|
||||
作者利用强化学习对炒股过程进行了建模,实现了自动炒股。
|
||||
|
||||
话说回来,炒股需谨慎,这个项目可以作为一个学习强化学习同时了解股票知识的一个小工具。我想,利用将强化学习应用于股市,应该早已经有很多公司考虑到这一点,但是,它所带来的收益和风险是并重的,我想这也是为什么很少有公司大规模将人工智能,尤其深度学习应用于金融领域的原因。
|
||||
|
||||
------
|
||||
|
||||
### **推荐阅读**
|
||||
|
||||
- [干货 | 2019年共享免费资源整理(上):学习资源篇](https://mp.weixin.qq.com/s?__biz=MzI0NTM1MzA2Mw==&mid=2247484955&idx=1&sn=fa9827493c135096729fac6cd8b54fb2&chksm=e94e9913de391005dc83393528bef4530875108a2fc5fbe0e9de0da87a96a4b146621288f7f8&token=2025215714&lang=zh_CN#rd)
|
||||
- [干货 | 2019年共享免费资源整理(下):实用工具篇](https://mp.weixin.qq.com/s?__biz=MzI0NTM1MzA2Mw==&mid=2247484959&idx=1&sn=628c532c9504cbdb17bcd75fee354292&chksm=e94e9917de391001c367b78cedc19276a398c8675e9c9b5c590d02e90efdd1fc5f2e3e816db9&token=2025215714&lang=zh_CN#rd)
|
||||
- [10款VS Code插件神器,第7款超级实用!](https://mp.weixin.qq.com/s?__biz=MzI0NTM1MzA2Mw==&mid=2247485027&idx=1&sn=be4c1275f350c9bc1ddd43b793088647&chksm=e94e996bde39107d6076a95ddcfd9c4bb5cd212363cd0138f6a8906a724da956878b012af6cc&token=1472831505&lang=zh_CN#rd)
|
||||
- [开发者常用工具集 | 如果早一些看到这篇文章该多好](https://mp.weixin.qq.com/s?__biz=MzI0NTM1MzA2Mw==&mid=2247485022&idx=1&sn=9c10067cd7a2452ffc94582c13ec160b&chksm=e94e9956de391040a4b8d55bab1708945f0c9e170a55eac18ca53a1be11724ca36a5299908da&token=886687278&lang=zh_CN#rd)
|
||||
- [实用工具 | 5款超实用浏览器插件,第一款真神器](https://mp.weixin.qq.com/s?__biz=MzI0NTM1MzA2Mw==&mid=2247485001&idx=1&sn=0664d17a6f677c9e1d433f285f096112&chksm=e94e9941de391057dea8c84c1d45925621696d5d735d2bab6e0b7ef786ac813b415c53cfb2b9&token=457191310&lang=zh_CN#rd)
|
||||
- [实用工具 | 10款搜索引擎,看到第一款就会毅然放弃百度!](https://mp.weixin.qq.com/s?__biz=MzI0NTM1MzA2Mw==&mid=2247484976&idx=1&sn=f8ac0fd665d8918f52a5d599f636a7ad&chksm=e94e9938de39102ee33220f42bbe9a4f0832c7bf5cc8c7a47aef8548a8688bae1793facad073&token=2025215714&lang=zh_CN#rd)
|
||||
- [实用工具 | 6款免费OCR工具,第一款是神器](https://mp.weixin.qq.com/s?__biz=MzI0NTM1MzA2Mw==&mid=2247484951&idx=1&sn=e63f6dd0e781114515d9b27b4397c065&chksm=e94e991fde391009a1c2a77392fb89435f8fae9d266f05eadee86784ae615b89ecb7bfae4b70&token=2025215714&lang=zh_CN#rd)
|
|
@ -0,0 +1,97 @@
|
|||
## **前言**
|
||||
|
||||
PyHubWeekly每周定期更新,精选GitHub上优质的Python项目/小工具。
|
||||
|
||||
我把PyHubWeekly托管到了Github,感兴趣的可以**搜索Github项目**[**PyHubWeekly**](https://github.com/Jackpopc/PyHubWeekly),如果喜欢,麻烦给个Star支持一下吧。此外,**欢迎大家通过提交issue来投稿和推荐自己的项目**~
|
||||
|
||||
本期为大家推荐GitHub上5个优质的Python项目,它们分别是:
|
||||
|
||||
- **photo2cartoon**
|
||||
- **jumpcutter**
|
||||
- **mkdocs**
|
||||
- **chineseocr**
|
||||
- **streamlit**
|
||||
|
||||
下面分别来介绍一下上述5个GitHub项目。
|
||||
|
||||
## **photo2cartoon**
|
||||
|
||||
**Star:652**
|
||||
|
||||
![img](https://pic1.zhimg.com/80/v2-ae1bce0699f59b17aafba65caf0f7a58_1440w.png)
|
||||
|
||||
[**photo2cartoon**](https://github.com/minivision-ai/photo2cartoon)是一款图像转卡通的Python项目。
|
||||
|
||||
这类工具、项目其实有很多,大多数效果都是差强人意。当看到这个工具的时候,我本身觉得“噱头”,但是,当使用之后顿时大感惊艳。
|
||||
|
||||
有很多图片转卡通工具,要么过度偏于卡通,而丢失了原图像中人物特别的信息。有很多工具过度真实,有没有卡通的感觉。
|
||||
|
||||
而photo2cartoon,在保持原图像ID信息和纹理细节的同时,将真实照片转换为卡通风格的非真实感图像。这款工具既有卡通图像的可爱风格,又对原始图像保留真实信息。
|
||||
|
||||
**使用教程**
|
||||
|
||||
```
|
||||
git clone https://github.com/minivision-ai/photo2cartoon.git
|
||||
cd ./photo2cartoon
|
||||
python test.py --photo_path ./images/photo_test.jpg --save_path ./images/cartoon_result.png
|
||||
```
|
||||
|
||||
另外,photo2cartoon有对应的微信小程序。如果你对源码很感兴趣,或者希望定制化,也可以克隆源码,进行修改,对模型重新训练。
|
||||
|
||||
## **jumpcutter**
|
||||
|
||||
**Star:2.2k**
|
||||
|
||||
[**jumpcutter**](https://github.com/carykh/jumpcutter)是一款智能的视频自动编辑工具。
|
||||
|
||||
当我们拍摄一段视频出现失误时,会怎么办?重新录制?手动编辑?
|
||||
|
||||
jumpcutter让这件事情变得非常简单,在拍摄视频时,当有些部分想要删除,只需要一个大拇指朝下的手势,如果希望保留,那么就竖起大拇指。这样,它在后期处理的过程中会根据视频中的手势对每一段视频选择是保留还是删除。
|
||||
|
||||
## **mkdocs**
|
||||
|
||||
**Star:9.8k**
|
||||
|
||||
![img](https://pic3.zhimg.com/80/v2-eff7892fa6db74956cfa76ca8533fe05_1440w.png)
|
||||
|
||||
[**mkdocs**](https://github.com/mkdocs/mkdocs)是一个快速、简单、漂亮的静态网站生成器,专门用于构建项目文档。
|
||||
|
||||
应该有很多同学都有过搭建网站的想法,它可以很复杂,也可以很简单。
|
||||
|
||||
如果单纯为了写作,我认为静态网站就足够了。mkdocs就是一款可以快速搭建静态网站的工具,我们在网络上找一些在线电子文档时会发现很多都非常想起,它们大多数都是基于mkdocs搭建的。
|
||||
|
||||
## **chineseocr**
|
||||
|
||||
**Star:2.8k**
|
||||
|
||||
[**chineseocr**](https://github.com/chineseocr/chineseocr)是一款基于yolov3的OCR工具。
|
||||
|
||||
- 支持0、90、180、270不同角度文字识别
|
||||
- 支持(darknet/opencv dnn /keras)文字检测,支持darknet/keras训练
|
||||
- 支持darknet 转keras, keras转darknet, pytorch 转keras模型
|
||||
- 支持身份证/火车票结构化数据识别
|
||||
- 单行图像平均时间为0.02秒以下
|
||||
|
||||
## **streamlit**
|
||||
|
||||
**Star:7.8k**
|
||||
|
||||
[**streamlit**](https://github.com/streamlit/streamlit)是一款用于快速创建机器学习应用的一款Python工具。
|
||||
|
||||
从最初C++逐行编写成千上万行代码实现一个目标识别系统,到现在利用高度集成gluon、keras深度学习库几行代码即可完成,再到这两年很多大公司都在争相竞争的AutoML平台。使得这个看似高深的机器学习领域,变得越来越简单、平民化。
|
||||
|
||||
![img](https://pic3.zhimg.com/80/v2-3264f6c54d9b044293a137e473d3be9a_1440w.gif)
|
||||
|
||||
streamlit允许您使用简单的Python脚本,创建一个机器学习应用程序。它支持热加载,所以你的应用程序能够根据你文本编辑和保存情况实时更新。
|
||||
|
||||
------
|
||||
|
||||
### **推荐阅读**
|
||||
|
||||
- [干货 | 2019年共享免费资源整理(上):学习资源篇](https://mp.weixin.qq.com/s?__biz=MzI0NTM1MzA2Mw==&mid=2247484955&idx=1&sn=fa9827493c135096729fac6cd8b54fb2&chksm=e94e9913de391005dc83393528bef4530875108a2fc5fbe0e9de0da87a96a4b146621288f7f8&token=2025215714&lang=zh_CN#rd)
|
||||
- [干货 | 2019年共享免费资源整理(下):实用工具篇](https://mp.weixin.qq.com/s?__biz=MzI0NTM1MzA2Mw==&mid=2247484959&idx=1&sn=628c532c9504cbdb17bcd75fee354292&chksm=e94e9917de391001c367b78cedc19276a398c8675e9c9b5c590d02e90efdd1fc5f2e3e816db9&token=2025215714&lang=zh_CN#rd)
|
||||
- [10款VS Code插件神器,第7款超级实用!](https://mp.weixin.qq.com/s?__biz=MzI0NTM1MzA2Mw==&mid=2247485027&idx=1&sn=be4c1275f350c9bc1ddd43b793088647&chksm=e94e996bde39107d6076a95ddcfd9c4bb5cd212363cd0138f6a8906a724da956878b012af6cc&token=1472831505&lang=zh_CN#rd)
|
||||
- [开发者常用工具集 | 如果早一些看到这篇文章该多好](https://mp.weixin.qq.com/s?__biz=MzI0NTM1MzA2Mw==&mid=2247485022&idx=1&sn=9c10067cd7a2452ffc94582c13ec160b&chksm=e94e9956de391040a4b8d55bab1708945f0c9e170a55eac18ca53a1be11724ca36a5299908da&token=886687278&lang=zh_CN#rd)
|
||||
- [实用工具 | 5款超实用浏览器插件,第一款真神器](https://mp.weixin.qq.com/s?__biz=MzI0NTM1MzA2Mw==&mid=2247485001&idx=1&sn=0664d17a6f677c9e1d433f285f096112&chksm=e94e9941de391057dea8c84c1d45925621696d5d735d2bab6e0b7ef786ac813b415c53cfb2b9&token=457191310&lang=zh_CN#rd)
|
||||
- [实用工具 | 10款搜索引擎,看到第一款就会毅然放弃百度!](https://mp.weixin.qq.com/s?__biz=MzI0NTM1MzA2Mw==&mid=2247484976&idx=1&sn=f8ac0fd665d8918f52a5d599f636a7ad&chksm=e94e9938de39102ee33220f42bbe9a4f0832c7bf5cc8c7a47aef8548a8688bae1793facad073&token=2025215714&lang=zh_CN#rd)
|
||||
- [实用工具 | 6款免费OCR工具,第一款是神器](https://mp.weixin.qq.com/s?__biz=MzI0NTM1MzA2Mw==&mid=2247484951&idx=1&sn=e63f6dd0e781114515d9b27b4397c065&chksm=e94e991fde391009a1c2a77392fb89435f8fae9d266f05eadee86784ae615b89ecb7bfae4b70&token=2025215714&lang=zh_CN#rd)
|
|
@ -0,0 +1,154 @@
|
|||
## 前言
|
||||
|
||||
PyHubWeekly每周定期更新,精选GitHub上优质的Python项目/小工具。
|
||||
|
||||
我把PyHubWeekly托管到了Github,感兴趣的可以**搜索Github项目**[**PyHubWeekly**](https://github.com/Jackpopc/PyHubWeekly),如果喜欢,麻烦给个Star支持一下吧。此外,**欢迎大家通过提交issue来投稿和推荐自己的项目**~
|
||||
|
||||
本期为大家推荐GitHub上5个优质的Python项目,它们分别是:
|
||||
|
||||
- **riskquant**
|
||||
- **pydata-book**
|
||||
- **avatarify**
|
||||
- **pyprotect**
|
||||
- **prophet**
|
||||
|
||||
下面分别来介绍一下上述5个GitHub项目。
|
||||
|
||||
## riskquant
|
||||
|
||||
**Star:457**
|
||||
|
||||
[**riskquant**](https://github.com/Netflix-Skunkworks/riskquant)是一款Python量化风险库。
|
||||
|
||||
riskquant内置了多个知名的数据分析算法,例如`simpleloss`、`pertloss`,可以很简单的在Python中实现量化风险分析。
|
||||
|
||||
**安装**
|
||||
|
||||
克隆下源代码,进入根目录,执行下方命令,
|
||||
|
||||
```python
|
||||
pip install .
|
||||
```
|
||||
|
||||
**示例**
|
||||
|
||||
```python
|
||||
>> from riskquant import pertloss
|
||||
>> p = pertloss.PERTLoss(low_loss=10, high_loss=100, min_freq=0.1, max_freq=0.7, most_likely_freq=0.3, kurtosis=1)
|
||||
>> simulate_100 = p.simulate_years(100)
|
||||
>> p.summarize_loss(simulate_100)
|
||||
|
||||
{'minimum': 0,
|
||||
'tenth_percentile': 0,
|
||||
'mode': 0,
|
||||
'median': 1,
|
||||
'ninetieth_percentile': 2,
|
||||
'maximum': 6}
|
||||
```
|
||||
|
||||
## pydata-book
|
||||
|
||||
**Star:12.1k**
|
||||
|
||||
|
||||
![](https://imgkr.cn-bj.ufileos.com/f3dc992b-3e52-4cb8-b998-aa6447ab4d94.png)
|
||||
|
||||
|
||||
[**pydata-book**](https://github.com/wesm/pydata-book)是Wes McKinney(pandas的创作者)和O'Reilly Media编著的《Python for Data Analysis》书籍的学习资料和IPython Notebook源代码。
|
||||
|
||||
这份学习资料不仅包含数据分析、机器学习里常用的工具,例如,numpy和pandas。也包含数据分析中常用的技术和手段,例如,
|
||||
|
||||
- 数据清洗和处理
|
||||
- 时间序列
|
||||
- 缺失数据处理
|
||||
- ......
|
||||
|
||||
此外,pydata-book还包含数据分析实例,在实践中对数据分析的知识、工具使用有更加深入的认识。
|
||||
|
||||
## avatarify
|
||||
|
||||
**Star:5.6k**
|
||||
|
||||
[**avatarify**](https://github.com/alievk/avatarify)是一款应用来自NIPS的中心模型,能够为 Zoom、Skype 这类视频通话运用添加自己的替身Python工具。
|
||||
|
||||
|
||||
![](https://imgkr.cn-bj.ufileos.com/fda5106c-c226-4c06-8763-288c2c96cf72.gif)
|
||||
|
||||
**使用教程**
|
||||
|
||||
- 安装miniconda和git
|
||||
- 克隆代码,执行安装命令
|
||||
|
||||
```shell
|
||||
git clone https://github.com/alievk/avatarify.git
|
||||
cd avatarify
|
||||
scripts\install_windows.bat
|
||||
```
|
||||
- 下载训练的权重,放置到目录下
|
||||
- 安装媒体播放器,例如,OBS
|
||||
|
||||
avatarify项目提供了完整的训练、安装、配置过程,涉及的知识体系、架构较为完善。因此,通过学习该项目,可以对一款完整应用的开发有更加清晰的认识。
|
||||
|
||||
## pyprotect
|
||||
|
||||
**Star:266**
|
||||
|
||||
[**pyprotect**](https://github.com/ga0/pyprotect)是一个轻量级的python代码保护、加密工具。
|
||||
|
||||
这款工具有如下特性,
|
||||
|
||||
- 跨平台
|
||||
- 简单易用
|
||||
- 不需要额外依赖
|
||||
|
||||
**使用教程**
|
||||
|
||||
编译项目,
|
||||
|
||||
```python
|
||||
mkdir build
|
||||
cd build && cmake .. && make
|
||||
```
|
||||
|
||||
加密项目,
|
||||
|
||||
```Python
|
||||
python encrypt.py -s SCRIPTS_DIR -e ENTRY_POINT_LIST -o OUTPUT_DIR [--exclude EXCLUDED_SCRIPT_LIST]
|
||||
```
|
||||
|
||||
## prophet
|
||||
|
||||
**Star:10.7k**
|
||||
|
||||
[**prophet**](https://github.com/facebook/prophet)是一个用于线性或非线性增长的多个季节性的时间序列数据提供高质量预测的工具。
|
||||
|
||||
Prophet是一个基于加法模型预测时间序列数据的过程,其中非线性趋势与年、周、日的季节性以及假日效应相吻合。它最适用于具有强烈季节效应和几个季节的历史数据的时间序列。Prophet对丢失的数据和趋势的变化是很健壮的,并且能很好地处理异常值。
|
||||
|
||||
**使用教程**
|
||||
|
||||
可以直接使用pip命令安装,
|
||||
|
||||
```python
|
||||
pip install fbprophet
|
||||
CMDSTAN=/tmp/cmdstan-2.22.1 STAN_BACKEND=PYSTAN,CMDSTANPY pip install fbprophet
|
||||
```
|
||||
|
||||
------
|
||||
|
||||
### **推荐阅读**
|
||||
|
||||
- [干货 | 2019年共享免费资源整理(上):学习资源篇](https://mp.weixin.qq.com/s?__biz=MzI0NTM1MzA2Mw==&mid=2247484955&idx=1&sn=fa9827493c135096729fac6cd8b54fb2&chksm=e94e9913de391005dc83393528bef4530875108a2fc5fbe0e9de0da87a96a4b146621288f7f8&token=2025215714&lang=zh_CN#rd)
|
||||
- [干货 | 2019年共享免费资源整理(下):实用工具篇](https://mp.weixin.qq.com/s?__biz=MzI0NTM1MzA2Mw==&mid=2247484959&idx=1&sn=628c532c9504cbdb17bcd75fee354292&chksm=e94e9917de391001c367b78cedc19276a398c8675e9c9b5c590d02e90efdd1fc5f2e3e816db9&token=2025215714&lang=zh_CN#rd)
|
||||
- [10款VS Code插件神器,第7款超级实用!](https://mp.weixin.qq.com/s?__biz=MzI0NTM1MzA2Mw==&mid=2247485027&idx=1&sn=be4c1275f350c9bc1ddd43b793088647&chksm=e94e996bde39107d6076a95ddcfd9c4bb5cd212363cd0138f6a8906a724da956878b012af6cc&token=1472831505&lang=zh_CN#rd)
|
||||
- [开发者常用工具集 | 如果早一些看到这篇文章该多好](https://mp.weixin.qq.com/s?__biz=MzI0NTM1MzA2Mw==&mid=2247485022&idx=1&sn=9c10067cd7a2452ffc94582c13ec160b&chksm=e94e9956de391040a4b8d55bab1708945f0c9e170a55eac18ca53a1be11724ca36a5299908da&token=886687278&lang=zh_CN#rd)
|
||||
- [实用工具 | 5款超实用浏览器插件,第一款真神器](https://mp.weixin.qq.com/s?__biz=MzI0NTM1MzA2Mw==&mid=2247485001&idx=1&sn=0664d17a6f677c9e1d433f285f096112&chksm=e94e9941de391057dea8c84c1d45925621696d5d735d2bab6e0b7ef786ac813b415c53cfb2b9&token=457191310&lang=zh_CN#rd)
|
||||
- [实用工具 | 10款搜索引擎,看到第一款就会毅然放弃百度!](https://mp.weixin.qq.com/s?__biz=MzI0NTM1MzA2Mw==&mid=2247484976&idx=1&sn=f8ac0fd665d8918f52a5d599f636a7ad&chksm=e94e9938de39102ee33220f42bbe9a4f0832c7bf5cc8c7a47aef8548a8688bae1793facad073&token=2025215714&lang=zh_CN#rd)
|
||||
- [实用工具 | 6款免费OCR工具,第一款是神器](https://mp.weixin.qq.com/s?__biz=MzI0NTM1MzA2Mw==&mid=2247484951&idx=1&sn=e63f6dd0e781114515d9b27b4397c065&chksm=e94e991fde391009a1c2a77392fb89435f8fae9d266f05eadee86784ae615b89ecb7bfae4b70&token=2025215714&lang=zh_CN#rd)
|
||||
|
||||
---
|
||||
|
||||
欢迎关注我的公众号“**平凡而诗意**”,原创技术文章第一时间推送,如果喜欢,麻烦点一下“**在看**”~
|
||||
|
||||
<center>
|
||||
<img src="https://imgkr.cn-bj.ufileos.com/ba67a0df-9e73-4dcd-8a83-7479f9076350.jpg" style="width: 150px;">
|
||||
</center>
|
|
@ -0,0 +1,219 @@
|
|||
## 前言
|
||||
|
||||
PyHubWeekly每周定期更新,精选GitHub上优质的Python项目/小工具。
|
||||
|
||||
我把PyHubWeekly托管到了Github,感兴趣的可以**搜索Github项目**[**PyHubWeekly**](https://github.com/Jackpopc/PyHubWeekly),如果喜欢,麻烦给个Star支持一下吧。此外,**欢迎大家通过提交issue来投稿和推荐自己的项目**~
|
||||
|
||||
本期为大家推荐GitHub上5个优质的Python项目,<!--more-->它们分别是:
|
||||
|
||||
- **jukebox**
|
||||
- **python-patterns**
|
||||
- **dabl**
|
||||
- **missingno**
|
||||
- **emot**
|
||||
|
||||
下面分别来介绍一下上述5个GitHub项目。
|
||||
|
||||
## jukebox
|
||||
|
||||
**Star:1.8k**
|
||||
|
||||
[**jukebox**](https://github.com/openai/jukebox)是一款由OpenAI开源的一款自动生成音乐的神经网络。
|
||||
|
||||
|
||||
|
||||
![](https://imgkr.cn-bj.ufileos.com/678d0f52-6ab1-4131-8e06-a29501935932.png)
|
||||
|
||||
|
||||
|
||||
生成网络用于自动生成是这两年人工智能领域研究比较热门的一个方面,例如,自动生成图像、自动生成音乐。
|
||||
|
||||
OpenAI开源的jukebox神经网络可以生成各种流派和艺术家风格的原始音频,也包括基本的歌唱。
|
||||
|
||||
jukebox在生成音乐的过程中,主要包括2个过程,
|
||||
|
||||
- 采样
|
||||
- 训练
|
||||
|
||||
```python
|
||||
# Required: Sampling
|
||||
conda create --name jukebox python=3.7.5
|
||||
conda activate jukebox
|
||||
conda install mpi4py=3.0.3
|
||||
conda install pytorch=1.4 torchvision=0.5 cudatoolkit=10.0 -c pytorch
|
||||
git clone https://github.com/openai/jukebox.git
|
||||
cd jukebox
|
||||
pip install -r requirements.txt
|
||||
pip install -e .
|
||||
|
||||
# Required: Training
|
||||
conda install av=7.0.01 -c conda-forge
|
||||
pip install ./tensorboardX
|
||||
|
||||
# Optional: Apex for faster training with fused_adam
|
||||
conda install pytorch=1.1 torchvision=0.3 cudatoolkit=10.0 -c pytorch
|
||||
pip install -v --no-cache-dir --global-option="--cpp_ext" --global-option="--cuda_ext" ./apex
|
||||
```
|
||||
|
||||
## python-patterns
|
||||
|
||||
**Star:24.6k**
|
||||
|
||||
[**python-patterns**](https://github.com/faif/python-patterns)是Python中设计模式/习惯用法的集合。
|
||||
|
||||
我曾经不止在一篇文章中提及过设计模式的重要性,而对于Python这类语法简单、效率偏低的编程语言,更加重视设计模式。
|
||||
|
||||
设计模式并不是一种老生常谈的固定知识,而更加偏重于一种思维方式的转变,例如,原型模式、工厂模式。也就是说,即便你不使用这种设计模式也可以实现某种功能,但是如果使用,执行效率、维护成本、可读性都会得到极大程度的优化。
|
||||
|
||||
例如,下面示例的原型模式,
|
||||
|
||||
```python
|
||||
class Prototype:
|
||||
|
||||
value = 'default'
|
||||
|
||||
def clone(self, **attrs):
|
||||
"""Clone a prototype and update inner attributes dictionary"""
|
||||
# Python in Practice, Mark Summerfield
|
||||
obj = self.__class__()
|
||||
obj.__dict__.update(attrs)
|
||||
return obj
|
||||
|
||||
|
||||
class PrototypeDispatcher:
|
||||
def __init__(self):
|
||||
self._objects = {}
|
||||
|
||||
def get_objects(self):
|
||||
"""Get all objects"""
|
||||
return self._objects
|
||||
|
||||
def register_object(self, name, obj):
|
||||
"""Register an object"""
|
||||
self._objects[name] = obj
|
||||
|
||||
def unregister_object(self, name):
|
||||
"""Unregister an object"""
|
||||
del self._objects[name]
|
||||
|
||||
|
||||
def main():
|
||||
"""
|
||||
>>> dispatcher = PrototypeDispatcher()
|
||||
>>> prototype = Prototype()
|
||||
>>> d = prototype.clone()
|
||||
>>> a = prototype.clone(value='a-value', category='a')
|
||||
>>> b = prototype.clone(value='b-value', is_checked=True)
|
||||
>>> dispatcher.register_object('objecta', a)
|
||||
>>> dispatcher.register_object('objectb', b)
|
||||
>>> dispatcher.register_object('default', d)
|
||||
>>> [{n: p.value} for n, p in dispatcher.get_objects().items()]
|
||||
[{'objecta': 'a-value'}, {'objectb': 'b-value'}, {'default': 'default'}]
|
||||
"""
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
import doctest
|
||||
doctest.testmod()
|
||||
```
|
||||
|
||||
## dabl
|
||||
|
||||
**Star:438**
|
||||
|
||||
[**dabl**](https://github.com/dabl/dabl)是一款数据分析基准库。
|
||||
|
||||
这个项目试图使监督机器学习对于初学者变的更容易,并减少见任务的复杂度。
|
||||
|
||||
例如,利用**dabl**进行分类的一个示例,
|
||||
|
||||
```python
|
||||
import dabl
|
||||
from sklearn.model_selection import train_test_split
|
||||
from sklearn.datasets import load_digits
|
||||
X, y = load_digits(return_X_y=True)
|
||||
X_train, X_test, y_train, y_test = train_test_split(X, y, random_state=1)
|
||||
sc = dabl.SimpleClassifier().fit(X_train, y_train)
|
||||
Running ...
|
||||
print("Accuracy score", sc.score(X_test, y_test))
|
||||
Accuracy score 0.9...
|
||||
```
|
||||
就这样简单的几行代码,几秒钟的时间内既可以获得分类结果。
|
||||
|
||||
其实,dabl的最大优点并不在于机器学习,而是在于为数据探索提供了简单的接口。下面是一个简单地通过调用plot(X, y)生成的可视化示例:
|
||||
|
||||
|
||||
![](https://imgkr.cn-bj.ufileos.com/bf5f03b0-b903-49e9-8850-cbcb3e2f4e4f.png)
|
||||
|
||||
|
||||
## missingno
|
||||
|
||||
**Star:2.2k**
|
||||
|
||||
[**missingno**](https://github.com/ResidentMario/missingno)是一款Python缺失数据的可视化工具。
|
||||
|
||||
数据,是我们在工作中**最为重要**的一个环节,没有之一。
|
||||
|
||||
无论是做人工智能,还是做业务相关,或者简单的做一些用户画像,如果没有数据,或者数据质量差,一切产品规划都无从谈起。我想,在互联网、IT行业工作过的同学应该都会有这样的体会。
|
||||
|
||||
而数据缺失,又是我们在数据质量验证中最为重要的一项任务。
|
||||
|
||||
很多刚从业的同学,刚接触到项目便开始把目光放在算法的研究和开发方面,一番努力之后,发现效果并没有达到预期,回头定位问题的时候才发现数据确实严重,而在这个过程中已经浪费掉很多时间和精力。
|
||||
|
||||
|
||||
![](https://imgkr.cn-bj.ufileos.com/0a925a86-1b19-4ef1-a427-b085d0c32a84.png)
|
||||
|
||||
|
||||
而,如果我们在着手研发之前,先对数据质量进行验证,可视化一下缺失情况,这样就避免不必要的人力浪费。
|
||||
|
||||
## emot
|
||||
|
||||
**Star:64**
|
||||
|
||||
[**emot**](https://github.com/NeelShah18/emot)是一款用于提取文本中表情的简单小工具。
|
||||
|
||||
|
||||
```python
|
||||
>>> import emot
|
||||
>>> text = "I love python 👨 :-)"
|
||||
>>> emot.emoji(text)
|
||||
>>> [{'value': '👨', 'mean': ':man:', 'location': [14, 14], 'flag': True}]
|
||||
>>> emot.emoticons(text)
|
||||
>>> {'value': [':-)'], 'location': [[16, 19]], 'mean': ['Happy face smiley'], 'flag': True}
|
||||
```
|
||||
emot可以用于从文本(字符串)中提取emojis和emoticon等,所有的表情符号。
|
||||
|
||||
**安装**
|
||||
|
||||
通过pip安装,
|
||||
|
||||
```python
|
||||
$ pip install emot --upgrade
|
||||
```
|
||||
从master分支安装,
|
||||
|
||||
```python
|
||||
$ git clone https://github.com/NeelShah18/emot.git
|
||||
$ cd emot
|
||||
$ python setup.py install
|
||||
```
|
||||
|
||||
------
|
||||
|
||||
### **推荐阅读**
|
||||
|
||||
- [干货 | 2019年共享免费资源整理(上):学习资源篇](https://mp.weixin.qq.com/s?__biz=MzI0NTM1MzA2Mw==&mid=2247484955&idx=1&sn=fa9827493c135096729fac6cd8b54fb2&chksm=e94e9913de391005dc83393528bef4530875108a2fc5fbe0e9de0da87a96a4b146621288f7f8&token=2025215714&lang=zh_CN#rd)
|
||||
- [干货 | 2019年共享免费资源整理(下):实用工具篇](https://mp.weixin.qq.com/s?__biz=MzI0NTM1MzA2Mw==&mid=2247484959&idx=1&sn=628c532c9504cbdb17bcd75fee354292&chksm=e94e9917de391001c367b78cedc19276a398c8675e9c9b5c590d02e90efdd1fc5f2e3e816db9&token=2025215714&lang=zh_CN#rd)
|
||||
- [10款VS Code插件神器,第7款超级实用!](https://mp.weixin.qq.com/s?__biz=MzI0NTM1MzA2Mw==&mid=2247485027&idx=1&sn=be4c1275f350c9bc1ddd43b793088647&chksm=e94e996bde39107d6076a95ddcfd9c4bb5cd212363cd0138f6a8906a724da956878b012af6cc&token=1472831505&lang=zh_CN#rd)
|
||||
- [开发者常用工具集 | 如果早一些看到这篇文章该多好](https://mp.weixin.qq.com/s?__biz=MzI0NTM1MzA2Mw==&mid=2247485022&idx=1&sn=9c10067cd7a2452ffc94582c13ec160b&chksm=e94e9956de391040a4b8d55bab1708945f0c9e170a55eac18ca53a1be11724ca36a5299908da&token=886687278&lang=zh_CN#rd)
|
||||
- [实用工具 | 5款超实用浏览器插件,第一款真神器](https://mp.weixin.qq.com/s?__biz=MzI0NTM1MzA2Mw==&mid=2247485001&idx=1&sn=0664d17a6f677c9e1d433f285f096112&chksm=e94e9941de391057dea8c84c1d45925621696d5d735d2bab6e0b7ef786ac813b415c53cfb2b9&token=457191310&lang=zh_CN#rd)
|
||||
- [实用工具 | 10款搜索引擎,看到第一款就会毅然放弃百度!](https://mp.weixin.qq.com/s?__biz=MzI0NTM1MzA2Mw==&mid=2247484976&idx=1&sn=f8ac0fd665d8918f52a5d599f636a7ad&chksm=e94e9938de39102ee33220f42bbe9a4f0832c7bf5cc8c7a47aef8548a8688bae1793facad073&token=2025215714&lang=zh_CN#rd)
|
||||
- [实用工具 | 6款免费OCR工具,第一款是神器](https://mp.weixin.qq.com/s?__biz=MzI0NTM1MzA2Mw==&mid=2247484951&idx=1&sn=e63f6dd0e781114515d9b27b4397c065&chksm=e94e991fde391009a1c2a77392fb89435f8fae9d266f05eadee86784ae615b89ecb7bfae4b70&token=2025215714&lang=zh_CN#rd)
|
||||
|
||||
---
|
||||
|
||||
欢迎关注我的公众号“**平凡而诗意**”,原创技术文章第一时间推送,如果喜欢,麻烦点一下“**在看**”~
|
||||
|
||||
<center>
|
||||
<img src="https://imgkr.cn-bj.ufileos.com/ba67a0df-9e73-4dcd-8a83-7479f9076350.jpg" style="width: 150px;">
|
||||
</center>
|
|
@ -0,0 +1,166 @@
|
|||
## 前言
|
||||
|
||||
PyHubWeekly每周定期更新,精选GitHub上优质的Python项目/小工具。
|
||||
|
||||
我把PyHubWeekly托管到了Github,感兴趣的可以**搜索Github项目PyHubWeekly**[1],如果喜欢,麻烦给个Star支持一下吧。此外,**欢迎大家通过提交issue来投稿和推荐自己的项目**~
|
||||
|
||||
本期为大家推荐GitHub上5个优质的Python项目,它们分别是:
|
||||
|
||||
- **FlashText**
|
||||
- **PyFlux**
|
||||
- **bamboolib**
|
||||
- **MrDoc**
|
||||
- **AutoViz**
|
||||
|
||||
下面分别来介绍一下上述5个GitHub项目。
|
||||
|
||||
## FlashText
|
||||
|
||||
**Start:4.3k**
|
||||
|
||||
**FlashText**[2]是一款用于**提取**或者**替换**句子中关键字的工具。
|
||||
|
||||
FlashText具有诸多适合于网页爬虫或者文本处理的功能,例如,
|
||||
|
||||
- 提取
|
||||
- 替换
|
||||
- 删除
|
||||
- 多关键字
|
||||
- ...
|
||||
|
||||
有同学会有疑问,它和**正则表达式**功能大同小异,为什么要选择FlashText呢?
|
||||
|
||||
下面来通过一幅图对比一下两款工具在速度方面的表现,
|
||||
|
||||
![null](https://mmbiz.qpic.cn/mmbiz_png/sbzaBxCErLglQGybT2qc69ewNVyJVJuXS9gEOJXZyR4DSVaM6waXLgZrwSRgicVhcVQSGqQKy6BEgKMAic85s5LA/640?wx_fmt=png&tp=webp&wxfrom=5&wx_lazy=1&wx_co=1)
|
||||
|
||||
**安装使用**
|
||||
|
||||
可以直接使用pip命令进行安装,
|
||||
|
||||
```
|
||||
pip install flashtext
|
||||
```
|
||||
|
||||
可以通过一个简单的示例看一下FlashText的使用,
|
||||
|
||||
```
|
||||
>>> from flashtext import KeywordProcessor>>> keyword_processor = KeywordProcessor()>>> # keyword_processor.add_keyword(<unclean name>, <standardised name>)>>> keyword_processor.add_keyword('Big Apple', 'New York')>>> keyword_processor.add_keyword('Bay Area')>>> keywords_found = keyword_processor.extract_keywords('I love Big Apple and Bay Area.')>>> keywords_found>>> # ['New York', 'Bay Area']
|
||||
```
|
||||
|
||||
## PyFlux
|
||||
|
||||
**Start:1.7k**
|
||||
|
||||
**PyFlux**[3]是一款开源的时间序列分析库。
|
||||
|
||||
时序分析是统计学中非常重要的一个分支,在具有时序特征的数据中,往往蕴含着很多令人感兴趣的特征信息,可以根据这些信息对未来进行准确的预测。
|
||||
|
||||
PyFlux将推理模型(frequentist和Bayesian)和参数设置应用于时序分析中,使得时序分析变得更加容易。PyFlux具备如下特性,
|
||||
|
||||
•为时间序列数据建立模型•对模型进行推理•模型的检查和评估•模型修改•用模型进行回顾和预测
|
||||
|
||||
具体的示例,可以查看**官方文档**[4]。
|
||||
|
||||
## bamboolib
|
||||
|
||||
**Start:550**
|
||||
|
||||
**bamboolib**[5]是使得pandas DataFrames数据分析变得更加容易的一款Python库。
|
||||
|
||||
做数据相关工作的同学,对pandas肯定不会陌生。它很强大,甚至对于很多Python开发者具备着不可替代的位置,但是对于初学者却有时候让人难以理解。
|
||||
|
||||
bamboolib使得pandas DataFrames数据分析变得更加简单容易,在以往需要上百行完成的工作,在bamboolib中只需要简短的一行即可。
|
||||
|
||||
通过bamboolib的使用,它可以提升你的工作效率,减少在无价值的事情上浪费过多精力。
|
||||
|
||||
![null](https://mmbiz.qpic.cn/mmbiz_png/sbzaBxCErLglQGybT2qc69ewNVyJVJuXtKgXVRgV1Te3xWqupoYp5R2xPoxT0nXqt06mPMAEicNKS523Ehb1icyA/640?wx_fmt=png&tp=webp&wxfrom=5&wx_lazy=1&wx_co=1)
|
||||
|
||||
另外,bamboolib不仅支持本地使用,还可以在jupyter notebook和jupyterLab中使用。
|
||||
|
||||
**安装**
|
||||
|
||||
下面分别是本地、jupyter notebook、jupyterLab中安装的方法,
|
||||
|
||||
```python
|
||||
pip install bamboolib
|
||||
# Jupyter Notebook extensions
|
||||
python -m bamboolib install_nbextensions
|
||||
# JupyterLab extensions
|
||||
python -m bamboolib install_labextensions
|
||||
```
|
||||
|
||||
## MrDoc
|
||||
|
||||
**Start:167**
|
||||
|
||||
**MrDoc**[6]基于Python开发的在线文档系统,适合作为个人和小型团队的文档、笔记、知识管理工具。
|
||||
|
||||
![null](https://mmbiz.qpic.cn/mmbiz_png/sbzaBxCErLglQGybT2qc69ewNVyJVJuXeYB4icfjmFBt1KOsbZeG1KkjSbbTXjG7nW4XB9ykatuGj2ZryuNpq6g/640?wx_fmt=png&tp=webp&wxfrom=5&wx_lazy=1&wx_co=1)
|
||||
|
||||
MrDoc可以支持markdown、表格、图片上传等文档常用的功能,另外,它还具备一个完善系统应当具备的用户注册、管理等功能。可以用于团队内部的知识共享,文档管理。
|
||||
|
||||
另外,MrDoc已经开源,作为一个完善的应用系统,对于Python感兴趣的同学也可以拿这个项目用于学习和提升,了解一个完善系统的开发需要哪些环节,包含哪些模块,整个链路又是如何衔接的。
|
||||
|
||||
## AutoViz
|
||||
|
||||
**Start:140**
|
||||
|
||||
**AutoViz**[7]是一款数据集可视化工具。
|
||||
|
||||
通过AutoViz,一行代码就可以轻松实现数据集的可视化工作。
|
||||
|
||||
![null](https://mmbiz.qpic.cn/mmbiz_png/sbzaBxCErLglQGybT2qc69ewNVyJVJuXXhdPmic3cc7nVpibUZjrJzsUqfST1ZDTqAXncUfFJaVEA3SDee5qanvw/640?wx_fmt=png&tp=webp&wxfrom=5&wx_lazy=1&wx_co=1)
|
||||
|
||||
AutoViz除了在数据可视化方面做了很多优化之外,还在数据源接口方面提供了很大的便利。它可以同时兼容txt、json、csv等离线数据格式。
|
||||
|
||||
**安装使用**
|
||||
|
||||
通过pip安装AutoViz,
|
||||
|
||||
```
|
||||
pip install autoviz
|
||||
```
|
||||
|
||||
使用AutoViz过程中,首先需要对AutoViz进行实例化,
|
||||
|
||||
```
|
||||
from autoviz.AutoViz_Class
|
||||
import AutoViz_ClassAV = AutoViz_Class()
|
||||
```
|
||||
|
||||
然后加载数据,在家在数据过程中,可以把数据加载进pandas DataFrame,也可以简单的提供一个数据路径。剩余的工作,交给AutoViz即可,
|
||||
|
||||
```python
|
||||
filename = ""
|
||||
sep = ","
|
||||
dft = AV.AutoViz(filename,sep,target,df,header=0, verbose=0,lowess=False,chart_format="svg", max_rows_analyzed=150000,max_cols_analyzed=30,)
|
||||
```
|
||||
|
||||
------
|
||||
|
||||
#### 推荐阅读
|
||||
|
||||
- [干货 | 2019年共享免费资源整理(上):学习资源篇](https://mp.weixin.qq.com/s?__biz=MzI0NTM1MzA2Mw==&mid=2247484955&idx=1&sn=fa9827493c135096729fac6cd8b54fb2&chksm=e94e9913de391005dc83393528bef4530875108a2fc5fbe0e9de0da87a96a4b146621288f7f8&token=2025215714&lang=zh_CN&scene=21#wechat_redirect)
|
||||
- [干货 | 2019年共享免费资源整理(下):实用工具篇](https://mp.weixin.qq.com/s?__biz=MzI0NTM1MzA2Mw==&mid=2247484959&idx=1&sn=628c532c9504cbdb17bcd75fee354292&chksm=e94e9917de391001c367b78cedc19276a398c8675e9c9b5c590d02e90efdd1fc5f2e3e816db9&token=2025215714&lang=zh_CN&scene=21#wechat_redirect)
|
||||
- [10款VS Code插件神器,第7款超级实用!](https://mp.weixin.qq.com/s?__biz=MzI0NTM1MzA2Mw==&mid=2247485027&idx=1&sn=be4c1275f350c9bc1ddd43b793088647&chksm=e94e996bde39107d6076a95ddcfd9c4bb5cd212363cd0138f6a8906a724da956878b012af6cc&token=1472831505&lang=zh_CN&scene=21#wechat_redirect)
|
||||
- [开发者常用工具集 | 如果早一些看到这篇文章该多好](https://mp.weixin.qq.com/s?__biz=MzI0NTM1MzA2Mw==&mid=2247485022&idx=1&sn=9c10067cd7a2452ffc94582c13ec160b&chksm=e94e9956de391040a4b8d55bab1708945f0c9e170a55eac18ca53a1be11724ca36a5299908da&token=886687278&lang=zh_CN&scene=21#wechat_redirect)
|
||||
- [实用工具 | 5款超实用浏览器插件,第一款真神器](https://mp.weixin.qq.com/s?__biz=MzI0NTM1MzA2Mw==&mid=2247485001&idx=1&sn=0664d17a6f677c9e1d433f285f096112&chksm=e94e9941de391057dea8c84c1d45925621696d5d735d2bab6e0b7ef786ac813b415c53cfb2b9&token=457191310&lang=zh_CN&scene=21#wechat_redirect)
|
||||
- [实用工具 | 10款搜索引擎,看到第一款就会毅然放弃百度!](https://mp.weixin.qq.com/s?__biz=MzI0NTM1MzA2Mw==&mid=2247484976&idx=1&sn=f8ac0fd665d8918f52a5d599f636a7ad&chksm=e94e9938de39102ee33220f42bbe9a4f0832c7bf5cc8c7a47aef8548a8688bae1793facad073&token=2025215714&lang=zh_CN&scene=21#wechat_redirect)
|
||||
- [实用工具 | 6款免费OCR工具,第一款是神器](https://mp.weixin.qq.com/s?__biz=MzI0NTM1MzA2Mw==&mid=2247484951&idx=1&sn=e63f6dd0e781114515d9b27b4397c065&chksm=e94e991fde391009a1c2a77392fb89435f8fae9d266f05eadee86784ae615b89ecb7bfae4b70&token=2025215714&lang=zh_CN&scene=21#wechat_redirect)
|
||||
|
||||
------
|
||||
|
||||
欢迎关注我的公众号“**平凡而诗意**”,原创技术文章第一时间推送,如果喜欢,麻烦点一下“**在看**”~
|
||||
|
||||
![img](https://mmbiz.qpic.cn/mmbiz_png/sbzaBxCErLglQGybT2qc69ewNVyJVJuXSxwbUdHg7Lhrhic2xIvek48Dj6bRNQNatTibTJElnqBkFsRNTnIHUbBw/640?wx_fmt=png&tp=webp&wxfrom=5&wx_lazy=1&wx_co=1)
|
||||
|
||||
#### 引用链接
|
||||
|
||||
`[1]` **PyHubWeekly**: *https://github.com/Jackpopc/PyHubWeekly*
|
||||
`[2]` **FlashText**: *https://github.com/vi3k6i5/flashtext*
|
||||
`[3]` **PyFlux**: *https://github.com/RJT1990/pyflux*
|
||||
`[4]` **官方文档**: *https://pyflux.readthedocs.io/en/latest/getting_started.html*
|
||||
`[5]` **bamboolib**: *https://github.com/tkrabel/bamboolib*
|
||||
`[6]` **MrDoc**: *https://github.com/zmister2016/MrDoc*
|
||||
`[7]` **AutoViz**: *https://github.com/AutoViML/AutoViz*
|
|
@ -0,0 +1,253 @@
|
|||
## 前言
|
||||
|
||||
PyHubWeekly每周定期更新,精选GitHub上优质的Python项目/小工具。
|
||||
|
||||
我把PyHubWeekly托管到了Github,感兴趣的可以**搜索Github项目PyHubWeekly**[1],如果喜欢,麻烦给个Star支持一下吧。此外,**欢迎大家通过提交issue来投稿和推荐自己的项目**~
|
||||
|
||||
本期为大家推荐GitHub上5个优质的Python项目,它们分别是:
|
||||
|
||||
- **vardbg**
|
||||
- **yfinance**
|
||||
- **Keylogger**
|
||||
- **numerizer**
|
||||
- **sentry-python**
|
||||
|
||||
下面分别来介绍一下上述5个GitHub项目。
|
||||
|
||||
## vardbg
|
||||
|
||||
**Star:508**
|
||||
|
||||
**vardbg**[2]是一款可以把Python代码调试生成可视化图像的工具。
|
||||
|
||||
代码调试是开发过程中占比很重的一个环节,也是非常繁琐、复杂的一个阶段。开发者一直在考虑,如果实现更加高效、准确的代码调试。
|
||||
|
||||
记得前不久看到Microsoft也在测试vs code的代码调试可视化工具,这让我颇为期待,我想,和我有同样心理的开发者应该不在少数。
|
||||
|
||||
其实,不需要等待vs code正式发布,我们就可以尝鲜这项功能。
|
||||
|
||||
vardbg可以把代码程序执行流程生成可视化图像,这样不仅可以有助于调试代码,还可以帮助可视化算法流程,有助于算法的学习。
|
||||
|
||||
![null](data:image/gif;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVQImWNgYGBgAAAABQABh6FO1AAAAABJRU5ErkJggg==)
|
||||
|
||||
**安装使用**
|
||||
|
||||
可以直接使用pip命令安装,
|
||||
|
||||
```
|
||||
pip install vardbg
|
||||
```
|
||||
|
||||
也可以通过源码安装,
|
||||
|
||||
```
|
||||
git clone https://github.com/CCExtractor/vardbgcd vardbg
|
||||
python3 -m venv venvsource venv/bin/activatepip install poetry
|
||||
poetry install ../debug.py
|
||||
pip install .
|
||||
```
|
||||
|
||||
下面是执行一个快速排序代码的示例,
|
||||
|
||||
```
|
||||
vardbg run sort.py quick_sort -o qsort.json -a 9 -a 3 -a 5 -a 1
|
||||
```
|
||||
|
||||
然后,它就可以生成一个记录执行过程的可视化视频。
|
||||
|
||||
```
|
||||
vardbg replay qsort.json -v sort_vis.mp4
|
||||
```
|
||||
|
||||
## yfinance
|
||||
|
||||
**Star:1.8k**
|
||||
|
||||
**yfinance**[3]是一款Yahoo!金融数据下载工具。
|
||||
|
||||
数据对于从事数据分析、挖掘方向的同学一直都是一个巨大挑战。算法、编码都是非常成熟的。但是,如果没有数据,其余的都无从谈起。
|
||||
|
||||
金融,作为数据应用的一个典型的应用场景,受到很多同学的青睐,但是,从哪里获取到金融数据,却成了一个令人困扰的问题。
|
||||
|
||||
yfinance提供一种可靠、线程化、Python化的方式,使得能够轻松从雅虎下载金融市场数据。
|
||||
|
||||
**安装使用**
|
||||
|
||||
通过pip安装,
|
||||
|
||||
```
|
||||
pip install yfinance --upgrade --no-cache-dir
|
||||
```
|
||||
|
||||
通过conda安装,
|
||||
|
||||
```
|
||||
conda install -c ranaroussi yfinance
|
||||
```
|
||||
|
||||
下载数据,
|
||||
|
||||
```python
|
||||
import yfinance as yf
|
||||
|
||||
msft = yf.Ticker("MSFT")
|
||||
|
||||
# get stock info
|
||||
msft.info
|
||||
|
||||
# get historical market data
|
||||
hist = msft.history(period="max")
|
||||
|
||||
# show actions (dividends, splits)
|
||||
msft.actions
|
||||
|
||||
# show dividends
|
||||
msft.dividends
|
||||
|
||||
# show splits
|
||||
msft.splits
|
||||
|
||||
# show financials
|
||||
msft.financials
|
||||
msft.quarterly_financials
|
||||
|
||||
# show major holders
|
||||
stock.major_holders
|
||||
|
||||
# show institutional holders
|
||||
stock.institutional_holders
|
||||
|
||||
# show balance heet
|
||||
msft.balance_sheet
|
||||
msft.quarterly_balance_sheet
|
||||
|
||||
# show cashflow
|
||||
msft.cashflow
|
||||
msft.quarterly_cashflow
|
||||
|
||||
# show earnings
|
||||
msft.earnings
|
||||
msft.quarterly_earnings
|
||||
|
||||
# show sustainability
|
||||
msft.sustainability
|
||||
|
||||
# show analysts recommendations
|
||||
msft.recommendations
|
||||
|
||||
# show next event (earnings, etc)
|
||||
msft.calendar
|
||||
|
||||
# show ISIN code - *experimental*
|
||||
# ISIN = International Securities Identification Number
|
||||
msft.isin
|
||||
|
||||
# show options expirations
|
||||
msft.options
|
||||
|
||||
# get option chain for specific expiration
|
||||
opt = msft.option_chain('YYYY-MM-DD')
|
||||
# data available via: opt.calls, opt.puts
|
||||
```
|
||||
|
||||
## Keylogger
|
||||
|
||||
**Star:802**
|
||||
|
||||
**Keylogger**[4]是一款用于记录敲击键盘记录,同时生成一份日志文件的工具。
|
||||
|
||||
通过这款工具,你可以应用于很多场景的监控之中,例如,
|
||||
|
||||
- 监控员工工作
|
||||
- 记录禁用的字符
|
||||
- 保护个人隐私,确保自己不在时没有人使用你的计算机
|
||||
- 自我分析
|
||||
|
||||
Keylogger是一款跨平台的开源免费工具,它同时支持如下操作系统,
|
||||
|
||||
- Windows
|
||||
- macOS
|
||||
- Linux
|
||||
|
||||
## numerizer
|
||||
|
||||
**Star:73**
|
||||
|
||||
**numerizer**[5]是一款将自然语言中数字转化成`int`或者`float`型数字的Python小工具。
|
||||
|
||||
在文本分析或者网页爬虫时,无法避免的会遇到很多数字处理的问题,例如,`forty two`、`one million two hundred and fifty thousand and seven`。想要把这些语言表述转化为数据,往往需要写一个工具类,建立自然语言与数值之间的对应关系,同时还要处理自然语言的逻辑,这样显然会复杂很多。
|
||||
|
||||
numerizer是一款一行命令就可以实现自然语言数字到int和float的转化。
|
||||
|
||||
**安装使用**
|
||||
|
||||
可以通过pip命令安装,
|
||||
|
||||
```
|
||||
pip install numerizer
|
||||
```
|
||||
|
||||
也可以通过github源码安装,
|
||||
|
||||
```
|
||||
git clone https://github.com/jaidevd/numerizer.gitcd numerizerpip install -e .
|
||||
```
|
||||
|
||||
可以通过以下简单示例,了解numerizer的使用,
|
||||
|
||||
```python
|
||||
>>> from numerizer import numerize
|
||||
>>> numerize('forty two')'42'>>> numerize('forty-two')'42'
|
||||
>>> numerize('four hundred and sixty two')'462'
|
||||
>>> numerize('one fifty')'150'
|
||||
>>> numerize('twelve hundred')'1200'
|
||||
>>> numerize('twenty one thousand four hundred and seventy three')'21473'
|
||||
>>> numerize('one million two hundred and fifty thousand and seven')'1250007'
|
||||
>>> numerize('one billion and one')'1000000001'
|
||||
>>> numerize('nine and three quarters')'9.75'
|
||||
>>> numerize('platform nine and three quarters')'platform 9.75'
|
||||
```
|
||||
|
||||
## sentry-python
|
||||
|
||||
**Star:665**
|
||||
|
||||
**sentry-python**[6]是Sentry的开源Python SDK。
|
||||
|
||||
那么问题就来到,”Sentry是什么?“
|
||||
|
||||
在一个完善的系统中,算法、开发只占据很小的一部分。我认为,负责过正式商业化项目的同学都应该清楚日志的重要性丝毫不亚于那些看似高大上的机器学习算法。系统出现了报警和异常,日志可以协助我们快速定位并修复问题。
|
||||
|
||||
Sentry就是一个代码实时事件日志记录和聚合平台,可以用于监控代码的报错及后续调试时所需的所有信息。
|
||||
|
||||
而通过sentry-python,我们可以很轻松的在Python中调用Sentry的SDK,
|
||||
|
||||
```python
|
||||
from sentry_sdk import init, capture_message
|
||||
init("https://mydsn@sentry.io/123")
|
||||
capture_message("Hello World") # Will create an event.
|
||||
raise ValueError() # Will also create an event.
|
||||
```
|
||||
|
||||
------
|
||||
|
||||
#### 推荐阅读
|
||||
|
||||
- [干货 | 2019年共享免费资源整理(上):学习资源篇](https://mp.weixin.qq.com/s?__biz=MzI0NTM1MzA2Mw==&mid=2247484955&idx=1&sn=fa9827493c135096729fac6cd8b54fb2&chksm=e94e9913de391005dc83393528bef4530875108a2fc5fbe0e9de0da87a96a4b146621288f7f8&token=2025215714&lang=zh_CN&scene=21#wechat_redirect)
|
||||
- [干货 | 2019年共享免费资源整理(下):实用工具篇](https://mp.weixin.qq.com/s?__biz=MzI0NTM1MzA2Mw==&mid=2247484959&idx=1&sn=628c532c9504cbdb17bcd75fee354292&chksm=e94e9917de391001c367b78cedc19276a398c8675e9c9b5c590d02e90efdd1fc5f2e3e816db9&token=2025215714&lang=zh_CN&scene=21#wechat_redirect)
|
||||
- [10款VS Code插件神器,第7款超级实用!](https://mp.weixin.qq.com/s?__biz=MzI0NTM1MzA2Mw==&mid=2247485027&idx=1&sn=be4c1275f350c9bc1ddd43b793088647&chksm=e94e996bde39107d6076a95ddcfd9c4bb5cd212363cd0138f6a8906a724da956878b012af6cc&token=1472831505&lang=zh_CN&scene=21#wechat_redirect)
|
||||
|
||||
---
|
||||
|
||||
我整理了10T+资源进行共享,其中包括**实用工具、Python电子书、Spring视频教程、机器学习资源**,扫码关注我的公众号“**平凡而诗意**”,后台回复相应关键字即可获得。除此之外,原创技术文章会第一时间推送,如果喜欢,麻烦点一下“在看”~
|
||||
|
||||
![null](https://mmbiz.qpic.cn/mmbiz_png/sbzaBxCErLia8veH7q6GuuWF9cpXicz2cFQkiapXU45jrESahRZFJNQbicXE3XUxlYRyNatmvLotvXb5Mgh7cEWOqw/640?wx_fmt=png&tp=webp&wxfrom=5&wx_lazy=1&wx_co=1)
|
||||
|
||||
#### 引用链接
|
||||
|
||||
`[1]` **PyHubWeekly**: *https://github.com/Jackpopc/PyHubWeekly*
|
||||
`[2]` **vardbg**: *https://github.com/CCExtractor/vardbg*
|
||||
`[3]` **yfinance**: *https://github.com/ranaroussi/yfinance*
|
||||
`[4]` **Keylogger**: *https://github.com/GiacomoLaw/Keylogger*
|
||||
`[5]` **numerizer**: *https://github.com/jaidevd/numerizer*
|
||||
`[6]` **sentry-python**: *https://github.com/getsentry/sentry-python*
|
Loading…
Reference in New Issue