Skip to main content

Command-line tool for managing Qdrant vector database collections

Project description

Qdrant Manager

A general-purpose command-line tool for managing Qdrant vector database collections and documents. Simplifies common Qdrant management tasks through a CLI interface.

Features

  • Create, delete, and list collections
  • Get detailed information about collections
  • Batch operations on documents:
    • Add fields to documents
    • Delete fields from documents
    • Replace fields in documents
  • Support for JSON path selectors for precise document modifications
  • Multiple configuration profiles support

Installation

# From PyPI (once published)
pip install qdrant-manager

# From source
git clone https://github.com/allenday/qdrant-manager.git
cd qdrant-manager
pip install -e .

Configuration

When first run, qdrant-manager will create a configuration file at:

  • Linux/macOS: ~/.config/qdrant-manager/config.yaml
  • Windows: %APPDATA%\qdrant-manager\config.yaml

You can edit this file to add your Qdrant connection details and schema configuration:

default:
  connection:
    url: localhost
    port: 6333
    api_key: ""
    collection: my-collection
  
  vectors:
    size: 256
    distance: cosine
    indexing_threshold: 0
  
  # Optional payload indices for optimized searching
  payload_indices:
    - field: category
      type: keyword
    - field: created_at
      type: datetime
    - field: price
      type: float

production:
  connection:
    url: your-production-instance.region.cloud.qdrant.io
    port: 6333
    api_key: your-production-api-key
    collection: production-collection
  
  vectors:
    size: 1536  # For OpenAI embeddings
    distance: cosine
    indexing_threshold: 1000
  
  payload_indices:
    - field: product_id
      type: keyword
    - field: timestamp
      type: datetime

Each profile can define its own:

  • Connection settings
  • Vector configuration (size, distance metric, indexing behavior)
  • Payload indices for optimized search performance

The YAML format makes it easy to maintain a clean, organized configuration across multiple environments.

You can switch between profiles using the --profile flag:

qdrant-manager --profile production list

You can also override any setting with command-line arguments.

Usage

qdrant-manager <command> [options]

Available Commands:

  • create: Create a new collection
  • delete: Delete an existing collection
  • list: List all collections
  • info: Get detailed information about a collection
  • batch: Perform batch operations on documents
  • config: View available configuration profiles

Connection Options:

--profile PROFILE  Configuration profile to use
--url URL          Qdrant server URL
--port PORT        Qdrant server port
--api-key API_KEY  Qdrant API key
--collection NAME  Collection name

Examples:

# List all collections
qdrant-manager list

# Create a new collection with custom settings
qdrant-manager create --collection my-collection --size 1536 --distance euclid

# Get info about a collection
qdrant-manager info --collection my-collection

# Add a field to documents matching a filter
qdrant-manager batch --filter '{"key":"category","match":{"value":"product"}}' \
  --add --doc '{"processed": true}'

# Delete a field from specific documents
qdrant-manager batch --ids "doc1,doc2,doc3" --delete --selector "metadata.temp_data"

# Replace fields in documents from an ID file
qdrant-manager batch --id-file my_ids.txt --replace --selector "metadata.source" \
  --doc '{"provider": "new-provider", "date": "2025-03-31"}'

# Switch between profiles
qdrant-manager --profile production list

Changelog

v0.1.3

  • Fixed bug in collection creation with payload indices

v0.1.2

  • Added comprehensive test coverage
  • Improved error handling

v0.1.1

  • Initial release with basic functionality
  • Added configuration profiles support

License

Apache-2.0

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

qdrant_manager-0.1.3.tar.gz (21.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

qdrant_manager-0.1.3-py3-none-any.whl (17.1 kB view details)

Uploaded Python 3

File details

Details for the file qdrant_manager-0.1.3.tar.gz.

File metadata

  • Download URL: qdrant_manager-0.1.3.tar.gz
  • Upload date:
  • Size: 21.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.0

File hashes

Hashes for qdrant_manager-0.1.3.tar.gz
Algorithm Hash digest
SHA256 d82629eb939a9e39a46a12256fa54e06988d03002567112cd1fe09ae2bb58a6e
MD5 64569f64da201f9fdb9ff3c12244b0bb
BLAKE2b-256 afc39c9c32691a6af8e639cee232069c62295e61e9dd967012827d4f716a93a5

See more details on using hashes here.

File details

Details for the file qdrant_manager-0.1.3-py3-none-any.whl.

File metadata

  • Download URL: qdrant_manager-0.1.3-py3-none-any.whl
  • Upload date:
  • Size: 17.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.0

File hashes

Hashes for qdrant_manager-0.1.3-py3-none-any.whl
Algorithm Hash digest
SHA256 92199c18189021ea0bbd41af5882206802177c717a4dc075ee1d6d6ebf2e7f00
MD5 72b9c5de2cf04cd892911524c42f384b
BLAKE2b-256 e1c58285091df6b8632d90289414bdf54f435202ce37d455fc4328950f3a0b13

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