2个版本
0.1.0 | 2023年2月16日 |
---|---|
0.1.0-alpha.0 | 2023年1月30日 |
19 in #upstream
6.5MB
132K SLoC
NetworKit-rs
这是NetworKit的Rust封装,NetworKit是一个用于大规模网络分析的工具包。
API与上游包的Python API相似。
这仍然是一个正在进行中的工作,因此不完全。如果您需要一些不可用的函数,请打开一个issue。
安全问题
上游库大部分时间不检查越界数组访问,当给出越界索引作为参数时,会导致未定义的行为。这在C++代码和官方Python封装中都会发生。对于当前的Rust封装,纠正所有使用情况是不切实际的(尽管我们尝试在某些使用情况下修补它)。因此,您必须确保在您的代码中索引有效,即使是在调用未标记为unsafe的函数时。
此外,上游C++库可能会抛出异常,目前Rust端还没有处理这些异常(因为抛出的异常太多了,目前必须手动处理每一个)。因此,对于其中一些异常,Rust代码将直接panic。如果您遇到此类问题,请打开一个issue。
由于上述问题,不建议将此库用于面向用户的程序。在经过充分测试的环境中内部使用,并且每个输入都经过验证,可能没问题。
依赖项
~1.2–3MB
~44K SLoC