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

Uploaded Python 3

File details

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

File metadata

  • Download URL: vadalog_extension-3.0.0.tar.gz
  • Upload date:
  • Size: 220.9 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.0.tar.gz
Algorithm Hash digest
SHA256 a4afad19686d189d51224e4959892bdc434ae67ac8a1cd57e50934c765c81a58
MD5 6a8f613ef4b51eb6b61b4ccb853d2f1e
BLAKE2b-256 8f43f987ebc5097c68d28e38b615bcc8f29195339a7997ef3d7a054b90544010

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for vadalog_extension-3.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 65b655622932295922293fd95084ef8075d45df273343274b88aa32ff1c47512
MD5 a0cf18875c54f30fc6614e197027cf12
BLAKE2b-256 c4af82ab386c46ff40937225cd6fad836917500a88febe70324e1e4b2591c495

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