velesdb_migrate/lib.rs
1// Migration tool - pedantic lints relaxed for CLI ergonomics
2#![allow(clippy::pedantic)]
3
4//! # `VelesDB` Migration Tool
5//!
6//! `velesdb-migrate` is a CLI tool and library for migrating vector data from
7//! various vector databases into `VelesDB`.
8//!
9//! ## Supported Sources
10//!
11//! | Source | Status | Notes |
12//! |--------|--------|-------|
13//! | Qdrant | ✅ | Full support via REST API |
14//! | Pinecone | ✅ | Full support via REST API |
15//! | Weaviate | ✅ | Full support via GraphQL |
16//! | Milvus | ✅ | REST API (v2) |
17//! | `ChromaDB` | ✅ | Full support via REST API |
18//! | pgvector | ✅ | Requires `postgres` feature |
19//! | Supabase | ✅ | Via `PostgREST` API |
20//!
21//! ## Quick Start
22//!
23//! ```bash
24//! # From Qdrant
25//! velesdb-migrate --config migration.yaml
26//!
27//! # Dry run (preview only)
28//! velesdb-migrate --config migration.yaml --dry-run
29//! ```
30//!
31//! ## Configuration Example
32//!
33//! ```yaml
34//! source:
35//! type: qdrant
36//! url: http://localhost:6333
37//! collection: documents
38//!
39//! destination:
40//! path: ./velesdb_data
41//! collection: docs
42//! dimension: 768
43//! metric: cosine
44//!
45//! options:
46//! batch_size: 1000
47//! workers: 4
48//! ```
49
50#![warn(missing_docs)]
51// #![warn(clippy::pedantic)] // Disabled for release to avoid blocking CI on non-critical lints
52
53pub mod config;
54pub mod connectors;
55pub mod error;
56pub mod pipeline;
57pub mod transform;
58
59pub use config::{MigrationConfig, MigrationOptions, SourceConfig};
60pub use connectors::{ExtractedBatch, ExtractedPoint, SourceConnector, SourceSchema};
61pub use error::{Error, Result};
62pub use pipeline::{MigrationStats, Pipeline};
63pub use transform::Transformer;