Using the CV Tool
Relevant Ex Libris Documentation
- Working with Research Assets
Ideally, you will have an understanding of Esploro research assets, asset types, and bulk importing via csv
Info
Seth Thompson 9/11/2026. Tool created April - August 2026 with Claude Code.
This tool allows you to instantly bulk import all publications from a researcher’s CV
You will need:
- To download the tool and its listed requirements from github.com/uidaholib/verso_cv_parser
- An account on developers.exlibrisgroup.com with the ability to mint API keys
- Access to University of Idaho’s Mindrouter, also with an API key
- Esploro access
Setting up the directory
Download the CV Tool repo to a convenient location on your computer. You should have a handful of py, md, txt files and a couple folders.
Open .env. Enter the following and save:
- ESPLORO_API_KEY= This is the ‘Esploro Assets’ key from developers.exlibrisgroup.com
- ESPLORO_BASE_URL=https://api-na.hosted.exlibrisgroup.com
- ESPLORO_API_RESEARCHERS= This is the ‘Esploro Researchers’ key from developers.exlibrisgroup.com
- MINDROUTER_API_KEY= Your API key from U of I Mindrouter
I recommend setting up output folders. I used this tool on faculty from all over the university, so I had one folder for each college:
You can create as many or as few folders as you like. Note that any folders that you add to the repo will be detected as output folders.
Running the tool
Save the CV you want to use the tool on to the InputCV folder.
Open the terminal. Use the cd command to navigate to the directory you have the tool in.
The tool call follows this format: python main.py “Location of the CV”
As you can see, I am running the tool out of C:\Claude\cv-parser, and I point to the location of the input CV inside the blue quoted text.
Hit Enter to begin running.
You will first be prompted to select an output location. This is where it is nice to have an organized folder structure. Selecting current directory will simply place the output in the same directory as the tool itself.
After selecting the output folder, the tool will search the CV for the @uidaho.edu email of that researcher. If no email is found (or the email in the CV is not a uidaho address) you will have to type it manually. It must be a uidaho email.
In this case, Mya Groza’s email was not found in the CV, so I copied it into the prompt and hit enter.
The email will now be used by the tool to look up the researcher and their publications in the Esploro API.
If a researcher has multiple U of I affiliations, you will be given a list and asked to select one.
If a user only has one affiliation, the tool will automatically move to the next step.
The tool will now read the entire CV and extract publications. It checks the researchers current output in Esploro and skips any publications that we already have.
For any assets with a DOI, the tool will travel to that URL and capture any extra metadata that it can find. For certain asset types (journal articles, books, etc), it will do a title search to try and enhance the metadata if no DOI is given.
At the end of the run, you will get a summary report on the terminal screen:
I will explain the creator row / primary ID section below.
Outputs and Data Cleaning
The tool sends three output files to the output folder. duplicates.txt, summary.txt, and a CSV file.
Duplicates.txt shows the titles of the assets that were found to already be in Esploro.
Summary.txt provides a clean picture of what will be added to the researchers profile if no changes are made to the CSV.
This is a convenient file that you can share with the researcher if you would like to communicate with them or have them approve the bulk import.
The final output is a CSV file. This file is very specifically structured to match the Esploro bulk import CSV structure. It would behoove you to be familiar with this (see docs).
Scan the csv to make sure that the metadata was harvested correctly. It is much faster to make edits to this csv than it is to access an asset in the Esploro backend later on.
The final text output in the terminal should have told you how many creator rows were stamped automatically, and how many assets need primary ID verification.
Having the primary ID field filled out for each asset allows you to instantly upload every asset in the csv directly to the researcher’s profile, making it one of the more important bits of metadata.
You can see here Mya’s name changed from Pronschinske to Groza. The tool did not recognize Pronchinske as her, and therefore did not stamp her primary ID on assets with that name.
Simply copy/paste the ID to the correct creator row for each unrecognized asset.Even with the different name, the primary ID will ensure that the asset ends up on the right account.
If you recognize any other U of I researchers while scanning the csv, you can copy in their unique ID where appropriate to quickly add assets to their profile as well.
This is recommended to avoid uploading duplicate assets if you ever run the tool on one of these related researchers as well.
Importing the Data
Once you are confident that the csv is ready, you can begin the bulk upload.
Repository > Import Assets > Manage Import Profiles
Click the three dots button on ‘Import as Immediate Deposit’ and click ‘Run’
Click select file and upload the csv file.
The files list should have the same number of files as there are assets in the csv.
Click submit.
After a few minutes, you will get a notification that the import is done. The researcher’s profile in Verso should now have all the assets from the csv.
Navigate to Admin > Manage Sets
There should be a new set with all the assets you just uploaded.
Change the name to ‘Researcher_Name CV Import’ and apply the CV Import label.
You can now easily identify the set, who it is associated with, and that it was generated with the tool.
Should something go wrong with the import, you can run the ‘Delete Set of Research Assets’ job on the set.
You have now successfully bulk updated a researcher profile using their CV.
