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

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
NLP自然语言处理_高级版,每接口累计50万次
NLP自然语言处理_基础版,每接口每天50万次
简介: 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.
相关文章
|
存储 缓存 数据可视化
SourceTree使用教程图文详解
Git分布式版本控制系统是我们日常开发中不可或缺的一部分,能够大大提高我们协同工作的效率。前面的一篇文章如何玩转Git介绍过Git的相关知识。在工作中往往我们需要使用Git的可视化管理工具进行版本控制。目前市面上比较流行的Git可视化管理工具有SourceTree、Github Desktop、TortoiseGit等等,我们公司主要使用的是SourceTree。该篇文章主要结合日常开发工作的对于sourctree的一些常用操作进行讲解和总结,帮助没有使用过的同学进行快速入门,希望能对大家有所帮助!
1703 0
SourceTree使用教程图文详解
|
Rust 程序员 数据安全/隐私保护
GitHub 上标星 13.4K 的远程软件!太强大了
GitHub 上标星 13.4K 的远程软件!太强大了
2992 0
GitHub 上标星 13.4K 的远程软件!太强大了
|
4月前
|
网络协议 Unix Linux
网安人必须人手一份的《Linux私房教程》,GitHub星标286K!
Linux是一套免费使用和自由传播的操作系统内核,是一个基于POSIX和Unix的多用户、多任务支持多线程和多CPU的操作系统内核。它能运行主要的Unix工具软件、应用程序和网络协议。它支持32位和64位硬件。Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统内核。 作为网络安全的初学者,Linux基础知识和常用命令是我们的必备技能,我们不能只会操作Windows相关的工具。一方面很多网站都是基于Linux环境搭建,比如LAMP,其安全性更好;另一方面,很多命令或工具都集成在了Linux相关环境中,比如Kali等。 今天给小伙伴们分享一份Linux私房教程,这份
|
3月前
|
Unix Linux 网络安全
这份MobaXterm使用指南,低调收藏!
这份MobaXterm使用指南,低调收藏!
191 0
|
5月前
|
前端开发 Linux API
【推荐100个unity插件之8】实现多人在线联机游戏——Mirror插件的使用介绍(附项目源码)
【推荐100个unity插件之8】实现多人在线联机游戏——Mirror插件的使用介绍(附项目源码)
794 0
|
Shell 网络安全 开发工具
SourceTree安装(小白特别详细教程)
SourceTree安装(小白特别详细教程)
360 0
|
数据安全/隐私保护
CleanMyMac4.12.3和谐中文版如何汉化操作教程
CleanMyMac X中文版是Mac平台上的一款非常著名同时非常好用的Mac清理工具。全方位扫描您的Mac系统,让垃圾无处藏身,您只需要轻松单击2次鼠标左键即可清理数G的垃圾,就这么简单。瞬间提升您Mac速度。 直入主题第一步 寻找关键点
257 0
|
数据可视化 程序员 开发工具
git命令记不住?可视化git操作平台Sourcetree入门教程
git命令记不住?可视化git操作平台Sourcetree入门教程
188 1
git命令记不住?可视化git操作平台Sourcetree入门教程
|
iOS开发 MacOS Windows
Xmind2023电脑版永久免费的思维导图软件
等待许久的Xmind 2023成功激活,全新的思维导图软件,它具有新主题,其中一些具有更柔和的色调,以提供更现代的外观。它的独特功能是“禅宗模式”,它将自动隐藏额外的面板,使您可以专注于自己的想法并添加到文档中,而不会分心。XMind2023这款软件能够为用户提供非常先进的产品功能和体验,使用过后你会惊奇的发现,你的各项工作效率都在大大提高,这样会帮助你节省大量的时间,方便提升自己工作上的便利,就我个人而言,使用几天后还是非常方便的,效率提升很大。
1246 0
|
程序员 Linux 开发工具
介绍一头GitHub上的"草泥马" - thefuck,妈妈再也不用担心我打错命令行了
介绍一头GitHub上的"草泥马" - thefuck,妈妈再也不用担心我打错命令行了
610 0
介绍一头GitHub上的"草泥马" - thefuck,妈妈再也不用担心我打错命令行了
下一篇
无影云桌面