英伟达又向开源迈了一步「GitHub 热点速览」

大家是否还记得 2012 年,Linux 之父 Linus Torvalds 在一次活动中“愤怒”地表达了对英伟达闭源 Linux GPU 驱动的不满?这个场景曾是热门表情包,程序员人手一个。

Linux 开发者们苦此久已,十年后(2022),英伟达终于向开源迈出了第一步,开源了 Linux GPU 内核驱动(R515),尽管这未必与 Linus 的批评直接相关,但却标志着英伟达对于开源的转变。如今两年过去了,英伟达再次向开源迈出重要一步,宣布“全面转向开源 GPU 内核模块”,将在即将发布的 R560 驱动版本中采用开源内核取代闭源驱动,这一行为“利好”开发者:
- 性能优化:开源驱动允许开发者直接优化和调整 GPU 性能,提升游戏的运行效率和图形表现
- 更好支持新技术:更快地支持最新的图形 API 和硬件特性,使游戏开发者能充分利用最新的图形技术。
- 增强兼容性:更容易与各种 Linux 发行版和内核版本兼容,减少开发者在不同环境中适配驱动的负担。
不过,对于普通 Linux 使用来说,要在 Linux 上玩 3A 游戏巨作,还为时尚早...
说回本周的开源热搜项目,写爬虫最怕被“认”出来,这款更像人类行为的爬虫框架 Crawlee 即使默认配置下也不会轻易被识别。谁说 Linux 上没有“时尚”的软件?Foliate 让你在 Linux 上优雅地阅读电子书。Meta 新开源的 CV 和 AR 应用开发 C++ 框架 Ocean,它独立于平台支持在各种系统上开发 AR 应用。
最后,更容易上手的终端复用器 Zellij 和更简单的 Go WebSocket 库,更是不容错过。
- 本文目录
- 1. 开源热搜项目
- 1.1 更像人类行为的爬虫框架:Crawlee
- 1.2 好用的 Linux 电子阅读器:Foliate
- 1.3 全新的 Rust 时间处理库:jiff
- 1.4 英伟达更新 Linux GPU 内核驱动:open-gpu-kernel-modules
- 1.5 Meta 开源的 CV 和 AR 应用开发框架:Ocean
- 2. HelloGitHub 热评
- 2.1 简单、快速的 Go WebSocket 库:gws
- 2.2 更容易上手的终端复用器:Zellij
- 3. 结尾
- 1. 开源热搜项目
1. 开源热搜项目
1.1 更像人类行为的爬虫框架:Crawlee

主语言:Python,Star:3.1k,周增长:2.5k
这是一个网页抓取和浏览器自动化库,特点是用它写的爬虫也不容易被识别出来(封/ban)。它提供了强大的代理池功能,可以根据实际流量自动切换和移除失效的 IP,支持无头浏览器、模拟浏览器和 TLS 指纹等爬取行为,以及 JavaScript 渲染、屏幕截图和 Puppeteer 等浏览器自动化功能。
最初开源的 crawlee NPM 包 Star 早已破万,新开源的 Python 库更是一周突破了 3k Star。
import asyncio
from crawlee.beautifulsoup_crawler import BeautifulSoupCrawler, BeautifulSoupCrawlingContext
async def main() -> None:
crawler = BeautifulSoupCrawler(
max_requests_per_crawl=10,
)
@crawler.router.default_handler
async def request_handler(context: BeautifulSoupCrawlingContext) -> None:
context.log.info(f'Processing {context.request.url} ...')
await context.enqueue_links()
await crawler.run(['hellogithub.com'])
if __name__ == '__main__':
asyncio.run(main())
Python→github.com/apify/crawlee-python
JavaScript→github.com/apify/crawlee
1.2 好用的 Linux 电子阅读器:Foliate

主语言:JavaScript,Star:5.6k,周增长:300
这是一款免费、开源、适用于 Linux 的电子书阅读工具,它提供了简洁的界面和极佳的阅读体验,使用起来很像 Kindle 阅读器,支持划词翻译、添加书签和注释和进度滑块,以及调整字体、间距、边距和配色等功能,支持 EPUB、Kindle 和 PDF 等多种格式的文件。
GitHub 地址→github.com/johnfactotum/foliate
1.3 全新的 Rust 时间处理库:jiff

