DATEX
This repository contains the full DATEX library including networking, compiler and decompiler, written in Rust. The DATEX crate is used in DATEX Web, which provides a JavaScript interface to the DATEX Runtime. The DATEX CLI is also built on top of this crate and provides a command line interface for the DATEX Runtime.
Project Structure
- src/ - Contains the source code of the crate
- ast/ - Abstract syntax tree (AST) modules
- compiler/ - Compiler for the DATEX language
- crypto/ - Cryptographic trait and a native implementation
- decompiler/ - Decompiler for the DATEX language
- dif/ - Abstract data interface for data exchange with external systems
- global/ - Global constants and structures
- libs/ - Library modules such as core library and standard library
- network/ - Network protocol implementation and communication interfaces
- parser/ - DXB parser and instruction handler
- references/ - Reference implementation, observers and mutators
- runtime/ - Runtime for executing DXB
- serde/ - Serialization and deserialization of DATEX values
- traits/ - Shared traits for values, types and references
- types/ - Type system implementation
- utils/ - Utility functions and traits
- values/ - Value implementation, core values and value containers
- benches/ - Benchmarks for the crate for performance testing
- tests/ - Integration tests for the crate
Development
Building the Project
The project is built with Rust Nightly
(rustc 1.95.0-nightly). To build the
project, run:
Running Tests
Tests can be run with the following command:
Clippy
To apply clippy fixes, run the following command:
Running Benchmarks
The benchmarks in the benches directory can be run with the following command:
Benchmarks are also run automatically in the GitHub CI on every push to the main branch or a pull request branch.
Contributing
We welcome every contribution! Please take a look at the DATEX Core contribution guidelines and the unyt.org contribution guidlines.
© unyt 2026 • unyt.org