GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — GitHub - bm13563/plotQL: Structured Language for basic plots in terminal

BranchesTags
Open more actions menu

Latest commit

 

History

37 Commits
37 Commits

Folders and files

NameName
Last commit message
Last commit date
docs
docs
 
 
plotql
plotql
 
 
tests
tests
 
 
tree-sitter-plotql
tree-sitter-plotql
 
 
.gitignore
.gitignore
 
 
CLAUDE.md
CLAUDE.md
 
 
CONTRIBUTING.md
CONTRIBUTING.md
 
 
README.md
README.md
 
 
ctl.sh
ctl.sh
 
 
pyproject.toml
pyproject.toml
 
 

Repository files navigation

PlotQL

A SQL-like query language for creating plots. No Python boilerplate, no remembering matplotlib syntax — just describe what you want to plot.

PlotQL TUI

Quick Start

The easiest way to use PlotQL is through the interactive TUI, which allows you to plot data without leaving your terminal:

# Setup (requires uv)
git clone https://github.com/your-username/plotql.git
cd plotql && ./ctl.sh setup
source .venv/bin/activate

# Launch the TUI
plotql

Write queries like:

WITH source('docs/example.csv')
    PLOT price AGAINST received_at AS 'line'
    FORMAT color = 'peach'

Press F5 to execute. See TUI documentation for keyboard shortcuts and features.

If you don't have uv, install it from astral.sh/uv.

Python API

PlotQL's core is a standalone library, independent of the TUI. Use it in scripts, Jupyter notebooks, or embed it in your own applications:

from plotql.core import parse, execute, render

query = parse("WITH 'data.csv' PLOT revenue AGAINST month AS 'bar'")
data = execute(query)
result = render(data)

result.save("chart.png")     # Save to file
result.show()                # Display in Jupyter
result.figure                # Access matplotlib figure for customization

This separation means you can use PlotQL's query language in whatever context makes sense for your workflow.

Documentation

  • Syntax & Python API — Full language reference, operators, aggregations, and Python usage
  • Connectors — Data sources: files, folders, ClickHouse databases
  • Engines — Rendering backends and customization
  • TUI — Interactive terminal interface

Contributing

See CONTRIBUTING.md for:

  • Development setup
  • Architecture overview (core/engines/connectors/UI separation)
  • Theme system
  • Tree-sitter grammar workflow
  • Feature checklist

License

MIT

About

Structured Language for basic plots in terminal

Resources

Readme

Contributing

Contributing
Activity

Stars

2 stars

Watchers

0 watching

Forks

0 forks
Report repository

Releases

Packages

Contributors

Languages

You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.