Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Skelf-Research/l0l1

Open more actions menu

Repository files navigation

l0l1

SQL that learns. AI that validates. Privacy that protects.

CI Python 3.11+ License: MIT Docs

Website | Documentation | API Reference | Examples | Skelf Research


What is l0l1?

l0l1 is a developer toolkit for SQL analysis that combines AI-powered validation with continuous learning. It detects PII, suggests improvements, and gets smarter from your successful queries.

# Validate with AI insights
$ l0l1 validate "SELECT * FROM users WHERE email LIKE '%@%'"

# Detect PII automatically
$ l0l1 check-pii "SELECT ssn, email FROM customers"
  Found: SSN, EMAIL_ADDRESS
  Anonymized: SELECT <SSN>, <EMAIL> FROM customers

# Learn from your patterns
$ l0l1 complete "SELECT * FROM orders WHERE"
  Suggestions based on 47 learned patterns...

Installation

# Clone and install with uv (recommended)
git clone https://github.com/skelf-research/l0l1-api.git && cd l0l1-api
uv sync

# Or install from PyPI
pip install l0l1

Requirements: Python 3.11+, OpenAI or Anthropic API key

Quick Start

# Set your API key
export OPENAI_API_KEY="sk-..."

# Validate a query
uv run l0l1 validate "SELECT * FROM users WHERE id = 1"

# Start the API server
uv run l0l1-serve
# API at http://localhost:8000, docs at /docs

Core Features

Feature Description
AI Validation Multi-provider support (OpenAI, Anthropic) for query analysis
PII Detection Presidio-powered detection and anonymization
Continuous Learning Graph-based pattern learning from successful queries
Multi-Interface CLI, REST API, Jupyter magic, VS Code extension
Schema Aware Context-aware validation with schema introspection

Usage

CLI

l0l1 validate "SELECT * FROM users"           # Validate syntax and semantics
l0l1 explain "SELECT COUNT(*) FROM orders"    # Get AI explanation
l0l1 check-pii "SELECT email FROM users"      # Detect sensitive data
l0l1 complete "SELECT * FROM orders WHERE"    # AI-powered completion
l0l1 serve                                    # Start API server

REST API

# Start server
uv run l0l1-serve

# Validate query
curl -X POST http://localhost:8000/sql/validate \
  -H "Content-Type: application/json" \
  -d '{"query": "SELECT * FROM users", "schema_context": "users(id, name, email)"}'

# Check PII
curl -X POST http://localhost:8000/sql/check-pii \
  -H "Content-Type: application/json" \
  -d '{"query": "SELECT * FROM users WHERE email = '\''john@example.com'\''"}'

Python SDK

from l0l1.models.factory import ModelFactory
from l0l1.services.pii_detector import PIIDetector
from l0l1.services.learning_service import LearningService

# AI-powered validation
model = ModelFactory.get_default_model()
result = await model.validate_sql_query(
    "SELECT * FROM users WHERE id = 1",
    schema_context="users(id INT, name VARCHAR, email VARCHAR)"
)

# PII detection
detector = PIIDetector()
findings = detector.detect_pii("SELECT * FROM users WHERE ssn = '123-45-6789'")
anonymized, _ = detector.anonymize_sql(query)

# Learning from successful queries
learning = LearningService()
await learning.record_successful_query("workspace-1", query, execution_time=0.5)
suggestions = await learning.get_query_suggestions("SELECT * FROM", "workspace-1")

Jupyter Integration

# Load the magic extension
%load_ext l0l1.integrations.jupyter.magic

# Use magic commands
%%sql_validate
SELECT u.name, COUNT(o.id)
FROM users u JOIN orders o ON u.id = o.user_id
GROUP BY u.name

Configuration

Create a .env file or set environment variables:

# Required: AI Provider (at least one)
OPENAI_API_KEY=sk-...
# ANTHROPIC_API_KEY=sk-ant-...

# Optional: Provider selection
L0L1_AI_PROVIDER=openai          # or "anthropic"

# Optional: Features
L0L1_ENABLE_PII_DETECTION=true
L0L1_ENABLE_LEARNING=true

# Optional: Server
L0L1_API_PORT=8000
L0L1_CORS_ORIGINS=http://localhost:3000

See Configuration Guide for all options.

Architecture

l0l1/
├── api/           # FastAPI REST API
├── cli/           # Typer CLI
├── core/          # Configuration
├── models/        # AI providers (OpenAI, Anthropic)
├── services/      # Core services
│   ├── pii_detector.py      # PII detection (Presidio)
│   ├── learning_service.py  # Pattern learning
│   ├── database_service.py  # DB connections
│   └── schema_service.py    # Schema management
└── integrations/
    ├── jupyter/   # Notebook integration
    └── ide/       # LSP server

Development

# Setup dev environment
make setup

# Run tests
make test

# Lint and format
make lint
make format

# Start dev server with reload
make serve

# Build documentation
make docs

Docker

# Build and run
docker-compose up -d

# Check health
curl http://localhost:8000/health

Documentation

Full documentation at docs.skelfresearch.com/l0l1

Contributing

Contributions welcome! See Development Guide.

# Fork, clone, then:
uv sync --all-extras
pre-commit install
make test

License

MIT License - see LICENSE



Part of Skelf Research

l0l1 is built by Skelf Research — an independent UK AI research lab publishing production-grade open-source projects.

🌐 Website · 📚 Documentation · 🔬 All projects · 🤗 Hugging Face

Related projects: compere (pairwise ranking) · mpl (agent-comms contracts) · savanty (English→constraint solver)

Released under MIT / Apache-2.0. © Skelf Research Limited.

Releases

Packages

Contributors

Languages

Morty Proxy This is a proxified and sanitized view of the page, visit original site.