Skip to main content

ShuttleCheck™

Check media filenames, folder structure and deliverables against a written convention. Nothing in this package renames, moves or deletes anything.

On a production the naming convention is a PDF or a message in a chat, and every vendor on the job breaks it. Nobody finds out until a conform fails in post, or a lab rejects a delivery at four in the morning.

pip install shuttlecheck
shuttlecheck ui

Point it at a job you have already finished. It works out the convention you are already using, then shows you every file that does not follow it.


It reads the convention off your own files

Nobody can describe their naming convention in the abstract, and nobody should have to. Point init at a finished job and it recovers the fields, tells you how confident it is in each one, and flags anything it had to guess at.

FIELDS RECOVERED
  {project}      constant   100%  NRD24
  {day}          integer     90%  DAY1, DAY2
  {stage}        enum        80%  HALLA, HALLB
  {session}      integer     90%  SES001, SES002
  {title}        slug        85%  opening-remarks, keynote

It handles conventions that disagree with themselves: several accepted forms per field, optional elements, free-text titles containing the separator, all because real ones do.

Then it tells you what breaks it

SHUTTLECHECK CONFORMANCE REPORT
  files scanned      412
  conforming         398
  errors               9   ingest will fail
  warnings             5   inconsistent, will work

ERROR    filename-mismatch   (6)
  D02/MAIN/MASTERS/AUT26_D02_MAINSTAGE_S114_v01.mov
    the stage field does not match what the spec allows

Findings name the field at fault, not just the file. Errors mean an ingest will reject it; warnings mean it is inconsistent but will work. The two are never conflated, because a noisy report does not get read.

What it checks

Names and folders Against a pattern, with the offending field identified
Codec and container Read from the file, not from the filename's claim
Resolution, frame rate, scan Including 29.97 handled as 30000/1001
Audio Channel count, layout, sample rate, bit depth
Sidecars Captions, checksums, metadata a deliverable must carry
Packages Whether a session is short a master, a proxy, a cutdown
Portability Illegal characters, reserved names, path length, case collisions
Unicode Names that compare equal on one platform and not another

Media inspection uses ffprobe when it is on your PATH. When it is not, those checks are reported as skipped, never as passed. A silent skip is how a conformance tool starts lying.

For live events, the running order does the work

An event agenda is structured data that exists weeks before anyone turns a camera on. Joined against time-of-day timecode, every recording names itself, with its stage, session, speaker and sponsor, and no inference of any kind.

It will also tell you when a filename is well-formed and still wrong: S007 recorded during S011 is a valid shape carrying a false claim, and only the running order knows.

Checking a drive that arrived

If a drive was sealed with a convention on it, one command with no arguments checks both that it arrived intact and that the names conform:

shuttlecheck verify /Volumes/SHUTTLE01

No spec to be told about, no account, no connection.


What this package will not do

It will not rename, move or delete anything of yours. That boundary is the point: it is the command a stranger will run on a live job, because running it cannot cost them anything.

Sealing is the one exception, and it is free. seal writes an ASC MHL hash list and the convention alongside your media, touching none of it. A manifest is only worth what the far end can read for nothing, so the half that writes one cannot be the paid half.

Conforming files to a convention, and undoing a conform run, are licensed separately as ShuttleCheck Pro. Asking for one of those commands here prints an explanation rather than an error.

Licence

Free to install and use. Not open source: no right to redistribute or modify. See https://mvrk.systems/shuttlecheck.

Made by MVRK Systems.


ShuttleCheck™ and DailiesDrop™ are trademarks of MVRK Systems.

Metadata

Release files for shuttlecheck 0.4.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 shuttlecheck 0.4.0
File Size Uploaded
shuttlecheck-0.4.0.tar.gz 1.0 MB Details

Built distribution (wheel)

Table of built distributions (wheels) for shuttlecheck 0.4.0
File Interpreter ABI Platform
shuttlecheck-0.4.0-py3-none-any.whl Python 3 none any Details

Total release size: 1.7 MB

Release files / shuttlecheck-0.4.0.tar.gz

Download URL shuttlecheck-0.4.0.tar.gz
Size 1.0 MB
Tags Source
SHA-256 checksum
How to use checksums
14119558543249ff4c08144482ebb32903d7c70e26ef40836cdc34e73e5ae28a
BLAKE2b-256 checksum
How to use checksums
6a4319a03b1406db356f0078b1358f91df7f64557ad357ebc04b580e2d829321
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 11, 2026.

Transparency log

Release files / shuttlecheck-0.4.0-py3-none-any.whl

Download URL shuttlecheck-0.4.0-py3-none-any.whl
Size 727.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
7e12815828fe7b5fce46a1d476fcf203281efd2ee79e9dfda0492cab305de6b4
BLAKE2b-256 checksum
How to use checksums
3b68958e6ea3f812335b0d03c302bb60b989221f15a2c52e67e14090cf49280a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 11, 2026.

Transparency log

Release history Release notifications | RSS feed

0.4.3

2 release files

0.4.2

2 release files

0.4.1

2 release files

This release

0.4.0 This release

2 release files

0.3.0

2 release files

0.2.1

2 release files

0.2.0

2 release files

0.1.0

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