#text-analysis #hebrew #calculations #script #value #processing #gematria

bin+lib gematria_rs

A rust implementation of the Gematria, a traditional Hebrew numerology system

2 releases

0.1.1 Jan 1, 2024
0.1.0 Jan 1, 2024

#818 in Text processing

MIT license

41KB
685 lines

Gematria-rs

Crates.io Documentation License: MIT

Gematria-rs is a Rust library designed for calculating Gematria values in Hebrew texts. It supports multiple calculation methods and is suitable for analyzing texts like the Hebrew Bible. The library includes a command-line interface (CLI) for easy interaction.

Features

  • Multiple Gematria Calculation Methods: Supports various Gematria methods such as Mispar Hechrechi, Mispar Gadol, Mispar Katan, etc.
  • Hebrew Text Analysis: Tailored for processing Hebrew scripts, including handling vowelizations (nikkud).
  • CLI for Easy Usage: A user-friendly command-line interface for performing Gematria calculations on texts.
  • Text File Processing: Ability to process entire text files and group words based on their Gematria values.
  • Flexible Data Handling: Designed to handle words with different vowelizations as unique entries.
  • Customizable: Easy to integrate into larger projects and customize for specific analytical needs.

Usage

As a Library

Include Gematria-rs in your Rust project by running:

cargo add gematria_rs

Or adding it to your Cargo.toml:

[dependencies]
gematria_rs = "0.1.1"

Use it in your project:

use gematria_rs::GematriaContext;

let gematria_context = GematriaContext::default();

let value = gematria_context.calculate_value("שלום");
println!("Gematria value: {}", value);

You can use the gematria_rs::GematriaBuilder to change the default settings for the context easily.

As a CLI Tool

To use the CLI tool, clone the repository and build the project:

git clone https://github.com/MadBull1995/gematria-rs.git
cd gematria-rs
cargo build --release

Run the CLI:

./target/release/gematria [COMMAND] [OPTIONS]

CLI

The CLI provides the following functionalities:

  • Calculate Gematria Value: Calculate the Gematria value of a given Hebrew word or phrase.
  • Group Words by Gematria: Analyze a text file and group words based on their Gematria values.

Use --help to see all available commands and options.

Examples

You can use the full text file of the Hebrew Bible at /data/hebrew-all.txt

Group all words that equals the same value in "Standard" gematria from stdin:

./target/release/gematria group-words < ./data/hebrew-all.txt

Or from argument:

./target/release/gematria group-words "נכנס יין יצא סוד"
#  70 -> יין, סוד

Development

Setting Up the Development Environment

Ensure you have Rust and Cargo installed. Clone the repository and you can start contributing to Gematria-rs.

Running Tests

To run tests, use:

cargo test

Building Documentation

To build the documentation locally, including the Katex math typesetting for Gematria method explanations, run:

RUSTDOCFLAGS="--html-in-header src/docs-header.html" cargo doc --no-deps --open

Contributing

Contributions to Gematria-rs are welcome! Whether it's improving documentation, adding more Gematria methods, or enhancing the CLI tool, your input is valuable.

License

Gematria-rs is licensed under MIT License.

Dependencies

~1.1–1.7MB
~32K SLoC