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 over a paper reference to see its title, authors, year and abstract

More screenshots: PDF preview and Search & Cite

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.

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

Related Projects

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.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

devscholar_jupyter-0.3.0.tar.gz (801.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

devscholar_jupyter-0.3.0-py3-none-any.whl (34.1 kB view details)

Uploaded Python 3

File details

Details for the file devscholar_jupyter-0.3.0.tar.gz.

File metadata

  • Download URL: devscholar_jupyter-0.3.0.tar.gz
  • Upload date:
  • Size: 801.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for devscholar_jupyter-0.3.0.tar.gz
Algorithm Hash digest
SHA256 bd9573270cc5152eff99079fa1ce6b57f35769ccd76a0dd2a2ba975147d6c30b
MD5 c5a8d91d249aa40a6ae53558b2356446
BLAKE2b-256 28f0a3d8536ed713fc9cca4ca768b5664f4d9e0b5e8892844114b3d82ccd609e

See more details on using hashes here.

Provenance

The following attestation bundles were made for devscholar_jupyter-0.3.0.tar.gz:

Publisher: publish.yml on pallaprolus/devscholar-jupyter

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file devscholar_jupyter-0.3.0-py3-none-any.whl.

File metadata

File hashes

Hashes for devscholar_jupyter-0.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 eff94c9d982ee571de6edaa7300cbc639a8f3b99827bb4d1b2f4ae29b52ed5d5
MD5 e5b9630cf3a4092d2d1566363de52358
BLAKE2b-256 1165644fa408a0bcb4f4596834da29892d2b162859ed165ed18d5c55bd26ce5e

See more details on using hashes here.

Provenance

The following attestation bundles were made for devscholar_jupyter-0.3.0-py3-none-any.whl:

Publisher: publish.yml on pallaprolus/devscholar-jupyter

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

This release

0.3.0 This release

2 files

0.2.0

2 files

0.1.7

2 files

0.1.6

2 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