主语言:Rust,Star:445,周增长:400
这是一个处理时间和日期的 Rust 库,特别适合处理令人头疼的时区和夏令时的场景。它提供了简单易用的 API 和强大的时区支持,支持自动处理时区转换、夏令时调整和无损地格式化和解析日期时间。该项目是知名的正则表达式工具 rg(ripgrep)作者的又一新作,目前还处于开发阶段,生产环境慎用。
use jiff::{Timestamp, ToSpan};
fn main() -> Result<(), jiff::Error> {
let time: Timestamp = "2024-07-11T01:14:00Z".parse()?;
let zoned = time.intz("America/New_York")?.checked_add(1.month().hours(2))?;
assert_eq!(zoned.to_string(), "2024-08-10T23:14:00-04:00[America/New_York]");
// Or, if you want an RFC3339 formatted string:
assert_eq!(zoned.timestamp().to_string(), "2024-08-11T03:14:00Z");
Ok(())
}
GitHub 地址→github.com/BurntSushi/jiff
1.4 英伟达更新 Linux GPU 内核驱动:open-gpu-kernel-modules

主语言:C,Star:14.6k,周增长:400
该项目是英伟达(Nvidia)开源的 Linux GPU 内核驱动,本次更新标志着英伟达又向开源迈出了重要一步,宣布全面拥抱开源,后续 GPU 驱动将采用开源内核(之前是闭源),本次更新提供了更可靠、功能齐全的 GeForce 和工作站 Linux GPU 支持,并新增了异构内存管理(HMM)、机密计算和 Grace 平台的连贯内存架构等功能。
1.5 Meta 开源的 CV 和 AR 应用开发框架:Ocean

主语言:C++,Star:439,周增长:400
该项目是 Meta(原 Facebook)开源的一个用于开发计算机视觉(CV)和增强现实(VR)应用的 C++ 框架,它是一个独立于平台的开发框架,支持开发 iOS、Android、Quest、macOS、Windows 和 Linux 平台上的应用。
#include "ocean/base/Frame.h"
using namespace Ocean;
FrameType frameType(1280u, 720u, FrameType::FORMAT_RGB24, FrameType::ORIGIN_UPPER_LEFT);
Frame frameOwningTheMemory(frameType);
GitHub 地址→github.com/facebookresearch/ocean
2. HelloGitHub 热评
在这个章节,将会分享下本周 HelloGitHub 网站上的热门开源项目,欢迎与我们分享你上手这些开源项目后的使用体验。
2.1 简单、快速的 Go WebSocket 库:gws

主语言:Go
该项目是用 Go 编写的 WebSocket 库,它提供了简洁明了的 API,具备高吞吐、低延迟、低内存占用、稳定可靠的特点,可用于高并发场景,支持上下文接管、自定义窗口大小和广播等功能。
项目详情→hellogithub.com/repository/268cee8eb54b4a7189d38fb12f165177
2.2 更容易上手的终端复用器:Zellij

