11个版本 (5个破坏性更新)

0.6.3 2023年4月19日
0.6.2 2023年3月30日
0.5.0 2023年3月28日
0.4.2 2023年3月10日
0.1.0 2023年3月9日

#894 in 数据库接口

Download history 6/week @ 2024-03-12 2/week @ 2024-03-26 20/week @ 2024-04-02

每月75次下载
2个包中使用(通过wormhole-common

MIT许可证

50KB
1.5K SLoC

CKANDex

crates.io

一个由Rust驱动的NetKAN解析器和索引库,适用于KSP 1和KSP 2。

关于

这个库是为Wormhole项目创建的,因为我们需要一个查询和列出CKAN的NetKAN数据库中mod的方法。然而,没有简单的API来做这件事,因为NetKAN数据库基本上是一大堆JSON和YAML文件,塞满了一堆文件夹,所以我们必须开发自己的解决方案。

功能

  • 闪电般的快速查询和过滤系统。
  • 低开销。
  • 内存高效(某种程度上)。
  • 良好的缓存。
  • 始终是最新的。
  • 易于使用的API。
  • 使用Tokio和Serde编写。
  • 易于集成到现有代码库中。

示例

以下是CKANDex在行动中的示例

use ckandex::{refresh_data, run_server, KSP};
use dotenv::dotenv;
use tokio::main;

#[main]
pub async fn main() {
    dotenv().ok();

    refresh_data(KSP::KSP2, "netkan-ksp2").await;
    run_server("netkan-ksp2".to_string()).await;
}

更多示例,请查看此仓库中的example/文件夹。

贡献

这个库仍然是WIP!请不要害怕提出功能请求、pull请求以及其他任何东西。如果您有任何问题,或者发现了任何错误,请创建一个问题!我会尽快帮助您。

代码风格

代码风格如下

  • 4个空格的缩进(空格,不是制表符)
  • 括号与声明在同一行上(例如:pub async fn main() { 而不是 pub async fn main()\n{
  • 声明的返回值(return ...; 不是 ...)[闭嘴,Clippy。我更喜欢这样。]
  • 查看代码库的其余部分以获取更多信息。

依赖项

约16-30MB
约557K SLoC