magic 0.13.0

High level bindings for the `libmagic` C library
Documentation

rust-magic linux build status Documentation REUSE status CII Best Practices OpenSSF Scorecard

libmagic bindings for Rust.

Usage

Create a new Cargo project (or edit your existing one):

$ cargo new --bin magic-usage && cd magic-usage/
$ $EDITOR Cargo.toml

Add a dependency to your Cargo.toml (see Cargo doc):

[dependencies]
magic = "0.13"

Then use the magic crate according to its documentation.

MSRV

The Minimum Supported Rust Version (MSRV) is Rust 1.48 or higher.

This version might be changed in the future, but it will be done with a crate version bump.

Requirements

By default compiling rust-magic will search your system library paths for a version of libmagic.so. If you're cross-compiling, or need more control over which library is selected, see how to build rust-magic-sys.

License

This project is licensed under the MIT license (see LICENSE).

The magic-sys crate being used is licensed under the MIT license as well (see LICENSE-MIT).

The file/libmagic project is licensed under a modified BSD license (see COPYING). This crate contains partial test-data from its magic databases (rust-magic/data/tests/db-images-png is from file/magic/Magdir/images, rust-magic/data/tests/db-python is from file/magic/Magdir/python).