OpenDAL Python Binding
Project description
OpenDAL Python Binding
Documentation: main
This crate intends to build a native python binding.
Installation
pip install opendal
Usage
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())
Development
Setup virtualenv:
python -m venv venv
Activate venv:
source venv/bin/activate
Install maturin
:
pip install maturin[patchelf]
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 opendal
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
opendal-0.44.0.tar.gz
(623.4 kB
view hashes)
Built Distributions
Close
Hashes for opendal-0.44.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f71ba8e3a89b69ad42cf727b1947a22e2bdd0f913e4823d56eed4aaee46d87ad |
|
MD5 | f8c5cdcd2d640bbaf1a3828ca72d93d3 |
|
BLAKE2b-256 | 2c7df15da2dc17be73e7b42f6660e573cd4cdcd9d414201d8375803aac296d5d |
Close
Hashes for opendal-0.44.0-pp310-pypy310_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e105c5da79de65c4e29fa9817c995565ce8d651298a835a7680df3c4a3103b79 |
|
MD5 | 77fa8114f3f766b797a15179864c1689 |
|
BLAKE2b-256 | acb8dc5c5c1edffa615ac49c08dcc002b7ad9c4b446caf1b6fd54d17fb041377 |
Close
Hashes for opendal-0.44.0-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8ba813ac869d0c56b495e7c7e75b2057d56c101458657cdf78f7cffb54d6e3c2 |
|
MD5 | 6172142d6178d373ea49c85045fc7ab3 |
|
BLAKE2b-256 | 0587f418276d88e7187e116986117c2c51a6b1e109e1cd654996c55325b47f29 |
Close
Hashes for opendal-0.44.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 42b23a52970584296beec50f435cc4827bcb8a11201de7a732b744c0b17ab7b4 |
|
MD5 | 14115058b12e84ec55e2fcc6a6fb000e |
|
BLAKE2b-256 | bcf9c216dd330ae58176a2f91ccb7f90feea14a49f11f5eeace745b627e1f1bc |
Close
Hashes for opendal-0.44.0-pp39-pypy39_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 352ce941982d46c89e757adba5aa4998b20a60e7ad2a226d4ffc4828202b3d2f |
|
MD5 | 567d195b9cfd29045bedaba964bc7dac |
|
BLAKE2b-256 | 43e5f766a7828bf6c22f1954dd173a8d95b445858cff2ea7493585bca243346f |
Close
Hashes for opendal-0.44.0-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e45293c13fa4b19e9036815bb69a69f7cac6bba53f62ea81dc8410c76718fe21 |
|
MD5 | 910f40427f3f2afbc29e542698e61b6f |
|
BLAKE2b-256 | f10f29e65cb354e58cf7c787f86cea1129aa35221e1ec38d7c642985cc9a81bc |
Close
Hashes for opendal-0.44.0-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 67fbaab83a097b0db49a8911d86c7935522cdd0de45d4de19c7a3611b9e54150 |
|
MD5 | be39c940708f4ba328f743208e2a90d7 |
|
BLAKE2b-256 | 0c60606ad051d06c7f4fd67ab3ed6b571bb00d5edfba87d5bb2535a29081e575 |
Close
Hashes for opendal-0.44.0-pp38-pypy38_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e8f6199f55d36d60e4e8a306968101571598068c1cf9603a6cc205f9ebc85e6f |
|
MD5 | df682e3b12a584083f28550a624dbac6 |
|
BLAKE2b-256 | e985d96fa7c2b7f02239156226ca0773a0da395e8cf0cb4b1c86e701da77ad3f |
Close
Hashes for opendal-0.44.0-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5e83a2bce56f3131fb286b6cb917585738f767b7148bef072341f891e1bb5d1e |
|
MD5 | df7b4de8df88f7b49b1f01e2ae129181 |
|
BLAKE2b-256 | e45971f0ef0f66611fabff4c7e61afa30a9e21d97f02e12349baebad10031fb7 |
Close
Hashes for opendal-0.44.0-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | de515ab7e2610b4647f4a7b5ea46aa2c25a9de73143686b1fb2f4fa010df0314 |
|
MD5 | e17f7d24fe2fd23f3f9fb4438c479878 |
|
BLAKE2b-256 | 4ad4b3510adf54784b3b12afec4e66fc28afe8d446e5bfb93a1c62d5a47f4146 |
Close
Hashes for opendal-0.44.0-pp37-pypy37_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f328d76299a66a85c34aa205f3848e4cc03712b05870bf23d878d111088f42d2 |
|
MD5 | 557bcf60460d177379f017d74d59fb26 |
|
BLAKE2b-256 | fa48aee35911257ea19008349d25fc97107792b73e82704772ed62e6fe119db0 |
Close
Hashes for opendal-0.44.0-pp37-pypy37_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | eb21d6cf9b03a012faf7e49b5b13a75d18daacf47b10a202386907078c0ef5b5 |
|
MD5 | c0314d1934a27090b0923eaf56e29988 |
|
BLAKE2b-256 | dbd68b5b961964a98b2149ee04b975d8ccc76e81e2cd2f38fb53bf4ff37eadc7 |
Close
Hashes for opendal-0.44.0-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3780f72a44c3249301352dd7db1f47b442013f85b2819fa1c86a06a65a229d64 |
|
MD5 | 710086deff9870b5d6c27b0dd3d53c73 |
|
BLAKE2b-256 | 4e6fb64cbaa46b2891e5909543a4f244947c62425dac7292231770f05a9ffac6 |
Close
Hashes for opendal-0.44.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1e2de5d5a6127047998dce4900c2b89a1001cc5d28bd45089ea1a8a99d05ee9a |
|
MD5 | c3e3ba0a7861cc617922be8b94bf9171 |
|
BLAKE2b-256 | 0a6a873292d0d32800e22fd123ecb8028012943db52cbbcb058e31255a2ed929 |
Close
Hashes for opendal-0.44.0-cp312-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 163e2811c289589d82c3e11da0962d964075e172b60df74917c9696dbcb0702e |
|
MD5 | 1e1df674413880848d9ca10bd95ce6e0 |
|
BLAKE2b-256 | 6cb19caa355d4c9e8422c8e07feccc2f79622663e99ade6c33f1a85ff0062d9b |
Close
Hashes for opendal-0.44.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d919dd21ab3d594175e963e2a7610c7d29eb9e67b342d8fa706edb5d3edd5bb2 |
|
MD5 | b5552cdef6f29d31ad7105d7620e58b8 |
|
BLAKE2b-256 | 8431b93917a5db85ffcaa349b2559d28b941fd44f316f8c7e48795e6705eb054 |
Close
Hashes for opendal-0.44.0-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7a90e305e2e3bf632564f13d2e6b0e4282dd9779938d0be237eb7d3393e9ed56 |
|
MD5 | 522cc338b84857b2fb3feaae88cbc61a |
|
BLAKE2b-256 | 47ea68a403b4c533ebc7b245910838ce9a95de4a59bed272bb3547e655120245 |
Close
Hashes for opendal-0.44.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4ff589915591e027a3091bb8e6b608208af764ecb7e49d6300a1dd9193a2caaa |
|
MD5 | 4ad499df55d123702d671d4570a20ee7 |
|
BLAKE2b-256 | e9e7d49a0f332791e2dbeeb2bd9c75cce3a348e9cf69a75a33f9d819a3f7c788 |
Close
Hashes for opendal-0.44.0-cp312-cp312-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8d907f5f7500ca2fb56325f42eeaa97d5f80c612a08bab1583f2c0575718c5e0 |
|
MD5 | ccf5c49ab43a1a70e3801f690296f4c2 |
|
BLAKE2b-256 | de821afc12672cb47896522e0df163f545f0a8ac3b52fb8dd6338823923f0b7e |
Close
Hashes for opendal-0.44.0-cp311-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 92732e1f59985ef7f08eb0413f21f4833dac1467937723045fb44591d7f2756b |
|
MD5 | 7716441c4ecfa8c01cb276ed25646455 |
|
BLAKE2b-256 | 81b1a7b0871440bf8074f1a7107d848f2e2a40424eef9d369fa2a5c18a1b57c6 |
Close
Hashes for opendal-0.44.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 096efd264c7bb5a1ba92ca5255641e4bc682805520c69b7e0a8c93e1dd064e48 |
|
MD5 | ed287921203e0c849f51758758504bd1 |
|
BLAKE2b-256 | a4bcbf52ad77462bdf554b5064fb10f7fed987cd9af2633f6007420b04648953 |
Close
Hashes for opendal-0.44.0-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 86b587275b46cf4cd9e0203b8f29c6689726a38134d8f99b3b9c78cc3a3feec3 |
|
MD5 | 1edfda2761f8bf9d49268443a76b6ef8 |
|
BLAKE2b-256 | ad19aa0f53ce09279c15689483f1857e272f48196a8917e6b70d374018470002 |
Close
Hashes for opendal-0.44.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 63f9457bcf8d576bac2ac79fd818818c05f50f048e95a1572dfac2172a187ce4 |
|
MD5 | b7e7c02ef5c10770e2d3c75348ff503d |
|
BLAKE2b-256 | 98c0a87dfa5f2d102648daaaba3da531ee8e1bfd5a49c2a7df5701a7e9bc7650 |
Close
Hashes for opendal-0.44.0-cp311-cp311-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | eaf9f34f4ac9d9423d8dd7230c7caac2a5f91e752a20a608614a49404dacc00d |
|
MD5 | 0b8fc440abe93bd7cd97d9b4483e61e6 |
|
BLAKE2b-256 | 8071ba2543f893782594c3f9a73c2a77793a29b5edf03bec907d8f0bee5c47dc |
Close
Hashes for opendal-0.44.0-cp310-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e1e730610c92230e3603210457f7a6ccb7153ae2e975a19a007941ddd287365c |
|
MD5 | f3c65dfbf5f6ced97988e960f2444c15 |
|
BLAKE2b-256 | 9c452fb73b1a1128e201175bdfb8ed1e9b62f5c29bee92f8a3179d60c931df19 |
Close
Hashes for opendal-0.44.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9be9d53da3aa26c30565d7e9bb4d023f0f5adeb904d91cff3545036b44798dea |
|
MD5 | 409d4f1ce86b77230462ef5b6b69060b |
|
BLAKE2b-256 | e3e15dd0e4cd7a4eccc3c2ff830079be07dc9d91f04ca3879d3f9e8baed35be4 |
Close
Hashes for opendal-0.44.0-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2a067d9dc85f522493f7304445782a4a266e9099ec14c9048b21489f8f633d3c |
|
MD5 | 55ea2c710829226db2260453268f59f3 |
|
BLAKE2b-256 | 885dc99fe1fd73f13bdf08acbd8f22be39db3534acfbfb2e575259eaa292a56c |
Close
Hashes for opendal-0.44.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3183f02bdbaf0f66abc2a3a8f2f7e7105a487b58f27c40b6c66fa5fd148987a6 |
|
MD5 | 934ffc93c345bd0b30f601d165cf3df5 |
|
BLAKE2b-256 | 445d942f4517d76b224778e08f942fcdf4fec9de70c5f2a3074c8b9099b07da4 |
Close
Hashes for opendal-0.44.0-cp310-cp310-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f9ea201b6081701f7092c9bea8b20d913762aab472a627c615a848698fdf2539 |
|
MD5 | fc1fe33972ed17ab31be255d338533bb |
|
BLAKE2b-256 | 2d2d95ce657f934dd246a7c994fcc7bdd320800478f9990fc2c483cb3803a022 |
Close
Hashes for opendal-0.44.0-cp39-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4122a6b755e26ab15b9e3d83529a9b35c9b0092dac0b7cba749cf00d9d820e35 |
|
MD5 | 6e00e6408abd771aeb8d7ad7300e369d |
|
BLAKE2b-256 | c8cc2f9fff613b25262ac3e3fc827ef27541dca335f1d8ac7453bbbe0f528ad0 |
Close
Hashes for opendal-0.44.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e6017e661455597a52f99d240c48a9f2743312222e559c622a6504be92eaa018 |
|
MD5 | 9898e42596e757367135150a00d88cea |
|
BLAKE2b-256 | 564736e5ce4400034ccfd1699cf845ee1b1084475580b20f67c336cf9465b046 |
Close
Hashes for opendal-0.44.0-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0d75bcb8635b6fd050e7365992074217391e7fea3cb5b3917027528431774507 |
|
MD5 | 251c420edcdb3c32736797a2bcaf516a |
|
BLAKE2b-256 | 7a784aead3201183afb70b8b0339403d7cbbc13474cd392db9b8d070418a02b7 |
Close
Hashes for opendal-0.44.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f85b96d0b9355572c14222dba04d4f63e9d0a7b73e3a8bf8b40df04f6306aa3b |
|
MD5 | f7ef97711c37dc7d25bc3ee0a1980426 |
|
BLAKE2b-256 | e8646a4bca7e7e081f52335ee67d6773cca635acfda84fa7826eeae082bc148e |
Close
Hashes for opendal-0.44.0-cp39-cp39-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3d3e3307ea68038d77c3c23531902d4657a7a58baf143ce07644b09c885b1cdc |
|
MD5 | fcc77d25ed196a0dbf8f1838403abb85 |
|
BLAKE2b-256 | b2ec86cf9b137cb2b5012d3a70182dd923fbbc02e91f9cf3bb6a2e4034e5f695 |
Close
Hashes for opendal-0.44.0-cp38-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ee9626cc8bf2ecc811ac9501572136ec86274eb439a011b93a1dcfa987bf428f |
|
MD5 | 9718d5c4bafb2897ed1abc53186993d5 |
|
BLAKE2b-256 | 9170b6772ea5d1b425ec24e629e48ae541d07c0f0866e8d6f62cc4f7f32ddaa9 |
Close
Hashes for opendal-0.44.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 98a0619cabcda50e5baeba682b471f605ab0b6f0b5b36dc2199c674df86bc5d9 |
|
MD5 | 78ea9e0f8526b807aa48c085c14da44e |
|
BLAKE2b-256 | 4a1c2331bb9a0ceb64251ab6191c1eecf59cfd0cc04d22f0d7ce40fe219a111b |
Close
Hashes for opendal-0.44.0-cp38-cp38-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 04b2229ae13d95ddf0860dc4372bdc6a8496f1732deb67debf2704c8850b586f |
|
MD5 | 8bc7b6ecae5b41a09776e2a29e8b5bed |
|
BLAKE2b-256 | 067d4291dfe6a8326c9108e4a006f46944ed5bbcc0c5c401e86f321b6bfda805 |
Close
Hashes for opendal-0.44.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8dc83dad31beb47f1728527a16219b6281f8c88e5923c45d6649d47ffd576d7a |
|
MD5 | 9f36d04bc7ddb5ef1ceb7102b497c7e1 |
|
BLAKE2b-256 | 6c06d4091519b33e60068f5f0c9a24a2c14fa21212b9dc432dfee6dc917237a7 |
Close
Hashes for opendal-0.44.0-cp38-cp38-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e459db83deaf69f72ecc789ff0a515176d93775c72bc8f3a0041960a84521480 |
|
MD5 | 22df89eef4b6ed3badefde45c8ed5ebe |
|
BLAKE2b-256 | bcc1947369114bfa1cbce50c00f9a7e8a51a708502cacde9cef82b634440d7ad |
Close
Hashes for opendal-0.44.0-cp37-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f975ae4695910937434999613a6711c3d27f73b70687a1e737e67c5cbabe466c |
|
MD5 | 5b80fe77ad60c01c88f72a3f4c832b51 |
|
BLAKE2b-256 | 5977f58faad8f413e166608f698ac83722c54b52b31a45abf74e2e971ded3423 |
Close
Hashes for opendal-0.44.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 65374a1c78f9750f795fee4e9f9fa8253794c696697cd4ce6e433feb16af9354 |
|
MD5 | 3faf242adb0b3b8dfc732b1cdcdb4285 |
|
BLAKE2b-256 | c13a27aae4dc92e1dc82876901849e83c8191199fea1ec9389051c131e618601 |
Close
Hashes for opendal-0.44.0-cp37-cp37m-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5cc8960e4f3bede160551c2db6d49ae4b68827d7fa2c18d77d9435c156f5c835 |
|
MD5 | b1af284108a31c90fe46243a20856ef1 |
|
BLAKE2b-256 | 7aafa4601239230eb29aa061aa9a9363877db7e8efcecc9e1bd5a4ecd218d2e1 |
Close
Hashes for opendal-0.44.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 76259036d7a85ca8c0faf7c909a0130ad46aae7b8917dc4752f41d7a955c5d8b |
|
MD5 | f777dc498e7cda4c49e35974cd7acade |
|
BLAKE2b-256 | 9d466ad68bb11b7f1c9748e08489c37897c18a9a1f50931c16a02782498ac725 |
Close
Hashes for opendal-0.44.0-cp37-cp37m-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ee78fcbeeb508b797041cc764aaf1bca52de5692ec65d011ef218ba10b0d1040 |
|
MD5 | 5d26f1a782ecade236c32ba8181fb972 |
|
BLAKE2b-256 | 6bde9dea8ea696d826b81cc32aed0a49148f5e75d9180e0b77de263dcaef3576 |