Merge pull request #3 from Jackpopc/master

Update
This commit is contained in:
麦琪 2020-05-25 08:56:15 +08:00 committed by GitHub
commit 40f46d148c
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
7 changed files with 1043 additions and 0 deletions

View File

@ -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)

140
docs/14-pyhubweekly.md Normal file
View File

@ -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**
**Star2.8k**
如果说这两年比较火热的研究方向是什么?深度学习肯定能够占据一席之地。
由于人工智能的火热,各种行业的同学都在尝试着去学习深度学习。可是,该怎么学习却成了让很多人困扰的问题。
虽然免费学习资源数不胜数,但是,要么偏重理论而脱离实践,要么一味的重视实践却没有理论,让人看的云里雾里。
[**dlaicourse**](https://github.com/lmoroney/dlaicourse)是这些中我认为较为不错的一个学习深度学习github项目。
dlaicourse不仅包含了深度学习基础知识部分这个项目还有练习、应用等方面的内容。
![img](https://pic4.zhimg.com/80/v2-87bebb3e009b305116cf5156d73d52f0_1440w.png)
更重要的是这个项目使用jupyter notebook开发理论部分与实践部分紧密相结合在介绍理论知识的过程中让你直观的看到它是如何实现的我想这才是对于学习深度学习的同学比较友好的一种教学方式。
## **pysheeet**
**Star5.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**
**Star119**
[**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**
**Star1.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**
**Star1.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)

97
docs/15-pyhubweekly.md Normal file
View File

@ -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**
**Star652**
![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**
**Star2.2k**
[**jumpcutter**](https://github.com/carykh/jumpcutter)是一款智能的视频自动编辑工具。
当我们拍摄一段视频出现失误时,会怎么办?重新录制?手动编辑?
jumpcutter让这件事情变得非常简单在拍摄视频时当有些部分想要删除只需要一个大拇指朝下的手势如果希望保留那么就竖起大拇指。这样它在后期处理的过程中会根据视频中的手势对每一段视频选择是保留还是删除。
## **mkdocs**
**Star9.8k**
![img](https://pic3.zhimg.com/80/v2-eff7892fa6db74956cfa76ca8533fe05_1440w.png)
[**mkdocs**](https://github.com/mkdocs/mkdocs)是一个快速、简单、漂亮的静态网站生成器,专门用于构建项目文档。
应该有很多同学都有过搭建网站的想法,它可以很复杂,也可以很简单。
如果单纯为了写作我认为静态网站就足够了。mkdocs就是一款可以快速搭建静态网站的工具我们在网络上找一些在线电子文档时会发现很多都非常想起它们大多数都是基于mkdocs搭建的。
## **chineseocr**
**Star2.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**
**Star7.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)

154
docs/16-pyhubweekly.md Normal file
View File

@ -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
**Star457**
[**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
**Star12.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
**Star5.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
**Star266**
[**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
**Star10.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>

219
docs/17-pyhubweekly.md Normal file
View File

@ -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
**Star1.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
**Star24.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
**Star438**
[**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
**Star2.2k**
[**missingno**](https://github.com/ResidentMario/missingno)是一款Python缺失数据的可视化工具。
数据,是我们在工作中**最为重要**的一个环节,没有之一。
无论是做人工智能还是做业务相关或者简单的做一些用户画像如果没有数据或者数据质量差一切产品规划都无从谈起。我想在互联网、IT行业工作过的同学应该都会有这样的体会。
而数据缺失,又是我们在数据质量验证中最为重要的一项任务。
很多刚从业的同学,刚接触到项目便开始把目光放在算法的研究和开发方面,一番努力之后,发现效果并没有达到预期,回头定位问题的时候才发现数据确实严重,而在这个过程中已经浪费掉很多时间和精力。
![](https://imgkr.cn-bj.ufileos.com/0a925a86-1b19-4ef1-a427-b085d0c32a84.png)
而,如果我们在着手研发之前,先对数据质量进行验证,可视化一下缺失情况,这样就避免不必要的人力浪费。
## emot
**Star64**
[**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>

166
docs/18-pyhubweekly.md Normal file
View File

@ -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
**Start4.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
**Start1.7k**
**PyFlux**[3]是一款开源的时间序列分析库。
时序分析是统计学中非常重要的一个分支,在具有时序特征的数据中,往往蕴含着很多令人感兴趣的特征信息,可以根据这些信息对未来进行准确的预测。
PyFlux将推理模型frequentist和Bayesian和参数设置应用于时序分析中使得时序分析变得更加容易。PyFlux具备如下特性
•为时间序列数据建立模型•对模型进行推理•模型的检查和评估•模型修改•用模型进行回顾和预测
具体的示例,可以查看**官方文档**[4]。
## bamboolib
**Start550**
**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
**Start167**
**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
**Start140**
**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*

253
docs/19-pyhubweekly.md Normal file
View File

@ -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
**Star508**
**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
**Star1.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
**Star802**
**Keylogger**[4]是一款用于记录敲击键盘记录,同时生成一份日志文件的工具。
通过这款工具,你可以应用于很多场景的监控之中,例如,
- 监控员工工作
- 记录禁用的字符
- 保护个人隐私,确保自己不在时没有人使用你的计算机
- 自我分析
Keylogger是一款跨平台的开源免费工具它同时支持如下操作系统
- Windows
- macOS
- Linux
## numerizer
**Star73**
**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
**Star665**
**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*