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

e8131865035551aee2785f6c373fee97.png

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

9e2540a82c296cf5b5a019e8f23d7fa1.png

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 库,更是不容错过。

1421b29056ec7e242592b85a6ea2ecc8.png

1. 开源热搜项目

1.1 更像人类行为的爬虫框架:Crawlee

41ecbea26380e3398357866b52ed2546.png

主语言:PythonStar:3.1k周增长:2.5k

这是一个网页抓取和浏览器自动化库,特点是用它写的爬虫也不容易被识别出来(封/ban)。它提供了强大的代理池功能,可以根据实际流量自动切换和移除失效的 IP,支持无头浏览器、模拟浏览器和 TLS 指纹等爬取行为,以及 JavaScript 渲染、屏幕截图和 Puppeteer 等浏览器自动化功能。

最初开源的 crawlee NPM 包 Star 早已破万,新开源的 Python 库更是一周突破了 3k Star。

  1. import asyncio
  2. from crawlee.beautifulsoup_crawler import BeautifulSoupCrawler, BeautifulSoupCrawlingContext
  3. async def main() -> None:
  4.     crawler = BeautifulSoupCrawler(
  5.         max_requests_per_crawl=10,
  6.     )
  7.     @crawler.router.default_handler
  8.     async def request_handler(context: BeautifulSoupCrawlingContext) -> None:
  9.         context.log.info(f'Processing {context.request.url} ...')
  10.         await context.enqueue_links()
  11.     await crawler.run(['hellogithub.com'])
  12. if __name__ == '__main__':
  13.     asyncio.run(main())

Python→github.com/apify/crawlee-python

JavaScript→github.com/apify/crawlee

1.2 好用的 Linux 电子阅读器:Foliate

4943cb4b8691802462b2c65698f3eb22.png

主语言:JavaScriptStar:5.6k周增长:300

这是一款免费、开源、适用于 Linux 的电子书阅读工具,它提供了简洁的界面和极佳的阅读体验,使用起来很像 Kindle 阅读器,支持划词翻译、添加书签和注释和进度滑块,以及调整字体、间距、边距和配色等功能,支持 EPUB、Kindle 和 PDF 等多种格式的文件。

GitHub 地址→github.com/johnfactotum/foliate

1.3 全新的 Rust 时间处理库:jiff

4ea8f3a764f80f0f9d6151c62061da06.png

主语言:RustStar:445周增长:400

这是一个处理时间和日期的 Rust 库,特别适合处理令人头疼的时区和夏令时的场景。它提供了简单易用的 API 和强大的时区支持,支持自动处理时区转换、夏令时调整和无损地格式化和解析日期时间。该项目是知名的正则表达式工具 rg(ripgrep)作者的又一新作,目前还处于开发阶段,生产环境慎用。

  1. use jiff::{Timestamp, ToSpan};
  2. fn main() -> Result<(), jiff::Error> {
  3.     let time: Timestamp = "2024-07-11T01:14:00Z".parse()?;
  4.     let zoned = time.intz("America/New_York")?.checked_add(1.month().hours(2))?;
  5.     assert_eq!(zoned.to_string(), "2024-08-10T23:14:00-04:00[America/New_York]");
  6.     // Or, if you want an RFC3339 formatted string:
  7.     assert_eq!(zoned.timestamp().to_string(), "2024-08-11T03:14:00Z");
  8.     Ok(())
  9. }

GitHub 地址→github.com/BurntSushi/jiff

1.4 英伟达更新 Linux GPU 内核驱动:open-gpu-kernel-modules

6c6a5f29fab29c112230f6cb7cc203d1.png

主语言:CStar:14.6k周增长:400

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

GitHub 地址→github.com/NVIDIA/open-gpu-kernel-modules

1.5 Meta 开源的 CV 和 AR 应用开发框架:Ocean

59c6a03703c44f1fd73ba0d523e7aafd.jpeg

主语言:C++Star:439周增长:400

