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

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
NLP自然语言处理_高级版,每接口累计50万次
NLP 自学习平台,3个模型定制额度 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.
相关文章
|
安全 数据处理 C++
GNU Radio之OFDM Carrier Allocator底层C++实现
GNU Radio之OFDM Carrier Allocator底层C++实现
253 1
GNU Radio之OFDM Carrier Allocator底层C++实现
|
2月前
|
编解码 算法 测试技术
MiniCPM-V4.0开源,多模态能力进化,手机可用,还有最全CookBook!
今天,面壁小钢炮新一代多模态模型 MiniCPM-V 4.0 正式开源。依靠 4B 参数,取得 在 OpenCompass、OCRBench、MathVista 等多个榜单上取得了同级 SOTA 成绩,且 实现了在手机上稳定、丝滑运行。此外,官方也正式开源了 推理部署工具 MiniCPM-V CookBook,帮助开发者面向不同需求、不同场景、不同设备,均可实现开箱即用的轻量、简易部署。
311 0
|
11月前
|
数据采集 自然语言处理 开发工具
通义灵码在 PyCharm 中的强大助力(下)
通义灵码在PyCharm中的优势包括提高开发效率、提升代码质量和易用性,并且能够不断学习和改进。然而,它也存在依赖网络、准确性有待提高和局限性等问题。未来,通义灵码有望支持更多编程语言,提高准确性和可靠性,与其他工具集成,并提升智能化程度。总体而言,通义灵码为Python开发者带来了显著的便利和潜力。
通义灵码在 PyCharm 中的强大助力(下)
|
3月前
|
Web App开发 人工智能 数据可视化
猫头虎 推荐:国产开源AI工具 爱派(AiPy)|支持本地部署、自动化操作本地文件的AI办公神器
爱派(AiPy)是一款国产开源AI工具,支持本地部署与自动化操作,助力数据处理与办公效率提升。基于Python Use理念,AiPy让AI直接控制本地文件,简化繁琐任务,提供高效智能的解决方案,适用于数据工程师、分析师及日常办公用户。
1142 0
|
7月前
|
机器学习/深度学习 人工智能 搜索推荐
Second Me:硅基生命或成现实?如何用AI克隆自己,打造你的AI数字身份!
Second Me 是一个开源AI身份系统,允许用户创建完全私有的个性化AI代理,代表用户的真实自我,支持本地训练和部署,保护用户隐私和数据安全。
878 8
Second Me:硅基生命或成现实?如何用AI克隆自己,打造你的AI数字身份!
|
12月前
|
自然语言处理 测试技术 开发者
通义灵码全面评测:以PyCharm为例,展示智能编码助手的强大功能
《通义灵码全面评测:以PyCharm为例,展示智能编码助手的强大功能》
|
11月前
|
数据采集 自然语言处理 数据处理
通义灵码在 PyCharm 中的强大助力(上)
本文介绍了阿里云通义灵码与PyCharm结合的强大功能,涵盖安装配置、快速生成代码、优化代码结构等方面,通过实际案例展示了其在Python项目开发中的应用,显著提升开发效率和代码质量。
1366 12
通义灵码在 PyCharm 中的强大助力(上)
|
10月前
|
IDE iOS开发 Python
小白如何开始使用通义灵码(含安装IDE、安装灵码插件)
PyCharm 和 IntelliJ IDEA 下载安装及通义灵码插件下载安装说明
8468 9
|
Java Spring 安全
Spring 框架邂逅 OAuth2:解锁现代应用安全认证的秘密武器,你准备好迎接变革了吗?
【8月更文挑战第31天】现代化应用的安全性至关重要,OAuth2 作为实现认证和授权的标准协议之一,被广泛采用。Spring 框架通过 Spring Security 提供了强大的 OAuth2 支持,简化了集成过程。本文将通过问答形式详细介绍如何在 Spring 应用中集成 OAuth2,包括 OAuth2 的基本概念、集成步骤及资源服务器保护方法。首先,需要在项目中添加 `spring-security-oauth2-client` 和 `spring-security-oauth2-resource-server` 依赖。
196 0
GitHub 上的超级 Python 游戏项目,不容错过!
今天分享一个超级牛的 GitHub 项目,是一个专门的基于 Pygame 开发小游戏的项目。该项目就开源在 G 站上,目前已经获得了 2.6K 的 Star 和 1.5K 的 Fork,可以说是超级牛掰了!
GitHub 上的超级 Python 游戏项目,不容错过!