Skip to main content

dit-mate

PyPI Version OS Ruff ty CI codecov

dit-mate is a toolkit for Digital Imaging Technicians and Media Managers, fully cross-platform. It contains the following tools:

  • basicmeta lists the essential metadata that needs to be consistent across all cameras in a given shooting day: frame rate, resolution and recorded date. It integrates Media-Info and ExifTool to support all professional camera acquisition formats (MXF, MOV, MP4, R3D, and BWF WAV audio), as well as some extra video containers (MKV, AVI, M4V, MTS, FLV, WebM).

  • mkday creates a user-defined folder structure in the volumes provided, a time-saver at the beginning of each shooting day.

  • lifsaver addresses a macOS bug on LIFS (Live Image File System) which prevents multiple cards from mounting when they have the name "Untitled". Run it to force mount any card that is found. Please note that whereas this utility has been fully tested, you should use it as your own risk and only if you are confident using terminal commands.

  • mrl takes a directory with camera rolls and copies to the clipboard the values you need to paste in your Master Rushes Log: first and last clip name, clip count, size and duration. It requires FFmpeg, and it handles clips split across multiple files correctly (like RED .R3D and GoPros).

  • xpandroll uses an editable dictionary (.TSV) to rename camera rolls in multiple directories. Useful in combination with ShotPut Pro when roll names need to have longer names that the volume admits

🚀 Installation

  1. Install prerequisites (Media-Info, ExifTool, FFmpeg) and uv from the official installers, or:
  • macOS: brew install media-info exiftool ffmpeg uv
  • Windows: winget install MediaArea.MediaInfo OliverBetz.ExifTool Gyan.FFmpeg astral-sh.uv
  • Linux (Debian): apt-get install mediainfo libimage-exiftool-perl ffmpeg uv
  1. Install the toolkit:
uv tool install dit-mate
  1. Test the installation (if the command is not recognised try uv tool update-shell and restart your terminal):
basicmeta --version; mkday --version; lifsaver --version; mrl --version; xpandroll --version

📖 Usage examples

Check the essential metadata of multiple camera rolls:

basicmeta "path/to/rushes/"
basicmeta									# scans the current directory

Make the folder structure for shooting day 1, using the preset "example", on two backup drives:

mkday -p example_preset -d 1 "path/to/drive1" "path/to/drive2"

Copy the values you need for your Master Rushes Log:

mrl "path/to/camera/roll"					# copy default values
mrl "path/to/camera/roll" -cs				# copy only clip count and size (in that order)
mrl "path/to/rushes/"						# auto-detects multiple rolls
mrl											# scans the current directory

Force mount "Untitled" cards (on macOS only):

lifsaver

Run any tool with --help to see the full list of options.

⚠️ Disclaimer

The lifsaver utility deliberately circumvents standard macOS Disk Arbitration and LIFS (Live Image File System) protections to force-mount stalled volumes. The author assumes no liability for lost or corrupted data, or hardware failures of any kind.

🧪 Feedback & Contributing

If this tool fails to parse metadata from your specific camera files, or if you have ideas for improvement, please fork the repository and submit a pull request, or open an issue with a sample of the problematic metadata output. Help me make this tool more robust for the DIT community!

Release files for dit-mate 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for dit-mate 0.1.0
File Size Uploaded
dit_mate-0.1.0.tar.gz 69.5 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for dit-mate 0.1.0
File Interpreter ABI Platform
dit_mate-0.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 138.3 kB

Release files / dit_mate-0.1.0.tar.gz

Download URL dit_mate-0.1.0.tar.gz
Size 69.5 kB
Tags Source
SHA-256 checksum
How to use checksums
9f21999b67baae20f6e8c88bd9e913d2ef9a23e858ac0a014eae590d59ef7281
BLAKE2b-256 checksum
How to use checksums
56accfc1c935972ec9a151771530e5ef60a768ced4519707709129e9621d9a8b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.11.21 {"installer":{"name":"uv","version":"0.11.21","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / dit_mate-0.1.0-py3-none-any.whl

Download URL dit_mate-0.1.0-py3-none-any.whl
Size 68.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
799657e9c9fccc7b0ac25d7e1f545b3f8b0b074b3d66b2ada9924c2b117e78e9
BLAKE2b-256 checksum
How to use checksums
df0a6e23b54ba0a031dffb5123d65cd38af97da7e5505418b8505ecf52123d70
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.11.21 {"installer":{"name":"uv","version":"0.11.21","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page