#galaxy #python #extensible #python-bindings #node #multimedia

galaxy-rs

Rust对Galaxy的绑定,Galaxy是一个基于节点、可扩展、用Python编写的多媒体数据库

3个版本

0.1.2 2023年7月19日
0.1.1 2023年7月19日
0.1.0 2023年7月19日

#1860数据库接口

LGPL-2.0-or-later

23KB
273

Galaxy

Galaxy是一个基于节点、可扩展、用Python编写的多媒体数据库系统。本crate包含了与Rust的绑定,Rust是一种高性能、表达力强的语言。请查看主仓库这里

为什么?

Galaxy提供了一种存储数据的方法,不受现有限制(如文件夹)的影响。作为一个库,Galaxy旨在提供一种类似于人类大脑的数据存储方法,并自动搜索和查找包含类似数据或讨论类似主题的节点之间的联系,从而实现快速轻松的文件管理,并在以后提供简单准确的搜索。然而,Galaxy最引人注目的是其可扩展性。要在Galaxy中添加对另一种数据类型的支持,就像编写Galaxy提供的NodeInterface和IngestManagerInterfaces的子类一样简单,然后将您的代码放在一个模块文件夹中。

嘿,这听起来有点像Obsidian

如果您在Galaxy的数据存储范式和Obsidian之间看到相似之处,您是对的。然而,Galaxy的目标是要比Obsidian更可扩展,同时更适应由代码而不是人工维护的实时数据库。最终,Galaxy和Obsidian的目标是相似的:帮助人们用第二思维存储数据。然而,与Obsidian不同,Galaxy允许您将任何您喜欢的用户界面放在它前面。

为什么这个crate使用Python?Rust不是应该很快吗?这不是适得其反吗?

这是一个很好的观点。然而,模块是用Python编写的,以保留数据库的易于扩展性,使其能够支持尽可能多的不同文件类型。

如果性能最终成为问题,我将重写这个库的大部分内容,将其作为由Python调用的外部Rust库,以提高性能。然而,目前我认为当前状态是可以接受的。

依赖

~2.5–7.5MB
~54K SLoC