pql等本周Github有趣项目

本周Github有趣的项目、工具和库

1、Adeus
Adeus 是一款开源可穿戴设备,它可以捕捉您在现实世界中的所言所听,然后将其转录并存储到您自己的服务器上。然后,您可以使用应用程序与 Adeus 聊天,它将掌握您想谈或需要谈的所有内容--真正个性化的个人人工智能。

Adeus由3部分组成:

  1. 移动/网络应用程序: 允许用户通过聊天与其个人人工智能和数据进行交互的界面。
  2. 硬件设备:可穿戴设备,会记录用户所说或听到的一切,并将其发送到后端进行处理。
  3. Supabase:后端和数据库,我们将在其中处理和存储数据,并与大模型进行交互。

2、Dada
Dada 是一个思想实验。如果我们正在开发一种类似 Rust 的语言,但其感觉更像 Java 或 JavaScript,而不像 C++,那将会如何?这种语言并不希望被用于内核或微型嵌入式设备,而是愿意要求运行时最小化。

如果你使用过 Rust,那么 Dada 的所有权系统一定不会陌生,但请记住,它们之间存在一些关键区别。你甚至可以混合使用这两种语言编写的代码。

Dada是一种渐进的、以所有权为基础的语言。让我们来解读这两点:

  • 基于所有权:Dada 利用所有权的概念来确保:(a)内存在正确的时间被释放,无需垃圾回收;(b)并行程序没有数据竞赛。
  • 渐进:Dada 可以让你从解释型、动态语言(类似 Python 或 JavaScript)平滑过渡到静态类型、完全优化的语言(类似 Rust)。

3、Ente
完全开源、端到端加密的 Google Photos 和 Apple Photos 的替代品。

您可以将数据存储在云端,而无需信任服务提供商。到目前为止,我们已经在此平台上构建了两个应用程序:Ente Photos(Apple 和 Google Photos 的替代品)和 Ente Auth(已弃用的 Authy 的 2FA 替代品)。

源代码和密码学已经过 Cure53(德国网络安全公司,可以说是世界上最好的)、Symbolic Software(法国密码学专家)和 Fallible(印度渗透测试公司)的外部审计。

4、puter
浏览器中的桌面环境!

5、pdf-debugger
用于调试 PDF 文件的工具。

工具可检查 PDF 文件的树结构。它是使用Mozilla PDF.js库构建的。我对这个项目做了一个分支,只提取了它的核心部分,并将其作为单独的 npm 包pdf.js-core发布

6、LiteJQ
liteJQ是一个 SQLite 扩展,用 C 编写,为jqSQLite 提供支持。

SQLite 多年来一直支持 JSON。然而,涉及 JSON 的复杂查询编写和理解起来可能会更加麻烦,特别是与 PostgreSQL 等更复杂的系统相比。 liteJQ试图通过将 jq 的表达能力引入 SQLite 来缓解这一问题。

7、pql
管道式查询语言。

这 Go 库将基于管道的查询语言(受Kusto 查询语言启发)编译为 SQL。它已经过专门测试,可与Clickhouse SQL 方言配合使用,但生成的 SQL 有意与数据库无关。该存储库包含一个 Go 库和一个用于调用该库的 CLI。

例如,以下表达式:

StormEvents
| where DamageProperty > 5000 and EventType == "Thunderstorm Wind"
| top 3 by DamageProperty

将被编译为类似于以下的 SQL:

SELECT *
FROM StormEvents
WHERE DamageProperty > 5000 AND EventType = 'Thunderstorm Wind'
ORDER BY DamageProperty DESC
LIMIT 3;

要在 go 代码中使用 pql,一个最小的示例可能如下所示

package main

import (
    "github.com/runreveal/pql"
)

func main() {
    sql, err := pql.Compile(
"users | project id, email | limit 5")
    if err != nil {
        panic(err)
    }
    println(sql)
}

运行该程序应该会给出以下输出

$ go run test.go

WITH "__subquery0" AS (SELECT "id" AS "id", "email" AS "email" FROM "users")
SELECT * FROM
"__subquery0" LIMIT 5;


8、Ascent
Ascent 是一种逻辑编程语言(类似于 Datalog),通过宏嵌入 Rust。

计算图中所有连接的节点

ascent! {
   relation edge(i32, i32);
   relation path(i32, i32);
   
   path(x, y) <-- edge(x, y);
   path(x, z) <-- edge(x, y), path(y, z);
}

9、omni
在您自己的硬件上简单部署 Kubernetes。

Omni 允许您从裸机、虚拟机或云提供商开始,只需单击几下即可创建跨越所有位置的集群。
您提供机器——边缘计算、裸机、虚拟机或在您的云帐户中。从 Omni 映像启动。单击分配到集群。就是这样!

  • Vanilla Kubernetes,在您的机器上,在您的控制之下。
  • 优雅的UI管理和操作
  • 安全保障 – 与您的企业 ID 提供商联系
  • 内置高可用的 Kubernetes API 端点
  • 防火墙友好。安全管理边缘节点
  • 从单节点集群到最大规模
  • 支持 GPU 和大多数 CSI。

10、ExpenseTracker
Spring Boot +JWT安全 案例源码


附送:Python开源有趣项目:

  • Hatchet分布式、容错的任务队列。
  • BlendSQL用于编排 SQLite 逻辑和 LLM 推理的统一方言。
  • django-admin-shellx使用 Xterm.js 和 Django Channels 的 Django 管理 Web Shell。
  • Bonito一个轻量级库,用于为您的数据生成合成指令调整数据集,无需 GPT。
  • FastUI更快地构建更好的 UI。
  • Hancho一个简单愉快的 Python 构建系统。
  • CadwynFastAPI 中支持生产的社区驱动的现代类似 Stripe 的 API 版本控制。
  • fllect受 Next.js 启发的纯 Python 全栈 Web 应用程序框架。
  • pfl用于私有联合学习模拟的 Python 框架。
  • EvalPlusEvalPlus 用于对 LLM 合成代码进行严格评估。
  • Polars_ds_extension适用于一般数据科学用例的 Polars 扩展。