The Audio and Moving Image (AMI) Preservation team at the New York Public Library (NYPL) is dedicated to ensuring the long-term preservation and access of the Library's audiovisual collections. This repository houses a collection of resources, tools, and internal documentation that underpin our digitization, quality assurance, and quality control efforts.
Explore the repository using the following links:
This project includes two types of dependencies that must be installed:
- System-level tools (e.g.,
ffmpeg,sox, etc.) - Python packages (e.g.,
pandas,boto3, etc.)
Follow these steps to set up your environment:
First, install the external command-line tools that the Python scripts rely on.
macOS (using Homebrew)
You have two options for installing system-level tools on macOS.
This repository includes a setup script, install_amip.sh, which will configure a new Mac with Homebrew, all required command-line tools, language runtimes (Python, Ruby, Java), and useful GUI applications.
This script is located in the ami_scripts directory.
# Make sure you have cloned this repository first
cd ami_scripts
chmod +x install_amip.sh
./install_amip.shIf you prefer to install only the minimum required tools, ensure you have Homebrew installed, and then run the following command in your terminal:
brew install ffmpeg sox mediaconch mkvtoolnix mediainfoNote: Add any other required tools such as
rawcookedormakemkvif your scripts depend on them.
Use your system’s package manager (e.g., apt-get for Ubuntu or winget for Windows) to install equivalent packages.
Once the system tools are installed, use pip to install the NYPL AMI Preservation package. This will:
- Download the project from GitHub
- Install all required Python packages (e.g.,
pandas,boto3, etc.) - Make all 60+ scripts available as runnable commands in your terminal
python3 -m pip install -v git+https://github.com/NYPL/ami-preservationYour shell must be made aware of the new commands.
If you are using pyenv (recommended):
pyenv rehashIf not, simply open a new terminal session to refresh your shell environment.
You’re all set! You can now run any script as a direct command.
Try running one with the --help flag to verify it’s working:
validate-ami-bags --help