Skip to main content

recoco_core/
prelude.rs

1#![allow(unused_imports)]
2
3// ReCoco is a Rust-only fork of CocoIndex, by [CocoIndex](https://CocoIndex)
4// Original code from CocoIndex is copyrighted by CocoIndex
5// SPDX-FileCopyrightText: 2025-2026 CocoIndex (upstream)
6// SPDX-FileContributor: CocoIndex Contributors
7//
8// All modifications from the upstream for ReCoco are copyrighted by Knitli Inc.
9// SPDX-FileCopyrightText: 2026 Knitli Inc. (ReCoco)
10// SPDX-FileContributor: Adam Poulemanos <adam@knit.li>
11//
12// Both the upstream CocoIndex code and the ReCoco modifications are licensed under the Apache-2.0 License.
13// SPDX-License-Identifier: Apache-2.0
14
15pub use async_trait::async_trait;
16pub use chrono::{DateTime, Utc};
17pub use futures::{FutureExt, StreamExt};
18pub use futures::{
19    future::{BoxFuture, Shared},
20    prelude::*,
21    stream::BoxStream,
22};
23pub use indexmap::{IndexMap, IndexSet};
24#[cfg(any(
25    feature = "server",
26    feature = "persistence",
27    feature = "target-postgres"
28))]
29pub use itertools::Itertools;
30pub use serde::{Deserialize, Serialize, de::DeserializeOwned};
31pub use std::any::Any;
32pub use std::borrow::Cow;
33pub use std::collections::{BTreeMap, BTreeSet, HashMap, HashSet};
34pub use std::fmt::Debug;
35pub use std::hash::Hash;
36pub use std::sync::{Arc, LazyLock, Mutex, OnceLock, RwLock, Weak};
37
38pub use crate::base::{self, schema, spec, value};
39pub use crate::builder::{self, exec_ctx, plan};
40pub use crate::execution;
41pub use crate::lib_context::{FlowContext, LibContext, get_lib_context, get_runtime};
42pub use crate::ops::interface;
43pub use crate::setup;
44pub use crate::setup::AuthRegistry;
45#[cfg(any(
46    feature = "source-azure",
47    feature = "source-local-file",
48    feature = "source-s3"
49))]
50pub use async_stream::{stream, try_stream};
51#[cfg(any(
52    feature = "source-azure",
53    feature = "source-local-file",
54    feature = "source-s3"
55))]
56pub use recoco_utils as utils;
57#[cfg(any(
58    feature = "function-embed",
59    feature = "source-azure",
60    feature = "source-gdrive",
61    feature = "source-s3",
62    feature = "source-local-file",
63    feature = "source-postgres"
64))]
65pub use recoco_utils::batching;
66pub use recoco_utils::concur_control;
67#[cfg(any(
68    feature = "target-kuzu",
69    feature = "function-embed",
70    feature = "function-extract-llm",
71    feature = "persistence"
72))]
73pub use recoco_utils::http;
74#[cfg(any(
75    feature = "server",
76    feature = "provider-openai",
77    feature = "provider-gemini",
78    feature = "persistence",
79    feature = "function-split",
80    feature = "target-neo4j"
81))]
82pub use recoco_utils::retryable;
83pub use recoco_utils::{api_bail, api_error};
84pub use tracing::{Span, debug, error, info, info_span, instrument, trace, warn};
85
86pub use utils::prelude::*;