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

Uploaded Python 3

File details

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

File metadata

  • Download URL: vadalog_extension-3.0.4.tar.gz
  • Upload date:
  • Size: 223.6 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.4.tar.gz
Algorithm Hash digest
SHA256 e7d926247ca323aae85a4d8de74e2f93cd959c9cb6a2173f6af65ce405e1d50b
MD5 5d034cb124ed5152114e696533e9787f
BLAKE2b-256 e71c5e0595e355aaf2822ab2fac2c98f523220d3fdcaa1a3e9186b907714e2b1

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for vadalog_extension-3.0.4-py3-none-any.whl
Algorithm Hash digest
SHA256 b64f08c4a65f3ebc72846b9ae79d46f9b7d3f377da706744727b23eca1a488ef
MD5 207bda22d887e778122a5c34f39bc32a
BLAKE2b-256 7d16cad9b3114b8659ff91dd088cbd04ad1f3629294f0d6fc5e43d7f0cc7112e

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