PyHubWeekly | 第十九期:谁偷看了你的电脑?

本文涉及的产品
NLP自然语言处理_基础版,每接口每天50万次
NLP自然语言处理_高级版,每接口累计50万次
日志服务 SLS,月写入数据量 50GB 1个月
简介: 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可以把代码程序执行流程生成可视化图像,这样不仅可以有助于调试代码,还可以帮助可视化算法流程,有助于算法的学习。


35.gif


安装使用

可以直接使用pip命令安装,

pip install vardbg


也可以通过源码安装,

git clone https://github.com/CCExtractor/vardbg
cd vardbg
python3 -m venv venv
source venv/bin/activate
pip 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


下载数据,

import yfinance as yf
data = yf.download("SPY AAPL", start="2017-01-01", end="2017-04-30")
data = yf.download(  # or pdr.get_data_yahoo(...
        # tickers list or string as well
        tickers = "SPY AAPL MSFT",
        # use "period" instead of start/end
        # valid periods: 1d,5d,1mo,3mo,6mo,1y,2y,5y,10y,ytd,max
        # (optional, default is '1mo')
        period = "ytd",
        # fetch data by interval (including intraday if period < 60 days)
        # valid intervals: 1m,2m,5m,15m,30m,60m,90m,1h,1d,5d,1wk,1mo,3mo
        # (optional, default is '1d')
        interval = "1m",
        # group by ticker (to access via data['SPY'])
        # (optional, default is 'column')
        group_by = 'ticker',
        # adjust all OHLC automatically
        # (optional, default is False)
        auto_adjust = True,
        # download pre/post regular market hours data
        # (optional, default is False)
        prepost = True,
        # use threads for mass downloading? (True/False/Integer)
        # (optional, default is True)
        threads = True,
        # proxy URL scheme use use when downloading?
        # (optional, default is None)
        proxy = None
    )

                        Keylogger

Star:802


Keylogger[4]是一款用于记录敲击键盘记录,同时生成一份日志文件的工具。

通过这款工具,你可以应用于很多场景的监控之中,例如,


监控员工工作

记录禁用的字符

保护个人隐私,确保自己不在时没有人使用你的计算机

自我分析


Keylogger是一款跨平台的开源免费工具,它同时支持如下操作系统,

WindowsmacOSLinux


numerizer

Star:73

numerizer[5]是一款将自然语言中数字转化成int或者float型数字的Python小工具。

在文本分析或者网页爬虫时,无法避免的会遇到很多数字处理的问题,例如,forty twoone million two hundred and fifty thousand and seven。想要把这些语言表述转化为数据,往往需要写一个工具类,建立自然语言与数值之间的对应关系,


同时还要处理自然语言的逻辑,这样显然会复杂很多。

numerizer是一款一行命令就可以实现自然语言数字到int和float的转化。


安装使用

可以通过pip命令安装,

pip install numerizer

也可以通过github源码安装,


git clone https://github.com/jaidevd/numerizer.git
cd numerizer
pip install -e .

可以通过以下简单示例,了解numerizer的使用,

>>> 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,

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.
相关文章
|
25天前
|
Unix Linux 网络安全
这份MobaXterm使用指南,低调收藏!
这份MobaXterm使用指南,低调收藏!
|
编解码 自然语言处理 安全
电脑小白必备的五款软件,让你的电脑变身神器
你想让你的电脑更好用吗?这里有五款电脑软件可以帮你,它们可以让你的电脑更高效、美观、安全,快来看看吧!
139 1
电脑小白必备的五款软件,让你的电脑变身神器
|
开发者 Windows
笔记软件OneNote起死回生?居然还能这么用。
笔记软件OneNote起死回生?居然还能这么用。
|
BI 数据处理
财务报表软件推荐
财务报表软件推荐
|
SQL JavaScript Java
搭建情人节表白网站(超详细过程,包教包会)
网站的搭建其实在七夕的时候就已经弄好了,只是当时不会搭建,然后就放了好几个月,偶然发现情人节快到了,遂重新搭建了这个网站,不过说实话除了网站还真想不出有啥能够体现程序员的特长,你说各种代码,c,c++,java即时给你做出不错的GUI界面,人家还不一定会打开,网站最容易了,有手(机)就行,下面是它的效果展示视频,觉得好的记得三连哦
369 0
搭建情人节表白网站(超详细过程,包教包会)
|
开发工具 git
如何使用TortoiseGit指北,一篇讲清(下)
如何使用TortoiseGit指北,一篇讲清(下)
如何使用TortoiseGit指北,一篇讲清(下)
|
数据可视化 开发工具 git
Win系统 - 一键秒关所有程序,霸气侧漏!
Win系统 - 一键秒关所有程序,霸气侧漏!
292 0
Win系统 - 一键秒关所有程序,霸气侧漏!
|
Web App开发 编解码 IDE
这么香的Chrome插件,你都安装了吗?
工欲善其事必先利其器,今天长话短说,介绍13个敏捷、高效的Chrome插件 根据使用方式,本人将其划分为三大类: 开发者工具 日常效率工具类 浏览器管理类
这么香的Chrome插件,你都安装了吗?
|
程序员 Linux 开发工具
介绍一头GitHub上的"草泥马" - thefuck,妈妈再也不用担心我打错命令行了
介绍一头GitHub上的"草泥马" - thefuck,妈妈再也不用担心我打错命令行了
579 0
介绍一头GitHub上的"草泥马" - thefuck,妈妈再也不用担心我打错命令行了