dit-mate
dit-mate is a toolkit for Digital Imaging Technicians and Media Managers, fully cross-platform. It contains the following tools:
-
basicmetalists 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). -
mkdaycreates a user-defined folder structure in the volumes provided, a time-saver at the beginning of each shooting day. -
lifsaveraddresses 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. -
mrltakes 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). -
xpandrolluses 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
- 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
- Install the toolkit:
uv tool install dit-mate
- Test the installation (if the command is not recognised try
uv tool update-shelland 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!
Metadata
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)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| dit_mate-0.1.0.tar.gz | 69.5 kB | Without provenance | Details for dit_mate-0.1.0.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| dit_mate-0.1.0-py3-none-any.whl | Python 3 | none | any | Details for dit_mate-0.1.0-py3-none-any.whl |
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}
|
Security for dit-mate 0.1.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.