5 个版本
0.4.2 | 2021 年 5 月 27 日 |
---|---|
0.4.0 | 2021 年 5 月 21 日 |
0.3.3 | 2021 年 5 月 15 日 |
0.3.2 | 2021 年 5 月 11 日 |
0.3.1 | 2021 年 4 月 27 日 |
#958 in 编码
68KB
1.5K SLoC
ream-core
REAM 是一种构建可维护的社会科学数据集的数据语言。它鼓励对单个数据点进行内联文档编写,并引入了 功能 来减少重复。
该语言有三个主要组件
- a 数据序列化语言 用于结构化数据集(进行中)
- a 数据模板语言 用于生成数据集(计划中)
- a 过滤器 集合,用于操作数据(计划中)
REAM 可编译成可读性强的文档(HTML、PDF 等)和分析就绪的数据集(CSV、JSON 等)。两种格式,一个来源。
# Country
- name: Belgium
- capital: Brussels
- population: 11433256
> data from 2019; retrieved from World Bank
- euro_zone: TRUE
> joined in 1999
## Language
- name: Dutch
- size: 0.59
## Language
- name: French
- size: 0.4
## Language
- name: German
- size: 0.01
编译成
Belgium,Brussels,11433256,TRUE,Dutch,0.59
Belgium,Brussels,11433256,TRUE,French,0.4
Belgium,Brussels,11433256,TRUE,German,0.01
官方的 REAM 文档 提供了有关语言的更多信息。README 的其余部分侧重于编译器,ream-core。
用法
Web
有两个基于 Web 的编辑器,无需本地安装即可使用 ream-core。
命令行工具
要使用本地命令行工具,您需要 Cargo 并按以下两种方式之一进行安装
- 从 crates.io 下载最新标记版本
cargo install ream
- 从源代码编译最新开发版本
git clone https://github.com/chmlee/ream-core
cd ream-core && cargo build
现在您可以在本地使用命令行工具 ream
。
要编译您的 REAM 文件,执行以下命令
ream -i <INPUT> -o <OUTPUT> -f <FORMAT> [-p]
其中 <INPUT>
是 REAM 文件的路径,而 <OUTPUT>
是输出文件的路径。对于 -p
标志,输出也将打印到 stdout。
示例
ream -i my_data.ream -o my_data.csv -f CSV -p
Crate
要将 ream-core 包含到您的 Rust 项目中,请将以下行添加到您的 Cargo.toml
文件中
[dependencies]
ream = "0.3.1"
有关更多信息,请参阅 docs.rs。
WebAssembly
需要 wasm-pack
来将 ream-core 编译成 WebAssembly。
git clone https://github.com/chmlee/ream-core
cd ream-core && wasm-pack build --target web
WASM模块中提供了两个函数: ream2csv
和 ream2ast
import init, {ream2csv, ream2ast} from "./ream.js";
init()
.then(() => {
let csv = ream2csv(input);
let ast = ream2ast(input);
})
依赖项
约4.5–6.5MB
约119K SLoC