Skip to main content

A suite of utilities for Digital Imaging Technicians and post-production workflows.

Project description

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!

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

dit_mate-0.1.0.tar.gz (69.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

dit_mate-0.1.0-py3-none-any.whl (68.9 kB view details)

Uploaded Python 3

File details

Details for the file dit_mate-0.1.0.tar.gz.

File metadata

  • Download URL: dit_mate-0.1.0.tar.gz
  • Upload date:
  • Size: 69.5 kB
  • Tags: Source
  • Uploaded using 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}

File hashes

Hashes for dit_mate-0.1.0.tar.gz
Algorithm Hash digest
SHA256 9f21999b67baae20f6e8c88bd9e913d2ef9a23e858ac0a014eae590d59ef7281
MD5 89b7044d638873e865fa8de491293951
BLAKE2b-256 56accfc1c935972ec9a151771530e5ef60a768ced4519707709129e9621d9a8b

See more details on using hashes here.

File details

Details for the file dit_mate-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: dit_mate-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 68.9 kB
  • Tags: Python 3
  • Uploaded using 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}

File hashes

Hashes for dit_mate-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 799657e9c9fccc7b0ac25d7e1f545b3f8b0b074b3d66b2ada9924c2b117e78e9
MD5 07036c79651ee4e0d20955ef71748082
BLAKE2b-256 df0a6e23b54ba0a031dffb5123d65cd38af97da7e5505418b8505ecf52123d70

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page