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).
Automatic Updates (Recommended)
Using GitHub Actions
A GitHub Actions workflow has been configured to automatically update publications:
- Manual Trigger: Go to the “Actions” tab in your repository, select “Update ORCID Publications”, and click “Run workflow”
- 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:
- Fetch all works from your ORCID profile
- Download citation information for each work
- 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:
OrcidToBib.ipynb- Fetches ORCID data and converts to BibTeXPubsFromBib.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:
- Use the GitHub Actions workflow (it has internet access)
- 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.
