LibMatch is an AI-powered framework for proactive talent acquisition that identifies qualified developers for a given job posting by matching job requirements with technology libraries used by GitHub developers.
Annals of Data Science, 2026
Paper · Installation · Usage · Citation
Python package implementing LibMatch for developer talent acquisition by matching job descriptions with developer libraries using KeyBERT and SentenceBERT.
pip install -r requirements.txtpython libmatch/devlibmatcher/pipeline.py --use-library-ranking-csv --use-anonymizedOr using Python:
from libmatch.devlibmatcher.pipeline import devlibmatcher
results = devlibmatcher(
use_library_ranking_csv=True,
use_anonymized=True
)The package includes anonymized data files in libmatch/data/:
library_similarity_ranking.csv- Pre-computed library similarity rankingdeveloper_pool_anonymized.csv- Anonymized developer pool datavalidation_labels_anonymized.csv- Anonymized validation labelsfinetuning_training_data.csv- Training data for fine-tuning (4,471 library description-keyword pairs)ToolBERT.csv- StackShare.io tool data (2,237 entries)
Fine-tuned SentenceBERT model is included in libmatch/model/:
all-mpnet-base-v2-finetuned-stackwiki-accelerate/- Fine-tuned model (418MB, tracked via Git LFS)
libmatch/
├── libselector/ # Phase 1: LibSelector
├── devlibscraper/ # Phase 2: DevLibScraper
├── devlibmatcher/ # Phase 3: DevLibMatcher
├── data/ # Data files
└── model/ # Fine-tuned model
To fine-tune your own SentenceBERT model:
from libmatch.libselector.fine_tuning import fine_tune_sentencebert
fine_tune_sentencebert(
training_data_path='libmatch/data/finetuning_training_data.csv',
output_path='output/my-model'
)Treasure Hunting in the Talent Ocean: Automating Talent Acquisition for Competent Developers from GitHub
This repository implements the three-phase framework proposed in the paper:
- LibSelector — Selects software libraries relevant to a given job posting.
- DevLibScraper — Identifies GitHub developers who have used the selected libraries.
- DevLibMatcher — Matches and classifies developer candidates according to the job requirements.
@article{kim2026libmatch,
title = {Treasure Hunting in the Talent Ocean: Automating Talent Acquisition for Competent Developers from GitHub},
author = {Kim, Minchan and Lee, Hakyeon},
journal = {Annals of Data Science},
year = {2026},
doi = {10.1007/s40745-026-00705-4}
}