autocv

autoCV: An automated CV generator


License
MIT
Install
pip install autocv==1.3.3

Documentation

autoCV

Python package codecov PyPI version

A tool for automatic generation of a LaTeX-based curriculum vitae (CV)

Motivation

I recently wanted to update my CV to include all of my open science activities, such as links to open access papers, code/data, and include DOIs. Rather than doing this by hand for each publication, I decided to build an automated tool to generate a CV using PubMed and ORCID to download the publication information, and a set of text files containing other info. It's still a work in progress but it might be helpful for you; so far I have only tested it on my own CV, and it will almost certainly need work for others (especially if you have a common name that is not uniquely identified with a simple Pubmed query). It will be most useful for more advanced researchers whose CV may be many pages long.

The project takes advantage of the very nice LaTeX CV template from Dario Taraborelli.

Structure

The idea behind this package is to use PubMed and ORCID to obtain an up-to-date CV in a relatively automated way. Using it requires that the user first enter some relevant information into their ORCID account:

  • Education
  • Employment
  • Invited Positions and Distinctions
  • Membership and Service

In addition, it requires generating several CSV files containing other information that is not well organized or available within ORCID:

  • conference.csv: Conference presentations
  • talks.csv: Colloquium and other talks
  • funding.csv: Grants and other funding
  • editorial.csv: Editorial duties and reviewing
  • additional_pubs.csv: Publications that are not found in PubMed/ORCID (including books, book chapters, and conference proceedings - note that ORCID allows addition of books but the metadata are a bit screwy, so I prefer entering them manually in this file)
  • teaching.csv: Courses taught

It also allows addition of links to any reference using a csv file called links.csv.

Finally, you will need to generate a json file called params.json that contains some metadata about you - see example here.

You will need to take a look at the examples of these files in the repository to see their structure.

You can see an example of the output here.

Running the code

First you should install the package:

pip install -U autocv

You will also need a working LaTeX installation - on the mac I use MacTeX.

Then you can run the full process by simply typing autoCV from the directory that contains all of the necessary files. Type autoCV -h for additional options.

NSF Collaborators list

You can use bin/get_NSF_collaborators to create a spreadsheet that generates the raw material from which one can assemble their NSF collaborators spreadsheet. To use this you will need to create a json file that contains details about you; here is an example of what mine looks like:

{
    "lastname": "poldrack",
    "middlename": "alan",
    "firstname": "russell",
    "email": "russpold@stanford.edu",
    "orcid": "0000-0001-6755-0259",
    "query": "poldrack-r",
    "url": "http://www.poldracklab.org",
    "twitter": "@russpoldrack",
    "github": "http://github.com/poldrack",
    "phone": "xxx-xxx-xxxx",
    "address": [ "Stanford University", "Department of Psychology", "Building 420", "450 Jane Stanford Way", "Stanford, CA, 94305-2130" ]
}

Testing

Tests for many of the components can be run using this command:

python -m pytest tests