The first open-source Python library bridging Organizational Psychology and Artificial Intelligence research.
Built from peer-reviewed research · Designed for researchers by a researcher
📚 Documentation · 🚀 Quick Start · 📊 Module 1: Bibliometric · 🗺️ Roadmap · 📝 Cite
psych-ai-toolkit operationalizes research methods from peer-reviewed publications into reusable Python tools for the academic and HR-tech communities.
Built by Muhammad Inzamam Khan — Postgraduate Researcher at Universitas Indonesia (MS in Industrial & Organizational Psychology), this toolkit grew directly from real research challenges encountered while conducting bibliometric analyses, meta-analyses, and AI literacy studies.
"I spent weeks manually processing bibliometric data for my AI Literacy in Education paper. I built this so no researcher ever has to do that again."
| Publication | Module |
|---|---|
| Khan et al. (2024). GenAI in HRM. Asian Journal of Logistics Management, 3(2), 104-125. | bibliometric, hr_ai_readiness |
| Khan et al. (2025). Organizational Culture & IWB. Journal of Psychological Perspective, 7(1). | meta_analysis |
| Khan & Hussain (2025). PsyCap & Job Burnout Meta-Analysis. (Under Review) | meta_analysis |
| Khan, M.I. (2025). AI Literacy in Education: Bibliometric Analysis. (Ongoing) | bibliometric |
pip install psych-ai-toolkit
# or clone for latest version:
git clone https://github.com/inzamamkhan/psych-ai-toolkit.git
cd psych-ai-toolkit && pip install -r requirements.txtfrom psych_ai_toolkit import BibliometricAnalyzer
# Load your Scopus / WoS / Google Scholar export
analyzer = BibliometricAnalyzer("your_data.csv")
# See a full summary
analyzer.summary()
# Generate everything: charts, tables, HTML report
analyzer.full_report("output/")Output:
✅ Data loaded: 347 records | Columns mapped: ['title', 'year', 'authors', 'keywords', ...]
=======================================================
📊 BIBLIOMETRIC SUMMARY — psych-ai-toolkit
=======================================================
📄 Total Records : 347
📅 Year Range : (2015, 2024)
📖 Years Covered : 10
📚 Unique Journals : 48
👥 Unique Authors : 892
🔢 Total Citations : 14,382
📈 Avg Citations : 41.4
🏆 H-Index : 38
=======================================================
✨ Report complete! 24 outputs saved to: output/
Status: ✅ Released (v1.0.0)
The most comprehensive Python bibliometric toolkit for psychological and AI-related research. Supports Scopus, Web of Science, and Google Scholar exports with automatic column detection.
| Feature | Description |
|---|---|
| Publication Trend | Annual + cumulative growth charts |
| Author Analysis | Prolific authors, collaboration pairs, co-authorship networks |
| Keyword Analysis | Frequency, co-occurrence matrix, word cloud, network maps |
| Journal Analysis | Top sources, Bradford's Law zone classification |
| Citation Metrics | H-index, total citations, most-cited papers, citation-by-year |
| Lotka's Law | Author productivity distribution with theoretical overlay |
| Network Visualization | Interactive HTML + static matplotlib networks |
| Auto HTML Report | Self-contained report with embedded charts & tables |
from psych_ai_toolkit import BibliometricAnalyzer
from psych_ai_toolkit.bibliometric import CoOccurrenceNetwork, ReportGenerator
# ── Load Data ──────────────────────────────────────────────────────────
analyzer = BibliometricAnalyzer("scopus_export.csv") # auto-detects Scopus/WoS/custom
# ── Summary ────────────────────────────────────────────────────────────
stats = analyzer.summary()
# Returns: total_records, year_range, unique_journals, unique_authors,
# total_citations, avg_citations, h_index
# ── Publication Trend ──────────────────────────────────────────────────
trend = analyzer.publication_trend(cumulative=True)
# Returns: DataFrame [Year, Publications, Cumulative]
# ── Authors ────────────────────────────────────────────────────────────
top_authors = analyzer.top_authors(n=10)
# Returns: DataFrame [Author, Publications, Total Citations]
pairs = analyzer.author_collaboration_pairs(min_papers=2)
# Returns: DataFrame [Author 1, Author 2, Collaborations]
# ── Keywords ───────────────────────────────────────────────────────────
kw_freq = analyzer.keyword_frequency(n=30)
# Returns: DataFrame [Keyword, Frequency]
cooc_matrix = analyzer.keyword_cooccurrence_matrix(top_n=25)
# Returns: symmetric DataFrame (co-occurrence counts)
# ── Journals ───────────────────────────────────────────────────────────
journals = analyzer.top_journals(n=10)
# Returns: DataFrame [Journal, Publications, Total Citations]
bradford = analyzer.bradfords_law()
# Returns: DataFrame with Zone column (Core / Zone 2 / Zone 3)
# ── Citations ──────────────────────────────────────────────────────────
cited = analyzer.most_cited_papers(n=10)
cite_trend = analyzer.citation_by_year()
# ── Lotka's Law ────────────────────────────────────────────────────────
lotka = analyzer.lotkas_law()
# ── Network Analysis ───────────────────────────────────────────────────
net = CoOccurrenceNetwork(analyzer)
net.plot_keyword_network(top_n=25, save_path="keyword_network.png")
net.plot_author_network(top_n=30, save_path="author_network.png")
net.export_interactive_network("keyword", top_n=25, save_path="interactive.html")
net_stats = net.network_statistics()
# ── HTML Report ────────────────────────────────────────────────────────
report = ReportGenerator(analyzer)
report.generate_html_report(
output_dir="output/",
title="AI Literacy in Education: Bibliometric Analysis 2015–2024",
author_name="Muhammad Inzamam Khan",
affiliation="Universitas Indonesia"
)
# ── Full Pipeline (everything above in one call) ───────────────────────
analyzer.full_report("output/")| Source | Export Format | Auto-Detected |
|---|---|---|
| Scopus | CSV | ✅ |
| Web of Science | CSV / TXT | ✅ |
| Google Scholar (via Publish or Perish) | CSV | ✅ |
| Custom | CSV (with Title, Year, Authors) | ✅ |
| Module | Description | Status |
|---|---|---|
| Module 1: Bibliometric | Publication analysis, keyword networks, Bradford & Lotka laws | ✅ Released |
| Module 2: Meta-Analysis | Effect sizes (Cohen's d, Hedges' g), forest plots, funnel plots, heterogeneity | 🔨 Building |
| Module 3: AI Literacy Scorer | Survey scoring, dimensional profiles, norm benchmarking | 📅 Q2 2025 |
| Module 4: HR AI Readiness | Organizational assessment, NLP on responses, risk scoring | 📅 Q3 2025 |
| Streamlit Dashboard | Interactive web app for all modules | 📅 Q2 2025 |
psych-ai-toolkit/
│
├── 📦 psych_ai_toolkit/
│ ├── bibliometric/
│ │ ├── analyzer.py ← Core engine (BibliometricAnalyzer)
│ │ ├── visualizations.py ← 10 publication-ready charts
│ │ ├── network.py ← Keyword & author networks (NetworkX)
│ │ └── report.py ← Auto HTML report generator
│ └── __init__.py
│
├── 📊 datasets/
│ └── sample/
│ ├── ai_literacy_sample.csv ← 200-record demo dataset
│ └── generate_sample_data.py ← Dataset generator
│
├── 📓 notebooks/
│ └── 01_bibliometric_demo.ipynb ← Full walkthrough
│
├── 🧪 tests/
│ └── test_bibliometric.py
│
├── requirements.txt
├── setup.py
└── README.md
python -m pytest tests/ -vContributions welcome! Especially:
- New visualization types
- Support for additional export formats (PubMed, Lens.org)
- Translations / multilingual support
- Module 2 (Meta-Analysis) development
See CONTRIBUTING.md for guidelines.
Full documentation available at psych-ai-toolkit.readthedocs.io
If you use psych-ai-toolkit in your research, please cite:
@software{khan2025psychaitoolkit,
author = {Khan, Muhammad Inzamam},
title = {psych-ai-toolkit: An Open-Source Python Library for
AI-Augmented Psychological Research},
year = {2025},
version = {1.0.0},
url = {https://github.com/inzamamkhan/psych-ai-toolkit},
note = {Universitas Indonesia}
}Also consider citing the foundational papers:
@article{khan2024genai,
author = {Khan, M.I. and Parahyanti, E. and Hussain, S.},
title = {The Role of Generative AI in Human Resource Management},
journal = {Asian Journal of Logistics Management},
volume = {3},
number = {2},
pages = {104--125},
year = {2024},
doi = {10.14710/ajlm.2024.24671}
}Muhammad Inzamam Khan
MS Industrial & Organizational Psychology | Universitas Indonesia
📧 muhammad.inzamam@ui.ac.id
🔗 LinkedIn
🎓 Google Scholar | ResearchGate
Made with ❤️ for the research community
⭐ If this toolkit helped your research, please star the repo!