#language #dataset #social #data-science #documentation #csv #html

bin+lib ream

构建可维护的社会科学数据集的数据语言

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 编码

MIT 许可证

68KB
1.5K SLoC

ream-core

license version

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 并按以下两种方式之一进行安装

  1. crates.io 下载最新标记版本
cargo install ream
  1. 从源代码编译最新开发版本
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模块中提供了两个函数: ream2csvream2ast

import init, {ream2csv, ream2ast} from "./ream.js";

init()
  .then(() => {
    let csv = ream2csv(input);
    let ast = ream2ast(input);
  })

依赖项

约4.5–6.5MB
约119K SLoC