You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@opendal.apache.org by xu...@apache.org on 2023/03/18 11:16:17 UTC

[incubator-opendal] 01/01: docs: Reorganize README of core and whole project

This is an automated email from the ASF dual-hosted git repository.

xuanwo pushed a commit to branch update-readme
in repository https://gitbox.apache.org/repos/asf/incubator-opendal.git

commit 4cb9a41a6e0a5f35551beb6c6bea00c182cbf475
Author: Xuanwo <gi...@xuanwo.io>
AuthorDate: Sat Mar 18 19:15:19 2023 +0800

    docs: Reorganize README of core and whole project
    
    Signed-off-by: Xuanwo <gi...@xuanwo.io>
---
 README.md                               | 101 +++++++++++++-------------------
 CONTRIBUTING.md => core/CONTRIBUTING.md |   0
 README.md => core/README.md             |   0
 3 files changed, 40 insertions(+), 61 deletions(-)

diff --git a/README.md b/README.md
index 281ab2a6..d6d007ac 100644
--- a/README.md
+++ b/README.md
@@ -1,72 +1,29 @@
-# OpenDAL &emsp; [![Build Status]][actions] [![Latest Version]][crates.io] [![Crate Downloads]][crates.io] [![chat]][discord]
+# OpenDAL &emsp; [![Build Status]][actions] [![chat]][discord]
 
 [build status]: https://img.shields.io/github/actions/workflow/status/apache/incubator-opendal/ci.yml?branch=main
 [actions]: https://github.com/apache/incubator-opendal/actions?query=branch%3Amain
-[latest version]: https://img.shields.io/crates/v/opendal.svg
-[crates.io]: https://crates.io/crates/opendal
-[crate downloads]: https://img.shields.io/crates/d/opendal.svg
 [chat]: https://img.shields.io/discord/1081052318650339399
 [discord]: https://discord.gg/XQy8yGR2dg
 
 **Open** **D**ata **A**ccess **L**ayer: Access data freely, painlessly, and efficiently
 
