QdrantSync
QdrantSync is a powerful and flexible CLI tool designed to seamlessly migrate collections and data points between Qdrant instances. It ensures efficient and reliable synchronization while maintaining data integrity and minimizing downtime.
Features
- Data Migration: Transfer collections and data points from a source Qdrant instance to a destination with ease.
- Customizable Options:
- Specify API keys and timeouts for secure and efficient data transfer.
- Add prefixes to collection names for organized migrations.
- Control replication and write consistency factors for destination collections.
- Use thresholds to balance between approximate and exact counts for large datasets.
- Incremental Migration: Supports marking and tracking migrated data to resume or refresh migrations without duplication.
- Batch Processing: Handles large-scale migrations with scroll-based pagination, customizable batch sizes, and optional delays to avoid server overload.
- Progress Monitoring: Includes real-time progress tracking with detailed output for a smooth migration experience.
- Error Handling: Ensures safe operations with options like proceeding only if collections exist in the destination.
Use Cases
- Migrate Qdrant data during infrastructure upgrades or cloud migrations.
- Synchronize data between staging and production environments.
- Back up collections to alternative Qdrant clusters.
Getting Started
Requirements
- Python 3.7 or higher
- Access to Qdrant instances (source and destination)
Installation
(A) From PyPI (once available)
pip install QdrantSync
qdrantsync --help
Local Development / Editable Install
If you’re testing or contributing before it’s published on PyPI:
- Clone this repository:
git clone https://github.com/your-username/qdrantsync.git cd qdrantsync
- Install in editable mode:
pip install -e .
- Now you can run:
qdrantsync --help
Usage
The basic command to migrate data between two Qdrant instances is:
qdrantsync \
--source-url <source_instance_url> \
--destination-url <destination_instance_url> \
--migration-id <unique_migration_id>
You can mix and match other options like --collection-prefix, --batch-delay, --replication-factor, etc. for tailored migrations. For more details on available flags, use qdrantsync --help.
Contribute
Contributions are welcome! Feel free to fork the repository, open an issue, or submit a pull request.
Release files for QdrantSync 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| qdrantsync-0.1.0.tar.gz | 8.1 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| QdrantSync-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 15.2 kB
Release files / qdrantsync-0.1.0.tar.gz
| Download URL | qdrantsync-0.1.0.tar.gz |
|---|---|
| Size | 8.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
9892b872309a9b6bc3dc65edd948f1959962fae86a853fad21350af606ce3640
|
|
BLAKE2b-256 checksum How to use checksums |
dfcfd6d56f122d9e0453ddf9866e0886c5a297cdf1e62cbfc3ba9aded5ede6db
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.1
|
Release files / QdrantSync-0.1.0-py3-none-any.whl
| Download URL | QdrantSync-0.1.0-py3-none-any.whl |
|---|---|
| Size | 7.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
b0d605d79c4a65902a394f40265dc60ea5f370bb3e8687a718c669ef363b7b78
|
|
BLAKE2b-256 checksum How to use checksums |
92ad20f120aa1caed7f3e45c3207fdf8ced0689f2e3595d2fa3a821faa440cd1
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.1
|