whatisgithub

What is revector?

diegoglozano/revector — explained in plain English

Analysis updated 2026-05-18

3RustAudience · developerComplexity · 3/5LicenseSetup · easy

In one sentence

A command line migration tool for Qdrant vector databases, letting you version, apply, and roll back schema changes the way Alembic does for SQL databases.

Mindmap

mindmap
  root((repo))
    What it does
      Versions Qdrant schema
      Applies migrations
      Rolls back changes
    Tech stack
      Rust
      Qdrant
      YAML
    Use cases
      Track collection changes
      Automate index creation
      Swap aliases with no downtime
    Audience
      Developers
      AI engineers

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Version-control changes to a Qdrant vector database collection alongside your code.

USE CASE 2

Safely apply and roll back schema changes across development and production.

USE CASE 3

Swap a live alias to a new collection with zero downtime during a migration.

USE CASE 4

Automate re-embedding of existing data after a vector configuration change.

What is it built with?

RustQdrantYAML

How does it compare?

diegoglozano/revectoradsharma/ast-grepcodeitlikemiley/antigravity-sdk-rust
Stars333
LanguageRustRustRust
Setup difficultyeasyeasyhard
Complexity3/53/54/5
Audiencedeveloperdeveloperdeveloper

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · easy Time to first run · 5min

Requires a running Qdrant instance to connect to, the CLI itself is a single binary.

Dual licensed under MIT or Apache 2.0, both permissive, allowing free use for any purpose including commercial use.

So what is it?

revector brings ordered, trackable, and reversible change management to Qdrant, a database built for storing vector embeddings used in AI search and retrieval. If you have worked with a traditional relational database, this is much the same idea as a migration tool like Alembic or Rails migrations, except aimed at vector databases instead, which did not have a good equivalent tool before. The core idea is that instead of manually clicking around or running one off scripts to create collections, add indexes, or adjust settings in Qdrant, you write a plain YAML file describing the change, commit it alongside your regular code, and apply it with a single command line tool. Each migration knows which migration came before it, so revector can tell you exactly what has been applied, what is still pending, and it can roll changes back in reverse order when possible. A migration file lists a set of operations such as creating a collection with a specific vector size and distance setting, adding an index on a payload field, or pointing a friendly alias at a real collection name so it can be swapped later with no downtime. Some operations, like creating something, can be automatically reversed by revector itself. Others, like deleting a collection, permanently remove data and cannot be safely undone automatically, so revector is upfront in its documentation about which operations are safe to roll back and which are not. One important boundary the README draws clearly: revector manages the shape and settings of your Qdrant collections, not the actual data points stored inside them. Moving data itself is treated as a separate, already solved problem handled by other tools, though revector does offer a hook for running a custom command, which people use for tasks like re-embedding existing data after a settings change. Installation is a single small program, available through Homebrew, Rust's package manager cargo, or as a prebuilt download for Linux, macOS, and Windows. It is written in Rust, closely tracks new versions of Qdrant through automated weekly tests, and is released under a dual MIT or Apache 2.0 license, which is permissive and allows free use for any purpose, including commercial projects.

Copy-paste prompts

Prompt 1
Walk me through installing revector and creating my first Qdrant migration.
Prompt 2
Explain the difference between a reversible and an irreversible revector operation.
Prompt 3
Help me write a YAML migration that creates a collection with a payload index.
Prompt 4
Show me how to use revector's status and validate commands before applying changes.

Frequently asked questions

What is revector?

A command line migration tool for Qdrant vector databases, letting you version, apply, and roll back schema changes the way Alembic does for SQL databases.

What language is revector written in?

Mainly Rust. The stack also includes Rust, Qdrant, YAML.

What license does revector use?

Dual licensed under MIT or Apache 2.0, both permissive, allowing free use for any purpose including commercial use.

How hard is revector to set up?

Setup difficulty is rated easy, with roughly 5min to a first successful run.

Who is revector for?

Mainly developer.

Open on GitHub → Ask about another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.