Documentation

Welcome to the MaRMAT documentation hub. Below you’ll find an overview of key information to help you understand MaRMAT’s features, install dependencies, and operate MaRMAT. For full technical documentation and source code, please visit our GitHub repository.  MaRMAT is open source and community-oriented; we welcome your feedback and bug reporting. For questions or troubleshooting, contact our team through our Contact Form

Features

  • Schema-agnostic tabular metadata analysis
  • Custom and pre-curated lexicon support
  • Batch processing of metadata records
  • Exportable results for further analysis or remediation
  • Support for user-contributed lexicons

Installation

Step 1: Install Python

Make sure you have Python 3 installed on your computer. If Python is not installed, download it here:

Step 2: Install Dependencies

MaRMAT also requires two Python libraries: pandas and PyQt6. To install them, follow the instructions for your operating system below. 

 

MacOS Instructions:

  • Open Terminal 
  • Run the following command: pip3 install pandas PyQt6
  • If you encounter a permissions error, try running the command with elevated privileges: sudo pip install pandas PyQt6

Windows Instructions: 

  • Open Command Prompt (search for cmd) or PowerShell
  • Run the following command: py -m pip install pandas PyQt6

Note: Windows users who have already downloaded MaRMAT can also install dependencies automatically by double-clicking the install-dependencies.bat file.

 

Step 3: Download & Open MaRMAT

  1. Download the appropriate zip file for your operating system from our current release assets.
  2. Unzip the downloaded folder to a location on your computer, such as your Desktop or Downloads folder.
  3. Windows users can open MaRMAT by double-clicking on the run-marmat.bat file. Mac users will need to open MaRMAT using Terminal.

MacOS Users:

  1. Use the cd command to change directories to the unzipped MaRMAT folder. For example, if you unzipped the folder to your Desktop, run: cd Desktop/MaRMAT_v.2.6.0-rc_macOS/src
  2. Run the following command to launch the MaRMAT user interface: python3 main.py

Operating marmat

From the MaRMAT homepage, click Run MaRMAT. You’ll then follow the prompts on each screen to perform the analysis. Below is an overview of each step, along with additional information about how you can use MaRMAT.

Step 1: Load Your Metadata File (.csv)

Click the Load Metadata button and select the metadata file you want MaRMAT to analyze. This should be a CSV (Comma-Separated Values) file containing the records you’d like to assess (e.g., collections metadata, bibliographic metadata, archival descriptions, catalog entries). Your file should include:

  • Descriptive fields (e.g., Title, Description, Subject)
  • A unique identifier (e.g., ID, Accession Number) in one of the columns

Once your file is successfully loaded, click Next to proceed.

Step 2: Load a Lexicon File (.csv) Click the Load Lexicon button and choose the lexicon file MaRMAT will use to analyze your metadata. The lexicon should be in CSV format and contain the terms or phrases you want to flag during analysis, grouped into categories. You may use a pre-curated lexicon or upload your own custom list.
  • Option A: Use a Pre-Curated Lexicon Explore our pre-curated lexicons to get started quickly.

  • Option B: Upload a Custom Lexicon MaRMAT can be used with any custom lexicon, making it a flexible tool for querying metadata in bulk for a variety of use cases beyond reparative metadata practice. To use a custom lexicon, create a CSV file with the following columns:
      • Term – The word or phrase you want to identify
      • Category – A grouping or classification label for the term (e.g., “GenderTerm”)
Note: MaRMAT matches full strings only and does not identify words within words. For example, if your lexicon includes “potatoes,” MaRMAT will not identify “potato” unless “potato” is also explicitly listed in the lexicon.

Once your file is successfully loaded, click Next to proceed.

Step 3: Configure the Analysis

  1. Select the ID Column Choose the column that uniquely identifies each record (e.g., an identifier or accession number). This ensures accurate linking between original records and flagged results. If you do not select one, MaRMAT will default to the first column in your metadata file.

  2. Select the Metadata Fields to Analyze Check the boxes for the columns you want MaRMAT to examine (e.g., Title, Description, Subject). These are the areas where the terms may appear in your metadata.

  3. Select Lexicon Categories Choose one or more categories from your loaded lexicon that you want MaRMAT to check for. This lets you focus your analysis on specific types of language.
Click Next once you’ve made your selections.

Step 4: Perform the Analysis

Click the Select Output Location button and choose where to save the results. By default, the output file will be named MaRMAT_output.csv. Run the Analysis: Click Perform Analysis. MaRMAT will compare your selected metadata fields against the terms in the chosen lexicon categories. The output will include:
    • The record’s unique ID
    • The name of the field containing flagged terms
    • The matched term found in that field
    • The lexicon category for each match
    • The original contents of the metadata field (for context)
    • The output will display in the app and automatically save to the selected location.
Note: Records with multiple matches will appear in multiple rows—one row per term found. When the process is complete, click Finish to return to the MaRMAT homepage.

Credits and Acknowledgments

MaRMAT was developed by librarians at the J. Willard Marriott Library, University of Utah. The tool was inspired by Duke University’s Description Audit Tool and informed by resources such as DLF’s Inclusive Metadata Toolkit. Special thanks to our early testers and all contributors who have helped shaped MaRMAT’s development.

Contact us​

Have questions? We’re always open to talk about how you’re using MaRMAT, new lexicons, ideas for improvements, and how we can help with your metadata assessment projects!

Scroll to Top