Behemehal Logo: Red square with b letter inside also rounded corners

Behemehal

Behemehal logo

Open source solutions
to the open source world

Behemehal builds smart, type-safe technologies — from embedded systems to the web — to increase accessibility and help people reach their goals.

keyboard_arrow_down
Ellie Language logoFlagship Project

Ellie-Language

A type-safe programming language that runs on embedded and sandboxed environments — powered by Rust.

Type-safeEmbeddedSandboxedRust
chunker.ei
//A generic, type-safe array chunker
class Chunker<T> {
co(chunkCount, items);
pri v chunkCount : int;
pri v items : [T, *];
 
fn chunks() : [[T, *], *] {
v chunks : [[T, *], *];
v temp : [T, self.chunkCount];
for i : self.items.len {
if temp.len == self.chunkCount {
chunks.push(temp);
temp.clean();
} else {
temp.push(this.items[i]!);
}
}
ret chunks;
}
}

Projects

Open source libraries and tools built with Rust — designed to be small, portable and dependable.

swap_horiz

Menemen

Rust

A streaming http/https client for Rust. Read responses as a stream instead of buffering everything in memory.

main.rs
use menemen::request::{Request, RequestTypes};
 
fn main() {
let mut req = Request::new(
"http://postman-echo.com/get",
RequestTypes::GET,
).unwrap();
 
let mut res = req.send().unwrap();
let mut buf = Vec::new();
res.stream.read_to_end(&mut buf);
 
println!("{}", String::from_utf8_lossy(&buf));
}
dns

SafeEn

Rust

A local database for situations that need strict data integrity and absolute portability. Typed tables, simple queries, single-file storage.

main.rs
use safe_en::{table::{TableRow, TypeDefs}, Database};
 
let mut db = Database::new();
 
db.create_table("users", vec![
TableRow::new("id", TypeDefs::I64),
TableRow::new("email", TypeDefs::String),
]).unwrap();
 
db.table("users").unwrap()
.insert(vec![1_i64.into(), "ahmet@mail.com".into()])
.unwrap();
 
db.save("./users.sfn").unwrap();
power_settings_new

Wole

Rust

Wake-On-LAN made simple. Generate, send and listen for magic packets — straight from your terminal or as a library.

wole
# Wake a single device
$ wole --mac 2c:2c:2c:2c:2c:2c --ip 192.168.1.100
 
# Wake several devices at once
$ wole --mac 2c:.. --ip 192.168.1.100 --mac 2a:.. --ip 192.168.1.102
 
# Listen for incoming magic packets
$ wole --listen 192.168.1.108
satellite_alt

Rust-NMEA

Rust

A parser for NMEA 0183 sentences — turn raw GPS/GNSS output into typed, ready-to-use position data. Serial port not included.

gps.rs
use rust_nmea::parser::Parser;
 
// A raw GPS sentence from the receiver
let line = "$GPGGA,161009.00,1122.20418,N,02339.35234,E,1,08,1.09,11.5,M,11.3,M,,*62";
 
let fix = Parser::parse_line(line).unwrap();
 
// -> GGA { satellites: 8, altitude: 11.5, lat, lon, .. }

More open source


event_listener

NodeJS-like event listener library for Dart.

Dart
sensors

rust_event_listener

NodeJS-like event listener library for Rust.

Rust
sensors

Rusty6502

A rusty 6502 CPU emulator.

Rust
memory

Contact us for collaborations

info@behemehal.org
Behemehal Logo: Red square with b letter inside also rounded corners

Behemehal

All Rights Reserved


Founded by Ahmetcan Aksu