#dataflow #scalability #parallelization #signal #async

bin+lib melodium

面向数据流的语言和工具,专注于对数据的应用处理,允许高可扩展性和安全的大规模并行化

18 个版本

0.8.0 2024 年 5 月 2 日
0.8.0-rc12024 年 3 月 19 日
0.7.1 2023 年 11 月 24 日
0.7.0-rc12023 年 7 月 13 日
0.1.0 2022 年 1 月 26 日

#167 in 并发

Download history 239/week @ 2024-04-28 9/week @ 2024-05-05 13/week @ 2024-05-19 1/week @ 2024-05-26 4/week @ 2024-06-30 85/week @ 2024-07-28

85 每月下载量

EUPL-1.2

1.5MB
33K SLoC

Mélodium

Mélodium 是一种面向数据流的语言,专注于对数据的应用处理,允许高可扩展性和安全的大规模并行化。

简介

Mélodium 是一种用于处理大量数据的工具和语言,通过定义对数据进行处理的连接,采用跟踪方法,使得任何脚本都具有高度的可扩展性和隐式并行化。

欲了解更多详细信息,请参阅 Mélodium 语言书籍

Mélodium 正在开发中,并且不断被定义和改进。发布文档可在 docs.rs 和标准参考 melodium.tech 上找到。

下载与安装

Mélodium 的版本可在 Mélodium.tech 下载。

命令行使用

Mélodium 以程序的形式发布,具有庞大且不断增长的控制台界面,以下是一些非常基本的示例。

启动 Mélodium 程序

melodium <FILE>

melodium run <FILE>

在 Mélodium 程序中启动特定命令

melodium run <FILE> <CMD> [ARGS…]

查看程序的命令和选项

melodium info <FILE>

检查 Mélodium 程序的有效性

melodium check <FILE>

查看所有命令和选项的完整列表

melodium help

请参阅 Mélodium 项目Mélodium 书籍Mélodium 文档 以获取使用方法和更多示例。

编译

从源码编译

Mélodium 完全使用 Rust 编写,只需要常规的 cargo build

git clone https://gitlab.com/melodium/melodium.git
cd melodium
cargo build --package melodium

从 crates.io 安装

Mélodium 也可以直接从 crates.io 安装。

cargo install melodium

开发

Mélodium项目的开发由GitLab托管。直接渠道和新闻可以在Discord上找到。

起源

Mélodium最初是在信号分析和音乐信息检索的研究中开发的,需要一个工具来管理大量记录并轻松编写实验,而不必关心底层技术操作。它在这篇论文(法语)中有介绍。

第一个实现是用C++编写的,在性能计算机(如Compute Canada的计算机)上运行良好。这个工具看起来非常实用,其中配置语言使用的概念也值得更多关注。这个第一个实验设计仍然可以在https://gitlab.com/qvignaud/Melodium上找到。

当前项目是这项工作的延续,完全用Rust重写,并考虑到大规模多线程数据流的一般方法重新设计。

许可

本软件是免费和开源的,遵循EUPL许可。

为什么是这个?好吧,因为这个项目与文化产业有着特殊的关系,可能比大多数其他软件都要多,所以有一个强大的法律基础,覆盖艺术作品的概念也很重要。同样,因为没有一种文化比另一种更重要,所以重要的是要有一个大多数人都能阅读和理解的开源许可。EUPL在23种语言中可用且法律有效,覆盖了大量的人群。

然后是法律部分

根据EUPL许可,版本1.2或欧洲委员会批准后的后续版本(“许可”);除非适用法律要求或书面同意,否则不得使用此作品,除非符合许可。您可以在以下位置获得许可的副本:https://joinup.ec.europa.eu/software/page/eupl

除非适用法律要求或书面同意,否则在许可下分发的软件按“原样”分发,不提供任何形式的明示或暗示保证。有关许可的具体语言,请参阅许可中的权限和限制。

而且不用担心,这个许可明确与其附录中提到的许可兼容,包括大多数常见的开源许可。

依赖项

~12–36MB
~560K SLoC