Skip to main content
mcDonald UAP Toolkit

mcdonald is a frame-by-frame analysis toolkit for measuring the kinematics of an unknown object in a single-camera video.

"Science is in default for having failed to mount any truly adequate studies of this problem."

— James E. McDonald

Status: early test version (0.2.18), tried on Linux and macOS, and on Windows so far only by its automatic tests.

Install

  1. Prerequisite: make sure ffmpeg is installed: brew install ffmpeg (Mac), winget install Gyan.FFmpeg (Windows), sudo apt install ffmpeg or sudo dnf install ffmpeg (Linux).

  2. Install mcdonald (needs Python 3.10 or newer):

    python3 -m pip install mcdonald
    
  3. Check your setup, which also provides instructions on what to do next:

    mcdonald setup
    

When a newer version is out, mcdonald-gui offers to update itself when it starts, and the command line prints the command to update with.

New to Python or the terminal? docs/install.md walks through each step in detail.

Use

mcdonald has a graphical interface and a command-line interface. The software is intended to be driven by human users and/or AI agents.

The graphical interface is designed to prompt human users through the steps of analysis. To start the graphical interface:

mcdonald-gui

The window opens on its home page. Open a video, choose the segment with the object (and say how many objects you are looking for, if you know, and anything else you know about the video: how wide the camera sees, how far away the object is, the size of something in the picture, the speeds a report gave), and press Find, follow and measure the object: the computer finds what moves, takes the most likely thing as the object -- or every thing worth following, if there are several; or as many of the likeliest as you said -- follows it, measures how it moved and writes a report, asking nothing on the way; three lights under the button show the steps as they are done. With a number given, the run says how many it found against it, and a thing that is a group of points (a flock) is split into its members, each followed and reported on its own. The report then appears under the button, the video still in sight: its conclusion, the numbers found, and "Full report" for the whole of it (a card for each object, if there were several); look at its track sheet and press "I looked" if the ring is on the object in every frame. Where the report could not give a real speed, the card asks for what would give one ("Add what you know"), and works the speed out again in a second or two, without measuring again. Turn on Advanced (under the button before it is pressed, or View → Advanced) to do the three steps one at a time, to choose the object yourself from the list "Find the object" shows, or to mark it by hand; there, ticking rows on that list and pressing "Follow and measure the ticked ones" is the same queue, for the things you choose.

The command-line interface is designed for developers, advanced users, and AI agents. To start the command-line interface and see a summary of options:

mcdonald

Sharing an analysis

To hand a video's analysis to someone else -- a colleague, or an agent -- so that they pick up where you left off, use File → Share for review…: write what you would like them to look at (the stretches of frames, and what is there), add your name and a note, and press Save a file to send. That writes one small file, ending in .mcdonald, with your marks, tracks, each object's results and your note. The video itself is not in it: their copy of mcdonald finds the same video by its catalog name (downloading it if it is not on their computer) and checks it is the same file.

They open it with File → Open a shared file… (or by dropping it on the window, or mcdonald mark FILE). The window opens the same part of the same video, with your marks and every object's track drawn, and a card on the right with your note, a button for each stretch you named (it plays the stretch and stops at its end), and a box for their answer -- which saves a file to send back, with your note and theirs. An agent makes the same file with mcdonald share make, and reads one with mcdonald share show.

Prompting an agent

You can invoke an AI agent to assist at any point in the analysis, whether before or after a human has looked at the video. Here is a sample prompt that you can pass to your favorite command-line AI model:

Please use the mcdonald toolkit to analyze the PR144 video released under PURSUE. Run mcdonald readme to get started.

Support

mcdonald is free and open source. To support its development, you can donate through Project Janus at Blue Marble Space, a 501(c)(3) nonprofit. Donations are tax-deductible as allowed by law.

License

Copyright (c) 2026 Jacob Haqq Misra. Released under the BSD 3-Clause License.

Metadata

Release files for mcdonald 0.2.18

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

Source distribution (sdist)

Source distribution for mcdonald 0.2.18
File Size Uploaded Provenance
mcdonald-0.2.18.tar.gz 805.7 kB With provenance Details

Built distribution (wheel)

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

Total release size: 1.5 MB

Release files / mcdonald-0.2.18.tar.gz

Download URL mcdonald-0.2.18.tar.gz
Size 805.7 kB
Tags Source
SHA-256 checksum
How to use checksums
8d3902f5e7bffdce43d5aaf6a3cca082e217227a9432482aa9b72aed4c3d97bb
BLAKE2b-256 checksum
How to use checksums
8f5bbb897d00da6af2773c6d14e08f628b9a190208e8530ae43eec4812a965f7
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 15, 2026.

Transparency log

Release files / mcdonald-0.2.18-py3-none-any.whl

Download URL mcdonald-0.2.18-py3-none-any.whl
Size 673.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
08541ab19ea7cf9fc9b145a810e1324a1fdbb938adb6f7b73ab4ab429db57251
BLAKE2b-256 checksum
How to use checksums
4789a344f3fe9790732e179e2d729a2ddd46a2d750980998a749cfdfc51e839d
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 15, 2026.

Transparency log

Security for mcdonald 0.2.18

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.

Full provenance

All 2 files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for mcdonald-0.2.18.tar.gz

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 15, 2026.

Transparency log

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.

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