cryo_freeze 0.3.2

cryo is the easiest way to extract blockchain data to parquet, csv, or json
Documentation
use std::process::Command;

fn main() {
    let git_description =
        get_git_description().unwrap_or_else(|_| env!("CARGO_PKG_VERSION").to_string());

    println!("cargo:rustc-env=GIT_DESCRIPTION={}", git_description);
}

fn get_git_description() -> Result<String, std::io::Error> {
    let output = Command::new("git").args(["describe", "--tags", "--always"]).output()?;

    if output.status.success() {
        let description = String::from_utf8(output.stdout)
            .expect("Failed to read git command output")
            .trim()
            .to_string();

        Ok(description)
    } else {
        Err(std::io::Error::new(std::io::ErrorKind::Other, "Git command failed"))
    }
}