该项目是 Meta(原 Facebook)开源的一个用于开发计算机视觉(CV)和增强现实(VR)应用的 C++ 框架,它是一个独立于平台的开发框架,支持开发 iOS、Android、Quest、macOS、Windows 和 Linux 平台上的应用。

  1. #include "ocean/base/Frame.h"
  2. using namespace Ocean;
  3. FrameType frameType(1280u, 720u, FrameType::FORMAT_RGB24, FrameType::ORIGIN_UPPER_LEFT);
  4. Frame frameOwningTheMemory(frameType);

GitHub 地址→github.com/facebookresearch/ocean

2. HelloGitHub 热评

在这个章节,将会分享下本周 HelloGitHub 网站上的热门开源项目,欢迎与我们分享你上手这些开源项目后的使用体验。

2.1 简单、快速的 Go WebSocket 库:gws

bb4786d3b7751df731c0ea3cdb9f6483.png

主语言:Go

该项目是用 Go 编写的 WebSocket 库,它提供了简洁明了的 API,具备高吞吐、低延迟、低内存占用、稳定可靠的特点,可用于高并发场景,支持上下文接管、自定义窗口大小和广播等功能。

项目详情→hellogithub.com/repository/268cee8eb54b4a7189d38fb12f165177

2.2 更容易上手的终端复用器:Zellij

68878d09e8558c925175fa067aa65dc3.gif

主语言:Rust

该项目是一个 Rust 写的终端多路复用器,支持单窗口多标签、分割窗口和自动恢复连接等功能。它提供了开箱即用的默认配置,同时拥有强大的插件系统,从而深受初学者和高级用户的喜爱。

项目详情→hellogithub.com/repository/b3adbf4f52f94d578f1c48aafb742f05

3. 结尾

以上就是本期「GitHub 热点速览」的全部内容,希望你能够在这里找到自己感兴趣的开源项目,如果你有其他好玩、有趣的 GitHub 开源项目想要分享,欢迎来 HelloGitHub 与我们交流和讨论。

往期回顾

- END -

👆 关注「HelloGitHub」第一时间收到更新👆

点击阅读原文访问开源社区

### NVIDIA TX2 示例系统文件下载 对于希望获取NVIDIA Jetson TX2示例系统文件的开发者来说,通常这些资源可以通过官方渠道获得。安装JetPack开发工具包不仅提供了必要的驱动程序和支持库,还包括一系列用于测试和学习目的的示例项目[^3]。 #### 官方途径获取示例文件 最推荐的方式是从[NVIDIA官方网站](https://developer.nvidia.com/embedded/jetpack)下载最新的JetPack版本。JetPack包含了预编译的操作系统映像以及各种开发所需的组件,如CUDA Toolkit、cuDNN等。随着每次更新,NVIDIA都会提供新的样例应用程序来展示如何利用硬件加功能。 一旦完成JetPack的部署,在`/usr/src/jetson-samples`目录下可以找到多个针对图像处理、计算机视觉等领域设计的例子。此外,GitHub上的[NVIDIA Deep Learning Examples仓库](https://github.com/NVIDIA/deep-learning-examples)也维护着大量适用于Jetson系列设备(包括TX2)的人工智能模型训练脚本及其配套数据集。 #### 手动添加额外样本 除了上述提到的内容之外,社区成员也会分享自己创建的应用实例。通过搜索引擎或者访问专门的技术论坛,比如Reddit中的r/JetsonNano板块或是Stack Overflow的相关话题标签,能够发现更多由其他爱好者贡献出来的有趣案例研究。 为了确保最佳性能表现及稳定性,建议始终优先考虑来自制造商提供的正式资料;而对于特定需求,则可以从开源平台上寻找灵感或解决方案。

登录后您可以享受以下权益:

×
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值

举报

选择你想要举报的内容(必选)
  • 内容涉黄
  • 政治相关
  • 内容抄袭
  • 涉嫌广告
  • 内容侵权
  • 侮辱谩骂
  • 样式问题
  • 其他
点击体验
DeepSeekR1满血版
程序员都在用的中文IT技术交流社区

程序员都在用的中文IT技术交流社区

专业的中文 IT 技术社区,与千万技术人共成长

专业的中文 IT 技术社区,与千万技术人共成长

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

客服 返回顶部