opendal/
lib.rs

1// Licensed to the Apache Software Foundation (ASF) under one
2// or more contributor license agreements.  See the NOTICE file
3// distributed with this work for additional information
4// regarding copyright ownership.  The ASF licenses this file
5// to you under the Apache License, Version 2.0 (the
6// "License"); you may not use this file except in compliance
7// with the License.  You may obtain a copy of the License at
8//
9//   http://www.apache.org/licenses/LICENSE-2.0
10//
11// Unless required by applicable law or agreed to in writing,
12// software distributed under the License is distributed on an
13// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
14// KIND, either express or implied.  See the License for the
15// specific language governing permissions and limitations
16// under the License.
17
18#![doc(
19    html_logo_url = "https://raw.githubusercontent.com/apache/opendal/main/website/static/img/logo.svg"
20)]
21#![cfg_attr(docsrs, feature(doc_cfg))]
22//! Facade crate that re-exports all public APIs from `opendal-core` and optional services/layers.
23#![deny(missing_docs)]
24
25pub use opendal_core::*;
26
27#[cfg(feature = "tests")]
28pub use opendal_testkit as tests;
29
30/// Re-export of service implementations.
31pub mod services {
32    pub use opendal_core::services::*;
33    #[cfg(feature = "services-aliyun-drive")]
34    pub use opendal_service_aliyun_drive::*;
35    #[cfg(feature = "services-alluxio")]
36    pub use opendal_service_alluxio::*;
37    #[cfg(feature = "services-azblob")]
38    pub use opendal_service_azblob::*;
39    #[cfg(feature = "services-azdls")]
40    pub use opendal_service_azdls::*;
41    #[cfg(feature = "services-azfile")]
42    pub use opendal_service_azfile::*;
43    #[cfg(feature = "services-b2")]
44    pub use opendal_service_b2::*;
45    #[cfg(feature = "services-cacache")]
46    pub use opendal_service_cacache::*;
47    #[cfg(feature = "services-cloudflare-kv")]
48    pub use opendal_service_cloudflare_kv::*;
49    #[cfg(feature = "services-compfs")]
50    pub use opendal_service_compfs::*;
51    #[cfg(feature = "services-cos")]
52    pub use opendal_service_cos::*;
53    #[cfg(feature = "services-d1")]
54    pub use opendal_service_d1::*;
55    #[cfg(feature = "services-dashmap")]
56    pub use opendal_service_dashmap::*;
57    #[cfg(feature = "services-dbfs")]
58    pub use opendal_service_dbfs::*;
59    #[cfg(feature = "services-dropbox")]
60    pub use opendal_service_dropbox::*;
61    #[cfg(feature = "services-etcd")]
62    pub use opendal_service_etcd::*;
63    #[cfg(feature = "services-foundationdb")]
64    pub use opendal_service_foundationdb::*;
65    #[cfg(feature = "services-fs")]
66    pub use opendal_service_fs::*;
67    #[cfg(feature = "services-ftp")]
68    pub use opendal_service_ftp::*;
69    #[cfg(feature = "services-gcs")]
70    pub use opendal_service_gcs::*;
71    #[cfg(feature = "services-gdrive")]
72    pub use opendal_service_gdrive::*;
73    #[cfg(feature = "services-ghac")]
74    pub use opendal_service_ghac::*;
75    #[cfg(feature = "services-github")]
76    pub use opendal_service_github::*;
77    #[cfg(feature = "services-hdfs-native")]
78    pub use opendal_service_hdfs_native::*;
79    #[cfg(feature = "services-http")]
80    pub use opendal_service_http::*;
81    #[cfg(feature = "services-huggingface")]
82    pub use opendal_service_huggingface::*;
83    #[cfg(feature = "services-ipfs")]
84    pub use opendal_service_ipfs::*;
85    #[cfg(feature = "services-koofr")]
86    pub use opendal_service_koofr::*;
87    #[cfg(feature = "services-lakefs")]
88    pub use opendal_service_lakefs::*;
89    #[cfg(feature = "services-memcached")]
90    pub use opendal_service_memcached::*;
91    #[cfg(feature = "services-mini-moka")]
92    pub use opendal_service_mini_moka::*;
93    #[cfg(feature = "services-moka")]
94    pub use opendal_service_moka::*;
95    #[cfg(feature = "services-mysql")]
96    pub use opendal_service_mysql::*;
97    #[cfg(feature = "services-obs")]
98    pub use opendal_service_obs::*;
99    #[cfg(feature = "services-onedrive")]
100    pub use opendal_service_onedrive::*;
101    #[cfg(all(target_arch = "wasm32", feature = "services-opfs"))]
102    pub use opendal_service_opfs::*;
103    #[cfg(feature = "services-oss")]
104    pub use opendal_service_oss::*;
105    #[cfg(feature = "services-pcloud")]
106    pub use opendal_service_pcloud::*;
107    #[cfg(feature = "services-persy")]
108    pub use opendal_service_persy::*;
109    #[cfg(feature = "services-postgresql")]
110    pub use opendal_service_postgresql::*;
111    #[cfg(feature = "services-redb")]
112    pub use opendal_service_redb::*;
113    #[cfg(feature = "services-s3")]
114    pub use opendal_service_s3::*;
115    #[cfg(feature = "services-seafile")]
116    pub use opendal_service_seafile::*;
117    #[cfg(feature = "services-sled")]
118    pub use opendal_service_sled::*;
119    #[cfg(feature = "services-sqlite")]
120    pub use opendal_service_sqlite::*;
121    #[cfg(feature = "services-surrealdb")]
122    pub use opendal_service_surrealdb::*;
123    #[cfg(feature = "services-swift")]
124    pub use opendal_service_swift::*;
125    #[cfg(feature = "services-tikv")]
126    pub use opendal_service_tikv::*;
127    #[cfg(feature = "services-upyun")]
128    pub use opendal_service_upyun::*;
129    #[cfg(feature = "services-vercel-blob")]
130    pub use opendal_service_vercel_blob::*;
131    #[cfg(feature = "services-yandex-disk")]
132    pub use opendal_service_yandex_disk::*;
133}
134
135/// Re-export of layers.
136pub mod layers {
137    pub use opendal_core::layers::*;
138    #[cfg(feature = "layers-async-backtrace")]
139    pub use opendal_layer_async_backtrace::*;
140    #[cfg(feature = "layers-await-tree")]
141    pub use opendal_layer_await_tree::*;
142    #[cfg(feature = "layers-capability-check")]
143    pub use opendal_layer_capability_check::*;
144    #[cfg(feature = "layers-chaos")]
145    pub use opendal_layer_chaos::*;
146    #[cfg(feature = "layers-fastmetrics")]
147    pub use opendal_layer_fastmetrics::*;
148    #[cfg(feature = "layers-fastrace")]
149    pub use opendal_layer_fastrace::*;
150    #[cfg(feature = "layers-immutable-index")]
151    pub use opendal_layer_immutable_index::*;
152    #[cfg(feature = "layers-logging")]
153    pub use opendal_layer_logging::*;
154    #[cfg(feature = "layers-metrics")]
155    pub use opendal_layer_metrics::*;
156    #[cfg(feature = "layers-mime-guess")]
157    pub use opendal_layer_mime_guess::*;
158    #[cfg(feature = "layers-otel-metrics")]
159    pub use opendal_layer_otelmetrics::*;
160    #[cfg(feature = "layers-otel-trace")]
161    pub use opendal_layer_oteltrace::*;
162    #[cfg(feature = "layers-prometheus")]
163    pub use opendal_layer_prometheus::*;
164    #[cfg(feature = "layers-prometheus-client")]
165    pub use opendal_layer_prometheus_client::*;
166    #[cfg(feature = "layers-retry")]
167    pub use opendal_layer_retry::*;
168    #[cfg(feature = "layers-tail-cut")]
169    pub use opendal_layer_tail_cut::*;
170    #[cfg(feature = "layers-throttle")]
171    pub use opendal_layer_throttle::*;
172    #[cfg(feature = "layers-timeout")]
173    pub use opendal_layer_timeout::*;
174    #[cfg(feature = "layers-tracing")]
175    pub use opendal_layer_tracing::*;
176}