-- Documentation: [stable](https://docs.rs/opendal/) | [main](https://opendal.apache.org/docs/rust/opendal/)
-- [Release notes](https://docs.rs/opendal/latest/opendal/docs/changelog/index.html)
-
 ![](https://user-images.githubusercontent.com/5351546/222356748-14276998-501b-4d2a-9b09-b8cff3018204.png)
 
-## Services
-
-- [azblob](https://docs.rs/opendal/latest/opendal/services/struct.Azblob.html): [Azure Storage Blob](https://azure.microsoft.com/en-us/services/storage/blobs/) services.
-- [azdfs](https://docs.rs/opendal/latest/opendal/services/struct.Azdfs.html): [Azure Data Lake Storage Gen2](https://azure.microsoft.com/en-us/products/storage/data-lake-storage/) services. (As known as [abfs](https://learn.microsoft.com/en-us/azure/storage/blobs/data-lake-storage-abfs-driver))
-- [dashmap](https://docs.rs/opendal/latest/opendal/services/struct.Dashmap.html): [dashmap](https://github.com/xacrimon/dashmap) backend support.
-- [fs](https://docs.rs/opendal/latest/opendal/services/struct.Fs.html): POSIX alike file system.
-- [ftp](https://docs.rs/opendal/latest/opendal/services/struct.Ftp.html): FTP and FTPS support.
-- [gcs](https://docs.rs/opendal/latest/opendal/services/struct.Gcs.html): [Google Cloud Storage](https://cloud.google.com/storage) Service.
-- [ghac](https://docs.rs/opendal/latest/opendal/services/struct.Ghac.html): [Github Action Cache](https://docs.github.com/en/actions/using-workflows/caching-dependencies-to-speed-up-workflows) Service.
-- [hdfs](https://docs.rs/opendal/latest/opendal/services/struct.Hdfs.html): [Hadoop Distributed File System](https://hadoop.apache.org/docs/r3.3.4/hadoop-project-dist/hadoop-hdfs/HdfsDesign.html)(HDFS).
-- [http](https://docs.rs/opendal/latest/opendal/services/struct.Http.html): HTTP read-only services.
-- [ipfs](https://docs.rs/opendal/latest/opendal/services/struct.Ipfs.html): [InterPlanetary File System](https://ipfs.tech/) HTTP Gateway support.
-- [ipmfs](https://docs.rs/opendal/latest/opendal/services/struct.Ipmfs.html): [InterPlanetary File System](https://ipfs.tech/) MFS API support.
-- [memcached](https://docs.rs/opendal/latest/opendal/services/struct.Memcached.html): [Memcached](https://memcached.org/) service support.
-- [memory](https://docs.rs/opendal/latest/opendal/services/struct.Memory.html): In memory backend.
-- [moka](https://docs.rs/opendal/latest/opendal/services/struct.Moka.html): [moka](https://github.com/moka-rs/moka) backend support.
-- [obs](https://docs.rs/opendal/latest/opendal/services/struct.Obs.html): [Huawei Cloud Object Storage](https://www.huaweicloud.com/intl/en-us/product/obs.html) Service (OBS).
-- [oss](https://docs.rs/opendal/latest/opendal/services/struct.Oss.html): [Aliyun Object Storage Service](https://www.aliyun.com/product/oss) (OSS).
-- [redis](https://docs.rs/opendal/latest/opendal/services/struct.Redis.html): [Redis](https://redis.io/) services support.
-- [rocksdb](https://docs.rs/opendal/latest/opendal/services/struct.Rocksdb.html): [RocksDB](http://rocksdb.org/) services support.
-- [s3](https://docs.rs/opendal/latest/opendal/services/struct.S3.html): [AWS S3](https://aws.amazon.com/s3/) alike services.
-- [sled](https://docs.rs/opendal/latest/opendal/services/sled/struct.Sled.html): [sled](https://crates.io/crates/sled) services support.
-- [webdav](https://docs.rs/opendal/latest/opendal/services/struct.Webdav.html): [WebDAV](https://datatracker.ietf.org/doc/html/rfc4918) Service Support.
-- [webhdfs](https://docs.rs/opendal/latest/opendal/services/struct.Webhdfs.html): [WebHDFS](https://hadoop.apache.org/docs/stable/hadoop-project-dist/hadoop-hdfs/WebHDFS.html) Service Support.
-
-## Features
-
-Access data **freely**
-
-- Access different storage services in the same way
-- Behavior tests for all services
-- Cross language/project bindings (working on)
-  - [Python](./bindings/python/)
-  - [Node.js](./bindings/nodejs/)
-  - [object_store](./bindings/object_store/)
-
-Access data **painlessly**
-
-- **100%** documents covered
-- Powerful [`Layers`](https://docs.rs/opendal/latest/opendal/layers/index.html)
-- Automatic [retry](https://docs.rs/opendal/latest/opendal/layers/struct.RetryLayer.html) support
-- Full observability: [logging](https://docs.rs/opendal/latest/opendal/layers/struct.LoggingLayer.html), [tracing](https://docs.rs/opendal/latest/opendal/layers/struct.TracingLayer.html), [metrics](https://docs.rs/opendal/latest/opendal/layers/struct.MetricsLayer.html).
-- [Native chaos testing](https://docs.rs/opendal/latest/opendal/layers/struct.ChaosLayer.html)
-
-Access data **efficiently**
-
-- Zero cost: Maps to API calls directly
-- Best effort: Automatically selects best read/seek/next based on services
-- Avoid extra calls: Reuses metadata when possible
+## Components
+
+- [core](./core): OpenDAL Rust Core
+  - Documentation: [stable](https://docs.rs/opendal/) | [main](https://opendal.apache.org/docs/rust/opendal/)
+- [binding-python](./bindings/python/): OpenDAL Python Binding
+  - Documentation: [main](https://opendal.apache.org/docs/python/)
+- [binding-nodejs](./bindings/nodejs/): OpenDAL Node.js Binding
+  - Documentation: [main](https://opendal.apache.org/docs/nodejs/)
+- [binaries](./binaries/)
+  - [oli](./binaries/oli/): OpenDAL Command Line Interface
 
 ## Quickstart
 
+### Rust
+
 ```rust
 use opendal::Result;
 use opendal::layers::LoggingLayer;
@@ -103,7 +60,33 @@ async fn main() -> Result<()> {
 }
 ```
 
-More examples could be found at [Documentation](https://opendal.apache.org).
+### Python
+
+```python
+import asyncio
+
+async def main():
+    op = opendal.AsyncOperator("fs", root="/tmp")
+    await op.write("test.txt", b"Hello World")
+    print(await op.read("test.txt"))
+
+asyncio.run(main())
+```
+
+### Node.js
+
+```js
+import { Operator } from "opendal";
+
+async function main() {
+  const op = new Operator("fs", { root: "/tmp" });
+  await op.write("test", "Hello, World!");
+  const bs = await op.read("test");
+  console.log(new TextDecoder().decode(bs));
+  const meta = await op.stat("test");
+  console.log(`contentLength: ${meta.contentLength}`);
+}
+```
 
 ## Projects
 
@@ -114,10 +97,6 @@ More examples could be found at [Documentation](https://opendal.apache.org).
 - [risingwave](https://github.com/risingwavelabs/risingwave): A Distributed SQL Database for Stream Processing
 - [Vector](https://github.com/vectordotdev/vector): A high-performance observability data pipeline.
 
-## Contributing
-
-Check out the [CONTRIBUTING](CONTRIBUTING.md) guide for more details on getting started with contributing to this project.
-
 ## Getting help
 
 Submit [issues](https://github.com/apache/incubator-opendal/issues/new) for bug report or asking questions in the [Discussions forum](https://github.com/apache/incubator-opendal/discussions/new?category=q-a).
diff --git a/CONTRIBUTING.md b/core/CONTRIBUTING.md
similarity index 100%
rename from CONTRIBUTING.md
rename to core/CONTRIBUTING.md
diff --git a/README.md b/core/README.md
similarity index 100%
copy from README.md
copy to core/README.md