Skip to main content

DevScholar for JupyterLab

PyPI License: MIT Tests

Your Notebooks, Connected to Knowledge.

DevScholar automatically detects research paper references (arXiv, DOI, IEEE, Semantic Scholar) in your Jupyter notebooks and provides rich metadata on hover, PDF preview, and citation management.

Hover a paper reference to see its metadata, then preview the PDF inside JupyterLab

Screenshots: hover metadata, PDF preview and Search & Cite

Hover over a paper reference to see its title, authors, year and abstract

Preview the PDF of a paper inside JupyterLab

Search for a paper and insert a citation into the active cell

If DevScholar saves you time, please ⭐ star the repository. It helps other researchers find it.

Features

1. Automatic Paper Detection

Detects paper references in both code comments and markdown cells:

  • arXiv: arxiv:1706.03762, https://arxiv.org/abs/2301.12345
  • DOI: doi:10.1038/nature14539, https://doi.org/...
  • IEEE: ieee:726791, IEEE Xplore URLs
  • Semantic Scholar: Paper URLs and Corpus IDs
  • OpenAlex: openalex:W1234567890

2. Rich Hover Metadata

Hover over any paper reference to see:

  • Title & Authors
  • Abstract
  • Publication Year
  • Citation Count (DOI, OpenAlex and Semantic Scholar references)
  • Direct links to PDF and paper page

Metadata comes from APIs that allow browser requests: DataCite for arXiv, OpenAlex for DOIs, and Semantic Scholar for Semantic Scholar IDs. IEEE document numbers are linked to IEEE Xplore without metadata, because no open API resolves them.

Citation counts for arXiv papers need a free Semantic Scholar API key. Paste it into Settings → Settings Editor → DevScholar → Semantic Scholar API Key. Without a key Semantic Scholar rate-limits anonymous browser requests too aggressively to be usable, so arXiv references show title, authors, year and abstract only.

3. Smart Highlighting

Paper references are underlined with color-coded indicators by source type, both in rendered markdown and inside the cell editor.

4. Search & Cite

Search for papers by name and insert citations directly into your notebook:

  • Use Ctrl/Cmd+Shift+P or Command Palette → "Search & Cite Paper"
  • Search by title, author, or keyword
  • Results from OpenAlex with citation counts
  • Inserts properly formatted citations

5. PDF Preview

Preview paper PDFs directly inside JupyterLab:

  • Click "Preview PDF" in the hover tooltip, or run "Preview Paper PDF"
  • Uses the browser's built-in PDF viewer (paging, zoom, search, text selection)
  • Works with arXiv and open access papers whose host allows browser downloads

6. Citation Management

  • Show All Paper References: A dialog listing every reference in the notebook with links
  • Export Bibliography: Copies BibTeX for all papers to the clipboard (shown in a dialog if the clipboard is unavailable)

7. Zotero Sync

Two-way sync between your notebooks and Zotero library:

  • Export papers from notebooks to Zotero
  • Import citations from Zotero
  • Link workspaces to Zotero collections
  • Duplicate detection

8. Mendeley Sync

Two-way sync with Mendeley:

  • Export papers to Mendeley
  • Import citations from Mendeley
  • Link workspaces to Mendeley folders

9. Help menu

The Help menu gains two entries: Star DevScholar on GitHub and Report a DevScholar Issue. Both are also available from the command palette and the link is repeated in the DevScholar settings page.

Installation

Prerequisites

  • JupyterLab >= 4.0

Install from PyPI

pip install devscholar-jupyter

Install from source (development)

git clone https://github.com/pallaprolus/devscholar-jupyter.git
cd devscholar-jupyter
pip install -e .
jupyter labextension develop . --overwrite

Usage

  1. Open any Jupyter notebook
  2. Add paper references in comments or markdown:

In code cells:

# Implements attention mechanism from arxiv:1706.03762
def attention(q, k, v):
    ...

In markdown cells:

This implementation is based on the Transformer architecture
described in [arxiv:1706.03762](https://arxiv.org/abs/1706.03762).
  1. Hover over references to see metadata
  2. Use Command Palette → "DevScholar: Export Bibliography" to get BibTeX

Commands

Command Description
DevScholar: Show All Paper References List all papers found in the notebook
DevScholar: Search & Cite Paper Search and insert citations
DevScholar: Export Bibliography (BibTeX) Copy BibTeX for all papers

Settings

Configure via Settings → Advanced Settings Editor → DevScholar:

Setting Default Description
highlightPapers true Highlight paper references
showTooltips true Show metadata on hover
parseCodeCells true Detect papers in code comments
parseMarkdownCells true Detect papers in markdown
prefetchMetadata true Auto-fetch metadata
cacheMaxAge 7 Cache duration in days

Roadmap

  • Paper detection in code and markdown cells
  • Hover metadata from arXiv, DOI, OpenAlex
  • BibTeX export
  • Search & cite dialog
  • PDF preview panel
  • Zotero/Mendeley sync
  • Google Colab support (browser extension)

Contributing

Contributions welcome! Please see CONTRIBUTING.md for guidelines.

License

MIT License - see LICENSE for details.


Part of the DevScholar ecosystem - Connecting code to knowledge.

Metadata

Release files for devscholar-jupyter 0.4.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for devscholar-jupyter 0.4.0
File Size Uploaded
devscholar_jupyter-0.4.0.tar.gz 996.0 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for devscholar-jupyter 0.4.0
File Interpreter ABI Platform
devscholar_jupyter-0.4.0-py3-none-any.whl Python 3 none any Details

Total release size: 1.0 MB

Release files / devscholar_jupyter-0.4.0.tar.gz

Download URL devscholar_jupyter-0.4.0.tar.gz
Size 996.0 kB
Tags Source
SHA-256 checksum
How to use checksums
396720206699ab8e88af2bb8610905b5b43e986840dd2f4cf0e987186df245f7
BLAKE2b-256 checksum
How to use checksums
81e45faa827d5b1dcf81152824cfbbee50af366b9f6a017f1bf9633af46b2615
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 11, 2026.

Transparency log

Release files / devscholar_jupyter-0.4.0-py3-none-any.whl

Download URL devscholar_jupyter-0.4.0-py3-none-any.whl
Size 35.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
432bf424c5a0a6b010661ae147d56f42cc93c3a92bc0845241d2491313ea0a31
BLAKE2b-256 checksum
How to use checksums
4c206f9d6828ef195c89f13d8d14a7e370a9ee3360334eceaeed33f94e242231
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 11, 2026.

Transparency log

Release history Release notifications | RSS feed

0.5.0

2 release files

This release

0.4.0 This release

2 release files

0.3.0

2 release files

0.2.0

2 release files

0.1.7

2 release files

0.1.6

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page