Expand description
Document source port — read files from the local file system Document source port — read local files as pipeline data sources.
Defines the [DocumentSourcePort] trait for reading documents (CSV, JSON,
Markdown, plain text, etc.) from the local file system and returning their
content for downstream processing.
§Architecture
stygian-graph
├─ DocumentSourcePort (this file) ← always compiled
└─ Adapters (adapters/)
└─ DocumentSource → std::fs / tokio::fs§Example
use stygian_graph::ports::document_source::{DocumentSourcePort, DocumentQuery};
use std::path::PathBuf;
async fn read_docs<D: DocumentSourcePort>(source: &D) {
let query = DocumentQuery {
path: PathBuf::from("data/input.csv"),
recursive: false,
glob_pattern: None,
};
let docs = source.read_documents(query).await.unwrap();
for doc in &docs {
println!("{}: {} bytes", doc.path.display(), doc.content.len());
}
}Structs§
- Document
- A document read from the file system.
- Document
Query - Query parameters for reading documents from the file system.
Traits§
- Document
Source Port - Port: read documents from the local file system.