XIFtySense builds XIFty, a modern metadata engine for media files.
XIFty is designed to make metadata extraction more reliable, explainable, and portable across applications and languages. The project centers on:
- a Rust core
- a narrow C ABI
- a CLI for direct use and debugging
- language packages built on top of the same core contract
- XIFty
Core engine, CLI, architecture docs, capability definitions, and the stable FFI seam. - Live Browser Demo
Local-in-browser inspection of still-image metadata through the same four-view model.
- XIFtyNode
The most production-ready package today, including the first-party Node-on-Lambda path built on@xifty/xifty. - AWS Lambda adoption docs
Official Node Lambda guidance, SAM example, and layer packaging path.
- extracting metadata from images and media files with provenance preserved
- exposing
raw,interpreted,normalized, andreportviews - making ambiguity and malformed data visible instead of hiding it
- keeping bindings thin and consistent across languages
- XIFtyNode
Official Node package for XIFty. Canonical production package today. - XIFtySwift
Official Swift binding for XIFty (source-first today) - XIFtyPython
Official Python binding for XIFty (release-ready wheel target onmacos-arm64andlinux-x64) - XIFtyRust
Official Rust binding for XIFty (release-ready but still source-first) - XIFtyGo
Official Go binding for XIFty (source-first today) - XIFtyCpp
Official C++ binding for XIFty (source-first today)
- Node: canonical production package today
- Python: self-contained wheel target on
macos-arm64andlinux-x64 - Rust: runtime-backed and release-ready, but still source-first
- Swift / Go / C++: source-first bindings
Today, XIFty is strongest as:
- a metadata engine for still images and bounded media metadata
- a CLI and embeddable core for application builders
- a browser demo that proves the model in a product-shaped UI
- a Node package with a first-party AWS Lambda adoption path
- a foundation for consistent metadata handling across ecosystems
If you are comparing metadata solutions, start with:
- the core XIFty repo
- the live browser demo
- the CLI usage in the README
- the binding repo for your language/runtime
XIFty is actively evolving, but it is already usable today through the core repo, the live browser demo, and the public binding repos. Node is currently the most turnkey binding. Python is now the first self-contained package target beyond Node. Rust is cleaner and more release-ready now, but still intentionally source-first. Swift, Go, and C++ remain source-first bindings.