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
- Retrieve points from collections with flexible query options
- 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
pipx install qdrant-manager
# From source
git clone https://github.com/allenday/qdrant-manager.git
cd qdrant-manager
pipx 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 collectiondelete: Delete an existing collectionlist: List all collectionsinfo: Get detailed information about a collectionbatch: Perform batch operations on documentsget: Retrieve points from a collectionconfig: 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
# Retrieve points by ID
qdrant-manager get --ids "1,2,3" --with-vectors
# Retrieve points using a filter and save as CSV
qdrant-manager get --filter '{"key":"category","match":{"value":"product"}}' \
--format csv --output results.csv
# 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.4
- Added
getcommand to retrieve and export points from collections - Refactored CLI code into separate modules for better maintainability
- Improved test coverage to over 85%
- Fixed various bugs in tests and command handling
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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file qdrant_manager-0.1.4.tar.gz.
File metadata
- Download URL: qdrant_manager-0.1.4.tar.gz
- Upload date:
- Size: 18.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.10.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
11b5bab5fd60adb145c941e1fbbe7ac47e7d236f062e2518c17c01cb22f2b25c
|
|
| MD5 |
984e85f7efdf359b698c204f9743d37b
|
|
| BLAKE2b-256 |
29128172de1f712072ab1d8fb0d4fe70e510f9c333075dd6ccaa82068d89312a
|
File details
Details for the file qdrant_manager-0.1.4-py3-none-any.whl.
File metadata
- Download URL: qdrant_manager-0.1.4-py3-none-any.whl
- Upload date:
- Size: 13.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.10.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e071ae6bfceda7f70a6d0c47af879cb254ad3454bbbdf223ef5435994cc483b1
|
|
| MD5 |
4e863191804bc98a4a1029deda831c60
|
|
| BLAKE2b-256 |
2f9f3feb605ec17c9cb2f661c244b6347fe4d428df484a577369ede94b497dd6
|