add new file

This commit is contained in:
Jackpopc 2020-02-09 17:50:54 +08:00
parent d671630da6
commit 250564896e
6 changed files with 237 additions and 9 deletions

View File

@ -14,10 +14,16 @@ PyHubWeekly是一个精选Github上优质Python小工具的项目宗旨
# 2020年
#
## 二
⭐️[第3期](./docs/1-pyhubweekly.md)
⭐️[第5期](./docs/5-pyhubweekly.md)
⭐️[第2期](./docs/1-pyhubweekly.md)
## 一月
⭐️[第4期](./docs/4-pyhubweekly.md)
⭐️[第3期](./docs/3-pyhubweekly.md)
⭐️[第2期](./docs/2-pyhubweekly.md)
⭐️[第1期](./docs/1-pyhubweekly.md)

View File

@ -1,8 +1,8 @@
[TOC]
# 前言
Github是一个使用非常广泛且非常受欢迎的开源项目托管平台其中有很多个人开发者也不乏一些知名的科技公司例如Google、Facebook、Microsoft、腾讯、阿里。这么庞大的项目数量中有一些非常有价值但是在整体中还是占据较小的比重怎么从这么庞大的群体中筛选出真正有价值的就成了一件很难的事情<!--more-->本文就推荐6个简单且非常优秀的Python项目。
Github是一个使用非常广泛且非常受欢迎的开源项目托管平台其中有很多个人开发者也不乏一些知名的科技公司例如Google、Facebook、Microsoft、腾讯、阿里。这么庞大的项目数量中有一些非常有价值但是在整体中还是占据较小的比重怎么从这么庞大的群体中筛选出真正有价值的就成了一件很难的事情本文就推荐6个简单且非常优秀的Python项目。
> 我建了一个QQ学习交流群旨在“分享、讨论、学习、资源分享、就业机会、互联网内推、共同进步感兴趣的可以加一下也可以添加我的QQ~ QQ群1002821945QQ号498073774

View File

@ -1,10 +1,10 @@
[TOC]
# 前言
上一周我写了一篇总结GitHub上优质Python项目的文章文章发出之后在公众号和知乎受到很多同学的喜爱和认可这有一些出乎我的意料。
思索一下,这的确是一件很值得去做的事情。<!--more-->这一年来我养成了一个每天逛一逛GitHub的习惯因为我个人对新鲜事物充满着好奇心或者是有趣的项目、或者是实用的小工具我期望能够在GitHub上能够遇到我想要的东西。
思索一下这的确是一件很值得去做的事情。这一年来我养成了一个每天逛一逛GitHub的习惯因为我个人对新鲜事物充满着好奇心或者是有趣的项目、或者是实用的小工具我期望能够在GitHub上能够遇到我想要的东西。
GitHub是一个鱼龙混杂的地方上面的确有很多不错的开源项目但是更多的是一些灌水的项目例如某些教育机构的大作业例如那些每天刷榜的中文无聊的项目。因此虽然我每天都会花费一部分时间去浏览GitHub但是真正让我内心觉得这个项目“不错”的却少之又少。我想也许这就是为什么我上一篇文章受到认可的原因吧。

View File

