Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Replicates exiftool but in rust, with some additional features.

License

Notifications You must be signed in to change notification settings

swack-tools/oxidex

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

OxiDex

CI Crates.io License: GPL-3.0

A high-performance Rust implementation of ExifTool for metadata extraction and manipulation.

What is OxiDex?

OxiDex is a memory-safe, drop-in replacement for the Perl-based ExifTool. It provides the same comprehensive metadata support (32,677+ tags across 140+ formats) with significantly better performance through Rust's zero-cost abstractions and parallel processing.

Why OxiDex?

  • 3.7-9.7x faster than Perl ExifTool (see benchmarks)
  • Memory safe - No buffer overflows, use-after-free, or data races
  • Drop-in compatible - Same CLI arguments as original ExifTool
  • Cross-platform - Static binaries for Linux, macOS, and Windows
  • Library + CLI - Use as a Rust crate or standalone binary

Quick Start

Download Binary

Pre-built binaries available on the Releases page.

Usage

# Extract all metadata
oxidex photo.jpg

# Extract specific tags
oxidex -Make -Model -DateTimeOriginal photo.jpg

# Write metadata
oxidex -Artist="Your Name" photo.jpg

# Batch processing
oxidex -r /path/to/photos/

# JSON output
oxidex -json photo.jpg

Documentation

Development

Prerequisites

Install development tools via Homebrew:

brew install cargo-watch cargo-nextest cargo-audit cargo-outdated

Install additional tools via Cargo:

cargo install cargo-tarpaulin

Just Commands

This project uses just as a command runner. Run just to see all available commands:

just          # List all commands
just ci       # Run full CI checks
just test     # Run all tests
just lint     # Run clippy linter
just fmt      # Format code

Contributing

Contributions welcome! Please ensure:

  • Tests pass (cargo test)
  • Code is formatted (cargo fmt)
  • Clippy lints pass (cargo clippy)

License

GPL-3.0

Acknowledgments

Inspired by and compatible with ExifTool by Phil Harvey. OxiDex is an independent reimplementation.

About

Replicates exiftool but in rust, with some additional features.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 3

  •  
  •  
  •  

Languages