主语言:Rust
该项目是一个 Rust 写的终端多路复用器,支持单窗口多标签、分割窗口和自动恢复连接等功能。它提供了开箱即用的默认配置,同时拥有强大的插件系统,从而深受初学者和高级用户的喜爱。
项目详情→hellogithub.com/repository/b3adbf4f52f94d578f1c48aafb742f05
3. 结尾
以上就是本期「GitHub 热点速览」的全部内容,希望你能够在这里找到自己感兴趣的开源项目,如果你有其他好玩、有趣的 GitHub 开源项目想要分享,欢迎来 HelloGitHub 与我们交流和讨论。
往期回顾
英伟达又向开源迈了一步「GitHub 热点速览」的更多相关文章
- 朋友圈那串神秘字符背后的开源项目「GitHub 热点速览」
如果你这周没刷到类似 "npub1sg6plzptd64u62a878hep2kev88swjh3tw00gjsfl8f237..." 的一串字符,那就说明本期 GitHub T ...
- 开源不到 48 小时获 35k star 的推荐算法「GitHub 热点速览」
本周的热点除了 GPT 各类衍生品之外,还多了一个被马斯克预告过.在愚人节开源出来的推特推荐算法,开源不到 2 天就有了 35k+ 的 star,有意思的是,除了推荐算法本身之外,阅读源码的工程师们甚 ...
- 揭开周获 18k star 开源项目的神秘面纱「GitHub 热点速览 v.22.28」
本周 GitHub Trending 的项目重量十足,比如标题的一周获得 18k+ 的高性能 JS Runtime--bun,用性能来体现了它的"含金量".同样有重量的还有一行代码 ...
- GitHub 开源了多款字体「GitHub 热点速览 v.22.48」
本期 News 快读有 GitHub 官方大动作一下子开源了两款字体,同样大动作的还有 OpenAI 发布的对话模型 ChatGPT,引燃了一波人机对话. 项目这块,也许会成为新的 Web 开发生产力 ...
- GitHub 开源的小工具「GitHub 热点速览 v.21.45」
作者:HelloGitHub-小鱼干 Copilot 是 GitHub 官方出品的代码自动补全工具,之前使用该工具需要有一定的要求.而本周靠 2k+ star 上热点的 copilot-docs 则是 ...
- 万星开源项目强势回归「GitHub 热点速览 v.22.38」
本周霸榜的 GitHub 项目多为老项目,比如:老面孔的 theatre 凭借极其优秀的动画功底连续三天霸榜 TypeScript 类目.借 Figma 被 Adobe 收购之风,又出现在 GitHu ...
- NB 的开源项目遍地开花——GitHub 热点速览 Vol.41
作者:HelloGitHub-小鱼干 本周的 GitHub 热点速览的关键词便是 nb,也是本周特推之一的项目名字,这个功能如名字一般 nb 的项目是一个脚本,帮你处理笔记.书签.归档和知识库应用程序 ...
- 在?开源社区版的 AirTag 请收下——GitHub 热点速览 v.21.21
作者:HelloGitHub-小鱼干 在比特币跌到怀疑人生的时候,看着"出血不止"的荷包,是时候来"薅"一波羊毛了.openhaystack 能让你免去购买 A ...
- GitHub 热点速览 Vol.34:亚马逊、微软开源项目带你学硬核技术
作者:HelloGitHub-小鱼干 摘要:站在巨人的肩膀上才能看得更远,本周上榜的 computervision-recipes 便是典型代表,这个由微软开源的计算机视觉最佳实践项目,多次上 Git ...
- 国产的开源数据库——GitHub 热点速览 Vol.52
作者:HelloGitHub-小鱼干 本以为本周的 GitHub 和十二月一样平平无奇就那么度过了,结果 BackgroundMattingV2 重新刷新了本人的认知,还能这种骚操作在线实时抠视频去背 ...
随机推荐
- Android 13 - Media框架(3)- MediaPlayer生命周期
关注公众号免费阅读全文,进入音视频开发技术分享群! 上一节了解了MediaPlayer api的使用,这一节就我们将会了解MediaPlayer的生命周期与api使用细节. 1.MediaPlayer ...
- 使用node压缩js
先下载并安装Node 安装完成后打开cmd运行:node -v 运行:npm -v 确定node安装成功,然后安装uglifyjs,打开cmd输入下面命令: npm install uglify-js ...
- kettle从入门到精通 第四十四课 kettle 去重
1.我们平常在写应用程序的时候,会有去重的业务场景,可以在数据库层面解决,也可以在内存层面解决. 同样kettle也有去重的步骤[唯一行(哈希值)]和[去除重复记录] 唯一行(哈希值):使用 Hash ...
- kettle从入门到精通 第三十三课 再谈 kettle 表输出 分区/分片
1.之前第九章有讲过kettle 表输出步骤,里面有简单的提到过表输出步骤里面的表分区设置,这里详细介绍下. 表分区数据:选择此选项可根据"分区"字段中指定的日期字段的值将数据拆分 ...
- PMP 变更专题
在浏览器Console中输入下列对应命令 document.getElementsByTagName('video')[0].requestPictureInPicture()--进入画中画 docu ...
- Jenkins发布服务报错Fatal error: put encountered an exception while uploading磁盘空间不足处理 No space left on device
Jenkins发布服务报错Fatal error: put encountered an exception while uploading磁盘空间不足处理 No space left on devi ...
- java elasticsearch-rest-high-level-client 根据歌名搜索,创建索引,根据索引ID搜索
1.pom 导入jar <dependency> <groupId>org.elasticsearch.client</groupId> <artifactI ...
- 结构型模式(Structural Pattern)
模式介绍 结构型模式(Structural Pattern)的主要目的就是将不同的类和对象组合在一起,形成更大或者更复杂的结构体.该模式并不是简单地将这些类或对象摆放在一起,而是要提供它们之间的关联方 ...
- 15-容器简介与Docker安装
传统企业应用构建 应用被直接部署在操作系统之上,并且操作系统直接安装于硬件之上应用被操作系统绑定 操作系统被硬件绑定 缺点 部署非常慢(启动应用的速度非常慢) 成本非常高(原有服务器的操作系统不支持这 ...
- 英特尔 Gaudi 加速辅助生成
随着模型规模的增长,生成式人工智能的实现需要大量的推理资源.这不仅增加了每次生成的成本,而且还增加了用于满足此类请求的功耗.因此,文本生成的推理优化对于降低延迟.基础设施成本以及功耗都至关重要,其可以 ...