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.2.tar.gz (222.7 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.2-py3-none-any.whl (67.1 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: vadalog_extension-3.0.2.tar.gz
  • Upload date:
  • Size: 222.7 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.2.tar.gz
Algorithm Hash digest
SHA256 d3705248556c6f6b0cae47a1fd43192fc985557691b98ab5fcb6616a05d1b70b
MD5 2e025f683d3220b15d7255f60f79f579
BLAKE2b-256 80ded65fe5a6461a09571a7b1ba531bd2fe3274d004728bba2da5500c572cb97

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for vadalog_extension-3.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 908512130c700c106a15e6e5f4d6013d9a1501e81d0a2b7bfa0146bc373e0c11
MD5 2f441143c17ea25fed9f3b2c7fa50360
BLAKE2b-256 d96de8a96481f075aba2c240cb1062550eb0e3e0d93063279fc6c43c73bf0536

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