distrib-rust 0.0.1

Distrib helps you distribute your software.
Documentation

Distrib

License Compatibility Package on Crates.io Documentation

Distrib helps you distribute your software.

[Features] | [Prerequisites] | [Installation] | [Examples] | [Reference] | [Development]

✨ Features

  • Available both as the command-line tool distrib and a Rust library.
  • 100% pure and safe Rust with minimal dependencies and no bloat.
  • Designed for #![no_std] environment compatibility from the get-go.
  • Supports opting out of any feature using comprehensive feature flags.
  • Adheres to the Rust API Guidelines in its naming conventions.
  • Polyglot software also (soon!) available for Dart, Python, Ruby, and TypeScript.
  • Cuts red tape: 100% free and unencumbered public domain software.

🛠️ Prerequisites

⬇️ Installation

Installation of the CLI

Installation via Cargo Binstall

cargo binstall -y distrib

Installation via mise

mise use -g github:artob/distrib

Installation via Cargo

cargo install distrib --locked --features=cli

Downloading Release Tarballs

wget https://github.com/artob/distrib/releases/download/0.0.1/distrib-aarch64-apple-darwin.tar.xz
wget https://github.com/artob/distrib/releases/download/0.0.1/distrib-aarch64-unknown-linux-gnu.tar.xz
wget https://github.com/artob/distrib/releases/download/0.0.1/distrib-x86_64-apple-darwin.tar.xz
wget https://github.com/artob/distrib/releases/download/0.0.1/distrib-x86_64-pc-windows-msvc.zip
wget https://github.com/artob/distrib/releases/download/0.0.1/distrib-x86_64-unknown-linux-gnu.tar.xz

Installation of the Library

Installation from Crates.io

cargo add distrib

Configuration in Cargo.toml

Enable all default features:

[dependencies]
distrib = { version = "0" }

Enable only specific features:

[dependencies]
distrib = { version = "0", default-features = false, features = ["alloc"] }

👉 Examples

Importing the Library

use distrib::*;

Exporting Functions

#[distrib::export]
pub fn square(n: i64) -> i64 {
    n * n
}

📚 Reference

docs.rs/distrib

Command-Line Interface

Feature Flags

Interoperability

Feature Version Summary
serde 1.0 Derives serde::{Serialize, Deserialize}

👨‍💻 Development

git clone https://github.com/artob/distrib.git

Share on X Share on Reddit Share on Hacker News Share on Facebook Share on LinkedIn