Skip to main content

A JupyterLab extension for academic research management and WWC quality assessment

Project description

jupyterlab_research_assistant_wwc_copilot

Github Actions Status

A JupyterLab extension for academic research management and WWC quality assessment

📖 User Guide - Complete guide for using all extension features

This extension provides two main features:

  • Research Library & Discovery Engine (Stage 1 - ✅ Complete): Discover, import, and manage academic papers with Semantic Scholar and OpenAlex integration, PDF parsing, and AI-powered metadata extraction
  • WWC Co-Pilot & Synthesis Engine (Stage 2 - ✅ Complete): Perform rigorous WWC quality assessments, meta-analysis, conflict detection, subgroup analysis, publication bias assessment, and sensitivity analysis across multiple studies

This extension is composed of a Python package named jupyterlab_research_assistant_wwc_copilot for the server extension and a NPM package named jupyterlab-research-assistant-wwc-copilot for the frontend extension.

Requirements

  • JupyterLab >= 4.0.0
  • Python >= 3.9
  • Node.js (for development)

Optional Dependencies

For advanced features:

  • AI Metadata Extraction: Requires API keys for Claude, OpenAI, or local Ollama instance

  • Paper Discovery: Semantic Scholar and OpenAlex APIs are used for paper discovery. OpenAlex is used as an automatic fallback if Semantic Scholar fails or is rate-limited. No API keys required for either service.

  • Conflict Detection: Requires transformers and torch libraries (optional, can be installed separately)

    To install conflict detection support:

    pip install "jupyterlab-research-assistant-wwc-copilot[conflict-detection]"
    

    This will install both transformers and torch (PyTorch). PyTorch is required as the backend for running the NLI models.

    Note: The first time you run conflict detection, the NLI model (cross-encoder/nli-deberta-v3-base) will automatically download (~500MB-1GB). This makes the first run slower, but subsequent runs will be faster as the model is cached.

    GPU Support: By default, conflict detection uses CPU. To use GPU instead, modify jupyterlab_research_assistant_wwc_copilot/services/conflict_detector.py and change device=-1 to device=0 in the pipeline initialization.

Install

To install the extension, execute:

pip install jupyterlab_research_assistant_wwc_copilot

Uninstall

To remove the extension, execute:

pip uninstall jupyterlab_research_assistant_wwc_copilot

Troubleshoot

If you are seeing the frontend extension, but it is not working, check that the server extension is enabled:

jupyter server extension list

If the server extension is installed and enabled, but you are not seeing the frontend extension, check the frontend extension is installed:

jupyter labextension list

Contributing

For development setup, testing, and contribution guidelines, see the Developer Guide.

AI Coding Assistant Support

This project includes an AGENTS.md file with coding standards and best practices for JupyterLab extension development. The file follows the AGENTS.md standard for cross-tool compatibility.

Compatible AI Tools

AGENTS.md works with AI coding assistants that support the standard, including Cursor, GitHub Copilot, Windsurf, Aider, and others. For a current list of compatible tools, see the AGENTS.md standard. This project also includes symlinks for tool-specific compatibility:

  • CLAUDE.mdAGENTS.md (for Claude Code)

  • GEMINI.mdAGENTS.md (for Gemini Code Assist)

Other conventions you might encounter:

  • .cursorrules - Cursor's YAML/JSON format (Cursor also supports AGENTS.md natively)
  • CONVENTIONS.md / CONTRIBUTING.md - For CodeConventions.ai and GitHub bots
  • Project-specific rules in JetBrains AI Assistant settings

All tool-specific files should be symlinks to AGENTS.md as the single source of truth.

What's Included

The AGENTS.md file provides guidance on:

  • Code quality rules and file-scoped validation commands
  • Naming conventions for packages, plugins, and files
  • Coding standards (TypeScript, Python)
  • Development workflow and debugging
  • Backend-frontend integration patterns (APIHandler, requestAPI(), routing)
  • Common pitfalls and how to avoid them

Customization

You can edit AGENTS.md to add project-specific conventions or adjust guidelines to match your team's practices. The file uses plain Markdown with Do/Don't patterns and references to actual project files.

Note: AGENTS.md is living documentation. Update it when you change conventions, add dependencies, or discover new patterns. Include AGENTS.md updates in commits that modify workflows or coding standards.

Documentation

Comprehensive developer documentation is available in the docs/ directory:

Reference Documentation

  • Master Plan: High-level project architecture and feature breakdown
  • JupyterLab Architecture: Deep dive into JupyterLab extension patterns
  • Getting Started: JupyterLab core development environment setup (for understanding JupyterLab, not this extension)

Key Naming Conventions

  • Python package: jupyterlab_research_assistant_wwc_copilot (underscores)
  • NPM package: jupyterlab-research-assistant-wwc-copilot (dashes)
  • Plugin ID: jupyterlab-research-assistant-wwc-copilot:plugin
  • Command IDs: jupyterlab-research-assistant-wwc-copilot:command-name
  • API Routes: /jupyterlab-research-assistant-wwc-copilot/endpoint-name

For detailed development workflow, see the Developer Guide.

Changelog

See CHANGELOG.md for a detailed list of changes.

Packaging the extension

See RELEASE.md for release instructions.

Project details


Download files

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

Source Distribution

Built Distribution

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

File details

Details for the file jupyterlab_research_assistant_wwc_copilot-0.1.0.tar.gz.

File metadata

File hashes

Hashes for jupyterlab_research_assistant_wwc_copilot-0.1.0.tar.gz
Algorithm Hash digest
SHA256 9d86faf7159c0749e9c7ce228dd8a965238e94b2d6634e7fc02e4e60e9625f09
MD5 d72bd1856501848fba9f29a1b14874b2
BLAKE2b-256 f740342c00391b60801f358b369e3c4a911b02e9554124ceb5b88b0c679215e8

See more details on using hashes here.

File details

Details for the file jupyterlab_research_assistant_wwc_copilot-0.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for jupyterlab_research_assistant_wwc_copilot-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 c33e6f71f982e699e89b72da13abd89ef26bae76825e8a2c695db5ba4855a696
MD5 7b0796bd2ad7b555bc1875aaa4dcaa29
BLAKE2b-256 203af41d4393bcb22790ef02ed65c76f4e22d0caa83cd28511ef511eb64f5472

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page