Skip to main content

rlx_pkg/
lib.rs

1// RLX — versatile ML compiler + runtime.
2// Copyright (C) 2026 Eugene Hauptmann, Nataliya Kosmyna.
3// SPDX-License-Identifier: MIT OR Apache-2.0
4
5//! RLX package format (`.rlxp`) — flat mmap (default), ZIP, or directory.
6//!
7//! # Overview
8//!
9//! | Piece | Role |
10//! |-------|------|
11//! | [`Package`] | Open flat / ZIP / dir; mmap hot weights; inflate warm/cold |
12//! | [`write_package`] | Emit a pack from MIR graph + [`PackedWeight`] rows |
13//! | [`WriteOptions::include_graph`] | Optional executable MIR (default on); weight-only when false |
14//! | [`StorageTier`] | Hot (mmap) / warm (`zstd_blocks`) / cold (zstd) |
15//!
16//! Spec: [`docs/rlxp.md`](../../../docs/rlxp.md).
17//!
18//! Bake exports via [`package_from_bake`] / `rlx-bake --format rlxp`.
19//! ONNX import with an executable graph lives on `rlx-bake` (`--features onnx`).
20//!
21//! # Features
22//!
23//! - `encrypt` — [`seal_bytes`] / [`unseal_bytes`] (`RLXSEAL1`)
24//! - `remote` — [`RemoteFlat`] HTTP Range reader
25
26mod auto_tier;
27mod flat;
28mod from_bake;
29mod from_dduf;
30mod from_gguf;
31mod from_mlx;
32mod from_nemo;
33mod from_pt;
34mod manifest;
35mod package;
36mod placement;
37mod seals;
38mod store_zip;
39mod tier;
40mod verify;
41mod weights_index;
42mod write;
43
44#[cfg(feature = "remote")]
45mod remote;
46
47pub use auto_tier::{AutoTierOptions, apply_auto_tier};
48pub use flat::{
49    FLAG_BINCODE_TOC, FLAG_HYBRID, FLAT_CONTAINER_VERSION, FLAT_MAGIC, FlatHeader, FlatToc,
50    is_flat_magic,
51};
52pub use from_bake::{BakeWeight, package_from_bake};
53pub use from_dduf::{DdufImportOptions, dduf_to_rlxp};
54pub use from_gguf::{GgufImportOptions, gguf_to_rlxp};
55pub use from_mlx::{MlxImportOptions, mlx_to_rlxp};
56pub use from_nemo::{NemoImportOptions, nemo_to_rlxp};
57pub use from_pt::{PtImportOptions, pt_to_rlxp};
58pub use manifest::{
59    COMPAT_VERSION, DistRef, FORMAT_NAME, FORMAT_VERSION, GraphRef, Manifest, SidecarRef,
60    WeightsRef,
61};
62pub use package::{MaterializeMode, MemberSource, Package, dtype_for_weight_scheme};
63pub use placement::{ExpertPlacement, Placement, TensorShard};
64pub use seals::{SEAL_MAGIC, is_sealed, seal_bytes, unseal_bytes};
65pub use tier::{
66    Codec, DEFAULT_WARM_BLOCK, StorageTier, checksum_hex, decode_zstd_block_at, decode_zstd_blocks,
67    decode_zstd_blocks_parallel, encode_zstd_blocks,
68};
69pub use verify::{VerifyReport, verify_package};
70pub use weights_index::{WeightEntry, WeightsIndex};
71pub use write::{
72    ContainerKind, PackedWeight, WriteOptions, graph_with_stripped_weights, infer_container,
73    infer_zip_from_path, write_package, write_package_dir, write_package_flat, write_package_zip,
74};
75
76#[cfg(feature = "remote")]
77pub use remote::{RemoteFlat, http_range};