Documentation: main
This package intends to build a native python binding for Apache OpenDAL.
pip install opendal
fs service example:
import opendal op = opendal.Operator("fs", root="/tmp") op.write("test.txt", b"Hello World") print(op.read("test.txt")) print(op.stat("test.txt").content_length)
Or using the async API:
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())
s3 service example:
import opendal op = opendal.Operator("s3", root="/tmp", bucket="your_bucket_name", region="your_region") op.write("test.txt", b"Hello World") print(op.read("test.txt")) print(op.stat("test.txt").content_length)
Or using the async API:
import asyncio async def main(): op = opendal.AsyncOperator("s3", root="/tmp", bucket="your_bucket_name", region="your_region") await op.write("test.txt", b"Hello World") print(await op.read("test.txt")) asyncio.run(main())
Setup virtualenv:
python -m venv venv
Activate venv:
source venv/bin/activate
Install maturin
:
pip install maturin
Build bindings:
maturin develop
Run some tests:
maturin develop -E test # To run `test_write.py` and use `fs` operator OPENDAL_TEST=fs OPENDAL_FS_ROOT=/tmp pytest -vk test_write
Build API docs:
maturin develop -E docs pdoc -t ./template opendal
Licensed under the Apache License, Version 2.0: http://www.apache.org/licenses/LICENSE-2.0
Apache OpenDAL, OpenDAL, and Apache are either registered trademarks or trademarks of the Apache Software Foundation.