@ -1,8 +1,8 @@
[TOC]
# 本期内容
PyHubWeekly每周定期更新精选GitHub上优质的Python项目/小工具本期为大家推荐GitHub上5个优质的Python项目<!--more-->它们分别是:
PyHubWeekly每周定期更新精选GitHub上优质的Python项目/小工具本期为大家推荐GitHub上5个优质的Python项目它们分别是
[1. explainshell](https://github.com/idank/explainshell)

106
docs/4-pyhubweekly.md Normal file
View File

@ -0,0 +1,106 @@
## **本期内容**
PyHubWeekly每周定期更新精选GitHub上优质的Python项目/小工具本期为大家推荐GitHub上4个优质的Python项目它们分别是
[1. fastapi](https://github.com/tiangolo/fastapi)
[2. system-design-primer](https://github.com/donnemartin/system-design-primer)
[3. thefuck](https://github.com/nvbn/thefuck)
[4. vulture](https://github.com/jendrikseipp/vulture)
下面分别来介绍一下上述4个GitHub项目。
> 我建了一个QQ学习交流群旨在“分享、讨论、学习、资源分享、就业机会、互联网内推、共同进步感兴趣的可以加一下也可以添加我的QQ~ QQ群164660119QQ号498073774公众号【平凡而诗意】~
## [1. fastapi](https://github.com/tiangolo/fastapi)
**Star**9.2k
在项目开发中,往往会涉及多个模块,在不同模块之间如何进行数据传递和调用是一个成熟系统需要慎重考虑的。
如果是对实时性要求不高的离线系统,有很多选择,例如,最简单的通过数据库建立连接。但是,对于那些对效率要求较高的系统,往往会选择**restful**接口。
目前Python中用于开发api接口的工具比较知名的有flask而本文介绍的fastapi调用更加高效、鲁棒性更强、开发和调试更加便捷而且支持可视化的文档界面可以用于手动调试接口。
![img](https://pic1.zhimg.com/v2-d83f98215760f6a96631293d9c47b8a8_b.png)
## [2. system-design-primer](https://github.com/donnemartin/system-design-primer)
**Star**82.3k
很多互联网、IT行业的从业者都会考虑一个问题有一天年龄大了、该何去何从产品经理项目经理
我个人认为架构师也是一个很不错的选择,一个好的架构能够让开发过程中效率大大提升。我们在开发过程中处处也都在接触架构,往小了说会接触算法核心的架构,往大了会接触整个系统从数据层到前端多个环节的架构。
在开发一些项目之后我愈发的认识到一个优秀的架构师有多么难得要同时兼顾考虑web服务、数据读写、运维安全、网络通讯、缓存机制、负载均衡等。
因此我给自己制定的2020年计划中有一项就是在大型系统的架构方面有更加深入的学习无意之中我看到system-design-primer这个项目如获至宝它从CDN到负载均衡、从反向代理到应用层、从数据库到缓存、从异步到通讯都进行了深入的阐述非常实用且切合实际的项目需求。
![img](https://pic2.zhimg.com/v2-58076678e376c92a16f9dcf1d5b8cebd_b.png)
## [3. thefuck](https://github.com/nvbn/thefuck)
**Star**51.9k
这是一款由Python开发的命令行**纠错**工具。
Linux命令是在开发过程中经常接触的工具当我们输入一长串命令按下enter键之后怎么办
- 重新输入一遍
- 上键+移动到指定位置修改
这显然是比较低效的。thefuck提供了简单高效的解决方案虽然它名称看上去粗俗了一些但是的确好用当输入命令错误之后只需要在命令行下输入f**k即可显示更正后的命令免得再去手动修改。
![img](https://pic3.zhimg.com/v2-fef68d0075236e805eb657180e9bdee2_b.gif)
## [4. vulture](https://github.com/jendrikseipp/vulture)
Star791
vulture是一款无用代码查找、清理工具。
当我们开发一个项目过程中,会不断的对某些部分进行增删、修改,这个过程中会产生很多无用的引用和代码。当这个工程代码量逐渐增多时,我们用人眼挨个去寻找无用代码自然是不现实的。
vulture在Python程序中查找未使用的代码。这对于清理和查找大型代码库中的错误很有用。如果同时在库和测试套件上运行vulture则可以找到未经测试的代码。
例如我们新建一个code.py文件
```
import os
class Greeter:
def greet(self):
print("Hi")
def hello_world():
message = "Hello, world!"
greeter = Greeter()
greet_func = getattr(greeter, "greet")
greet_func()
if __name__ == "__main__":
hello_world()
```
调用vulture
```
> vulture code.py
dead_code.py:1: unused import 'os' (90% confidence)
dead_code.py:4: unused function 'greet' (60% confidence)
dead_code.py:8: unused variable 'message' (60% confidence)
```
这样,就可以输出无用的引用、函数、变量,同时,会给出每一个判断的可信度。
此外vulture还支持设置最小可信度、白名单等功能这对于减少项目的冗余代码非常有用。
## **推荐阅读**
- [Python参数配置库ConfigParser详解](https://mp.weixin.qq.com/s?__biz=MzI0NTM1MzA2Mw==&mid=2247484889&idx=1&sn=533d1b59410f8322a0c033afb861cfe6&chksm=e94e9ad1de3913c759960ad12db322daee45d108ebac658bf374fc3dd40f6f36f2692da23e06&token=1456867850&lang=zh_CN#rd)
- [迫不及待把这款开发神器推荐给大家!](https://mp.weixin.qq.com/s?__biz=MzI0NTM1MzA2Mw==&mid=2247484903&idx=1&sn=59dead902c4acc16c5149e3f838aab2d&chksm=e94e9aefde3913f9dc1bd9e584f4a76543253f0bc74354cc6230f2a49a319636e010d9ebb5db&token=1456867850&lang=zh_CN#rd)
- [抛弃bash拥抱zsh](https://mp.weixin.qq.com/s?__biz=MzI0NTM1MzA2Mw==&mid=2247484911&idx=1&sn=a02cb8db9508494672f86353acf48783&chksm=e94e9ae7de3913f137dda3702c314af3655c974f31ee7df7f79d7bb982f8f8d0f35adb751176&token=1456867850&lang=zh_CN#rd)
- [PyHubWeekly | 第四期:清理无效代码,给你的项目瘦瘦身吧!](https://mp.weixin.qq.com/s?__biz=MzI0NTM1MzA2Mw==&mid=2247484925&idx=1&sn=3cab27e39dfd34bff4aaa9c4b197ec3f&chksm=e94e9af5de3913e3199f96fb7a4304cb865387973b7552ec4ae77f5e4cfb4131badedbd021ff&token=1456867850&lang=zh_CN#rd)
- [实用工具 | 一款丰富强大的Python绘图工具](https://mp.weixin.qq.com/s?__biz=MzI0NTM1MzA2Mw==&mid=2247484941&idx=1&sn=f5723139558043be73491df76a94da08&chksm=e94e9905de3910134d3afe346678d131fa9f01633879f58880c2e2ecfa1d8b66edaf44886ba3&token=1456867850&lang=zh_CN#rd)

116
docs/5-pyhubweekly.md Normal file
View File

@ -0,0 +1,116 @@
## **本期内容**
PyHubWeekly每周定期更新精选GitHub上优质的Python项目/小工具本期为大家推荐GitHub上4个优质的Python项目它们分别是
- **[tushare](https://github.com/waditu/tushare)**
- **[python-cheatsheet](https://github.com/gto76/python-cheatsheet)**
- **[vaex](https://github.com/vaexio/vaex)**
- **[sh](https://github.com/amoffat/sh)**
- **[python-small-examples](https://github.com/jackzhenguo/python-small-examples)**
下面分别来介绍一下上述5个GitHub项目。
> 我建了一个QQ学习交流群旨在“分享、讨论、学习、资源分享、就业机会、互联网内推、共同进步感兴趣的可以加一下也可以添加我的QQ~ QQ群164660119QQ号498073774公众号【平凡而诗意】~
## [1. tushare](https://github.com/waditu/tushare)
### **Star8.8k**
数据作为当前很多应用场景是至关重要的一环,例如,计算机视觉、数据分析,没有数据,后续的开发工作和算法准确性就无从谈起。 我们在kaggle、ImageNet能够找到很多开放的数据资源用于我们的开发和研究工具但是这些数据这些数据更过的是偏重于工业更重要的它们都是**静态数据**,也就是说不能及时的对数据进行更新迭代。 金融是数据分析应用非常多的一个方向,也是和我们生活比较密切相关的一个方向,例如,股票等。 我个人是对金融数据分析非常感兴趣,有时候就在想从哪里可以获取到充足的数据支撑自己的研究?[tushare](https://github.com/waditu/tushare)就提供了很好的解决方案。 tushare是实现对股票/期货等金融数据从数据采集、清洗加工到数据存储过程的工具,满足金融量化分析师和学习数据分析的人在数据获取方面的需求,它的特点是数据覆盖范围广,接口调用简单,响应快速。
来看一个示例,
```
>>> import tushare as ts
>>> ts.get_hist_data('600848')
2020-02-07 20.76 20.93 20.88 20.56 59584.18 0.07 ... 20.738 22.474 23.577 70873.17 58742.91 60007.62
2020-02-06 20.76 20.97 20.81 20.41 67450.28 0.01 ... 21.280 22.873 23.763 70166.75 60894.69 60617.59
2020-02-05 20.04 21.37 20.80 20.04 96036.71 0.83 ... 21.944 23.270 23.950 63541.08 59984.14 61566.66
2020-02-04 19.11 20.78 19.97 19.11 117212.70 -1.26 ... 22.582 23.704 24.114 56576.79 61412.18 59378.58
2020-02-03 21.23 21.23 21.23 21.23 14082.00 -2.36 ... 23.522 24.165 24.303 40371.67 54241.10 55358.40
```
可以看到,通过一些简单的函数即可获取一直股票的最新数据。
tushare除了支持数据采集还支持清洗加工和数据存储。
## [2. python-cheatsheet](https://github.com/gto76/python-cheatsheet)
### **Star10.7k**
[python-cheatsheet](https://github.com/gto76/python-cheatsheet)是一个非常全面的Python手册。
在很多系列化的教程和数据中,我们千篇一律的学习运算法、条件语句、循环语句、面向对象等。但是,对于开发过程中经常会用到的**实用知识点**却很少有系统的阐述。python-cheatsheet就弥补了这项空白它很系统全面的介绍了Python实用知识点它主要包括如下几个部分的内容
- **容器**:列表、字典、集合等。
- **类型**:字符串、数字、日期、格式化等。
- **语法**:装饰器、类等。
- **数据**JSON、pickle等。
- **高级**:多线程、运算法等。
- **模块**NumPy、Logging等。
![img](https://pic2.zhimg.com/v2-7e754066333c6c0e3daf7bf041170569_b.png)
## [3. vaex](https://github.com/vaexio/vaex)
**Star2.8k**
[vaex](https://github.com/vaexio/vaex)是一款类似于Pandas的的表格数据集处理和可视化工具但是它在**大量数据**方面拥有Pandas所不具备的优势**快速**。
vaex使用内存映射、零内存复制的策略可以实现每秒在超过**十亿**个对象的N维网格数据计算平均值、和、计数、标准差等。此外还可以使用柱状图、密度图、三维图进行可视化。
因此,它相对于其他数据处理工具具有如下几点优势,
- 性能表现优秀
- 高效的内存处理
- 可视化
- 用户友好
- 支持jupyter
- 轻量化
## [4. sh](https://github.com/amoffat/sh)
### **Star5.2k**
多进程是我们在开发过程中经常会接触到的场景,每当希望提升项目运行效率时,多进程就是其中备选项之一。
在Python开发中当提到多进程是都会涉及到**subprocess**它是Python内置的模块因此使用频率非常高。
今天介绍的[sh](https://github.com/amoffat/sh)是Python 2.6-3.6中subprocess非常值得尝试的替代者。
**它能够让你向调用Python函数一样去调用系统命令和程序。**
```
>>> from sh import ifconfig
>>> print(ifconfig("wlan0"))
wlan0 Link encap:Ethernet HWaddr 00:00:00:00:00:00
inet addr:192.168.1.100 Bcast:192.168.1.255 Mask:255.255.255.0
inet6 addr: ffff::ffff:ffff:ffff:fff/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0 GB) TX bytes:0 (0 GB)
```
但是需要指出当前sh仅支持**Linux**和**osx**不支持Windows。
## [5. python-small-examples](https://github.com/jackzhenguo/python-small-examples)
### **Star1.8k**
[python-small-examples](https://github.com/jackzhenguo/python-small-examples)是一个可以在**闲暇之余**抽空看看的Python学习项目。
python-small-examples收集了Python开发过程中遇到的坑点、小样例其中包括Python字符串和正则、Python绘图、Python日期和文件、Web开发、数据科学、机器学习、深度学习、TensorFlow、Pytorch等。
对于这个项目没必要花费太多时间系统的去学习可以利用空闲时间看一下它里面总结了开发过程中经常用到的操作当我们看到这些示例时会从中学习到很多教材上无法学到的妙用或者Python中“不为人知”的冷门知识。
![img](https://pic4.zhimg.com/v2-60adb891a9efd5f9918c53b012bf9b17_b.png)
## **推荐阅读**
- [Python参数配置库ConfigParser详解](https://mp.weixin.qq.com/s?__biz=MzI0NTM1MzA2Mw==&mid=2247484889&idx=1&sn=533d1b59410f8322a0c033afb861cfe6&chksm=e94e9ad1de3913c759960ad12db322daee45d108ebac658bf374fc3dd40f6f36f2692da23e06&token=1456867850&lang=zh_CN#rd)
- [迫不及待把这款开发神器推荐给大家!](https://mp.weixin.qq.com/s?__biz=MzI0NTM1MzA2Mw==&mid=2247484903&idx=1&sn=59dead902c4acc16c5149e3f838aab2d&chksm=e94e9aefde3913f9dc1bd9e584f4a76543253f0bc74354cc6230f2a49a319636e010d9ebb5db&token=1456867850&lang=zh_CN#rd)
- [抛弃bash拥抱zsh](https://mp.weixin.qq.com/s?__biz=MzI0NTM1MzA2Mw==&mid=2247484911&idx=1&sn=a02cb8db9508494672f86353acf48783&chksm=e94e9ae7de3913f137dda3702c314af3655c974f31ee7df7f79d7bb982f8f8d0f35adb751176&token=1456867850&lang=zh_CN#rd)
- [PyHubWeekly | 第四期:清理无效代码,给你的项目瘦瘦身吧!](https://mp.weixin.qq.com/s?__biz=MzI0NTM1MzA2Mw==&mid=2247484925&idx=1&sn=3cab27e39dfd34bff4aaa9c4b197ec3f&chksm=e94e9af5de3913e3199f96fb7a4304cb865387973b7552ec4ae77f5e4cfb4131badedbd021ff&token=1456867850&lang=zh_CN#rd)
- [实用工具 | 一款丰富强大的Python绘图工具](https://mp.weixin.qq.com/s?__biz=MzI0NTM1MzA2Mw==&mid=2247484941&idx=1&sn=f5723139558043be73491df76a94da08&chksm=e94e9905de3910134d3afe346678d131fa9f01633879f58880c2e2ecfa1d8b66edaf44886ba3&token=1456867850&lang=zh_CN#rd)