Skip to main content

JupyterLab extension for Vadalog language support with syntax highlighting, linting, and execution control

Project description

Vadalog Extension for JupyterLab

JupyterLab 4 Python 3.8+ License

A JupyterLab extension that provides comprehensive support for the Vadalog knowledge graph system, including syntax highlighting, code linting, and execution control.

Features

Syntax Highlighting - Beautiful CodeMirror 6-based syntax highlighting for Vadalog code
🔍 Code Linting - Real-time error detection and code analysis
⏱️ Execution Timer - Displays accurate execution time from the backend
🛑 Stop Button Integration - Intercepts the standard Jupyter stop button to gracefully halt Vadalog execution
📊 Beautiful Output Tables - Modern styled result tables with JetBrains Mono font
🎨 Modern UI - Clean, professional interface integrated seamlessly with JupyterLab 4

Requirements

  • JupyterLab >= 4.5.0
  • Python >= 3.8
  • Vadalog kernel (included in the vadalog-parallel repository)

Installation

From PyPI

pip install vadalog-extension

From Source

git clone https://github.com/prometheuxresearch/vadalog-parallel.git
cd vadalog-parallel/jupyter-lab-extensions/vadalog-extension
pip install -e .

Usage

  1. Start JupyterLab:

    jupyter lab
    
  2. Create a new notebook and select the Vadalog kernel

  3. Write your Vadalog code:

    % Define facts
    @input("person").
    person("Alice").
    person("Bob").
    
    % Define rules
    @output("greeting").
    greeting(X, "Hello " + X) :- person(X).
    
  4. Run the cell - enjoy syntax highlighting, execution timing, and beautiful output!

Development

Setup Development Environment

# Clone the repository
git clone https://github.com/prometheuxresearch/vadalog-parallel.git
cd vadalog-parallel

# Create virtual environment
python3 -m venv venv
source venv/bin/activate

# Install dependencies
pip install -r requirements.txt

# Install extension in development mode
cd jupyter-lab-extensions/vadalog-extension
pip install -e .

Watch Mode for Development

# Terminal 1 - TypeScript watch
cd jupyter-lab-extensions/vadalog-extension
jlpm watch

# Terminal 2 - JupyterLab
jupyter lab

Changes to TypeScript files will be automatically rebuilt!

Architecture

This extension is built using:

  • TypeScript - Main extension logic
  • CodeMirror 6 - Syntax highlighting engine
  • React 18 - UI components (shared with JupyterLab)
  • Lumino - Widget framework
  • Hatchling - Modern Python build system

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

License

BSD 3-Clause License - see LICENSE file for details.

About Vadalog

Vadalog is a powerful knowledge graph system developed by Prometheux Limited. It combines the expressiveness of Datalog with advanced reasoning capabilities for complex data analysis and knowledge representation.

Support

For issues, questions, or contributions, please visit:


Made with ❤️ by Prometheux Limited

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

vadalog_extension-3.0.1.tar.gz (224.2 kB view details)

Uploaded Source

Built Distribution

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

vadalog_extension-3.0.1-py3-none-any.whl (67.1 kB view details)

Uploaded Python 3

File details

Details for the file vadalog_extension-3.0.1.tar.gz.

File metadata

  • Download URL: vadalog_extension-3.0.1.tar.gz
  • Upload date:
  • Size: 224.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.12

File hashes

Hashes for vadalog_extension-3.0.1.tar.gz
Algorithm Hash digest
SHA256 5a6f680c71798c38b8c026680b4edb30d01e3b98f7abe502e0222555be8d6195
MD5 3773652e07a23c37050a01c1ee7aa3f2
BLAKE2b-256 22548dfa955028487e7c9f5e8608953607af7228a0183dad810b5304ef45e79a

See more details on using hashes here.

File details

Details for the file vadalog_extension-3.0.1-py3-none-any.whl.

File metadata

File hashes

Hashes for vadalog_extension-3.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 4d0c8100d13721f4ee5c58a2cadc4c9eda338b83e06d9c22cddc0da0c8f1f44d
MD5 ee2210b6335919143748281ce8288e03
BLAKE2b-256 af99a59e0ce32c47c9c71ed8241cfc16ceb1be934ac7fbf4c4a2922e3c5a05c3

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