Skip to main content

weavtui

A terminal UI for exploring Weaviate databases. See your schema as a diagram, browse and search objects, inspect vectors and edit data, all from the terminal. Built with Textual.

Schema diagram

Features

  • Schema diagram: every collection as a UML-like box with its properties, types, aliases and object count, with arrows for cross-references. Export it as Mermaid.
  • Object browser: page through any collection; pages size themselves to your window.
  • Search and filters: keyword (BM25) search plus simple property filters such as year >= 2020 and published = true.
  • Object details: all properties, metadata and vectors.
  • Editing: create, edit (as JSON) and delete objects; delete whole collections, with confirmation.
  • Fits your terminal: no background of its own; uses your terminal's colours plus Weaviate green.
Browse and search Inspect an object
Search with filter Object detail
Edit as JSON Schema and references
Editing an object Schema tab

Installation

weavtui needs Python 3.13 or newer. The easiest way is to install it as a standalone tool with uv or pipx; uv downloads a suitable Python automatically if you don't have one.

uv tool install weavtui     # or: pipx install weavtui
weavtui

Try it without installing:

uvx weavtui

Or install it into an existing environment:

pip install weavtui

Usage

weavtui                                   # localhost:8080, gRPC 50051, no auth
weavtui --port 8180 --grpc-port 50151     # another local instance
weavtui --host db.example --api-key "$KEY"
weavtui --start browse                    # open the object browser instead of the diagram
Option Environment variable Default
--host WEAVTUI_HOST localhost
--port WEAVTUI_PORT 8080
--grpc-port WEAVTUI_GRPC_PORT 50051
--api-key WEAVTUI_API_KEY none
--start (diagram or browse) WEAVTUI_START diagram

weavtui works with Weaviate 1.x through the v4 Python client and is tested against Weaviate 1.40. Aliases need Weaviate 1.32 or newer; on older servers they're simply not shown.

The layout

The collection list on the left is always visible. On the right are three tabs:

  • Diagram: the schema of the whole database.
  • Objects: the selected collection's objects.
  • Schema: the selected collection's full configuration, aliases and references.

Keys

Key Where Action
g anywhere Go to the diagram
← → ↑ ↓ diagram Select a collection (the list on the left follows)
Click diagram Select a collection; click it again to browse its objects
Enter diagram Browse the selected collection's objects
e diagram Export the schema as a Mermaid classDiagram (asks where to save; also copied to the clipboard)
Enter objects Open the selected object
[ ] objects Previous / next page
/ objects Keyword search
n anywhere New object in the current collection
Del objects Delete the selected object
D anywhere Delete the current collection (asks you to type its name)
r anywhere Refresh
Ctrl+P anywhere Command palette, e.g. to switch to the weaviate-light theme
q anywhere Quit

In the object view: e edit, Del delete, v show full vectors, Esc back. The editor takes the properties as JSON; Ctrl+S saves, Esc cancels.

Filters

Conditions joined with and. Values are converted using the property's type from the schema.

year >= 2020 and published = true
title like "*vector*"
tags contains nlp, ml
published_at > 2024-01-01

Operators: = != < <= > >= like contains (matches any of the comma-separated values).

Limitations

  • Multi-tenant collections aren't supported yet (no tenant picker).
  • Cross-reference values aren't shown on objects yet; the diagram shows which collections can reference which.
  • Vectors can be viewed but not edited, and there is no vector search yet.

Development

git clone https://github.com/mdocekal/weavtui && cd weavtui
uv sync
docker compose up -d                       # Weaviate 1.40.3 on localhost:8080 / 50051
uv run python scripts/seed.py              # sample collections, aliases and references
uv run weavtui
uv run pytest                              # integration tests are skipped without Weaviate
uv run ruff check . && uv run ruff format .
  • uv run textual run --dev -c weavtui together with uv run textual console gives you Textual's debug console.
  • uv run python scripts/screenshots.py regenerates the images in docs/images; it needs the seeded database and Inkscape.
  • To use another server version or other ports: WEAVIATE_VERSION=1.39.15 WEAVIATE_HTTP_PORT=18080 WEAVIATE_GRPC_PORT=15051 docker compose up -d (set WEAVTUI_TEST_PORT / WEAVTUI_TEST_GRPC_PORT for the tests).

See AGENTS.md for the code layout and conventions.

Releasing to PyPI

uv version --bump patch        # or minor / major; commit the change
scripts/publish.sh --test      # TestPyPI first (token in UV_PUBLISH_TOKEN)
scripts/publish.sh             # PyPI

The script checks that the working tree is clean and the version isn't tagged yet. It then runs lint and tests, builds, smoke-tests the wheel in a clean environment, checks the package metadata, uploads, and tags the release (vX.Y.Z); pushing the tag is left to you.

License

Released into the public domain under The Unlicense.

Metadata

Release files for weavtui 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for weavtui 0.1.0
File Size Uploaded Provenance Actions
weavtui-0.1.0.tar.gz 26.0 kB Without provenance Details for weavtui-0.1.0.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for weavtui 0.1.0
File Interpreter ABI Platform Actions
weavtui-0.1.0-py3-none-any.whl Python 3 none any Details for weavtui-0.1.0-py3-none-any.whl

Total release size: 55.8 kB

Release files / weavtui-0.1.0.tar.gz

Download URL weavtui-0.1.0.tar.gz
Size 26.0 kB
Tags Source
SHA-256 checksum
How to use checksums
f3fe78b455a2e95eabbe6c598689c718394583e6a7bed91fd750e7b4537d06db
BLAKE2b-256 checksum
How to use checksums
15e01d7abc9232f312ff2fb30a8766fe8c17ec0b535aface3566b60ea47b725c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.12.11 {"installer":{"name":"uv","version":"0.12.11","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release files / weavtui-0.1.0-py3-none-any.whl

Download URL weavtui-0.1.0-py3-none-any.whl
Size 29.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
01656b1bee86107ad2d386faeacc11c694dabe026a4b86d53270411c009a1eff
BLAKE2b-256 checksum
How to use checksums
e9a8dac1c92733fd18db4764f71f2ef1eda298710a23e0a2e5027a61281cc6c3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.12.11 {"installer":{"name":"uv","version":"0.12.11","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Security for weavtui 0.1.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page