Updating Publications from ORCID

Updating Publications from ORCID

This directory contains scripts to automatically fetch and update publications from your ORCID profile (0000-0001-6595-5834).

Using GitHub Actions

A GitHub Actions workflow has been configured to automatically update publications:

  1. Manual Trigger: Go to the “Actions” tab in your repository, select “Update ORCID Publications”, and click “Run workflow”
  2. Automatic: The workflow runs monthly on the 1st of each month

Workflow File Location

.github/workflows/update_orcid_publications.yml

Manual Updates

If you prefer to update publications manually or the workflow fails:

Option 1: Using the Python Script (Requires Network Access)

cd markdown_generator
pip install requests pybtex
python3 orcid_to_publications.py

This script will:

  1. Fetch all works from your ORCID profile
  2. Download citation information for each work
  3. Generate individual markdown files in _publications/

Option 2: Using Pre-fetched JSON Data

If you have limited network access, you can fetch the ORCID data separately and process it:

# Step 1: Fetch ORCID data (from a machine with internet access)
curl -H "Accept: application/json" "https://pub.orcid.org/v3.0/0000-0001-6595-5834/works" > orcid_works.json

# Step 2: Process the JSON file
python3 orcid_from_json.py orcid_works.json

Option 3: Using Jupyter Notebooks

The original Jupyter notebooks are also available:

  1. OrcidToBib.ipynb - Fetches ORCID data and converts to BibTeX
  2. PubsFromBib.ipynb - Generates publication markdown files from BibTeX

Scripts Overview

  • orcid_to_publications.py: All-in-one script that fetches ORCID data and generates publications
  • orcid_from_json.py: Processes pre-fetched ORCID JSON data into publications
  • pubsFromBib.py: Legacy script that processes BibTeX files into publications
  • OrcidToBib.ipynb: Jupyter notebook for fetching ORCID data
  • PubsFromBib.ipynb: Jupyter notebook for processing BibTeX files

Publication Metadata

Each generated publication file includes:

  • Title
  • Authors (from citation)
  • Publication date
  • Venue/Journal
  • DOI/URL (when available)
  • Citation string
  • Category (manuscripts or conferences)

Troubleshooting

Network Access Issues

If you cannot access ORCID from your environment:

  1. Use the GitHub Actions workflow (it has internet access)
  2. Fetch the JSON file on another machine and use orcid_from_json.py

Missing Publications

  • Check your ORCID profile at https://orcid.org/0000-0001-6595-5834
  • Ensure publications have proper metadata (title, date, etc.)
  • Publications without required fields may be skipped

Duplicate Publications

The script generates files with date-based filenames. If you run it multiple times, existing files will be overwritten with updated information.

Configuration

The ORCID ID is configured in the scripts:

  • orcid_to_publications.py: Line 21
  • orcid_from_json.py: Line 23

To change the ORCID ID, edit these files and update the workflow.