tree: 9fc728801f3f50b53d98f0e55866aa1c29473b20
  1. examples/
  2. source/
  3. test/
  4. .gitignore
  5. build.d
  6. CONTRIBUTING.md
  7. DEPENDENCIES.md
  8. DEPENDENCIES.rust.tsv
  9. dscanner.ini
  10. dub.json
  11. README.md
bindings/d/README.md

Apache OpenDALâ„¢ D Binding

Status: unreleased

An early-stage D binding for Apache OpenDAL, built on top of the C binding. Access the local filesystem, memory, S3, and 50+ other storage services through one API.

User guide: https://opendal.apache.org/docs/bindings/d

Build

Requirements:

  • A D compiler: dmd, ldc, or gdc
  • Rust and Cargo (to build the underlying C library)
# From bindings/d/

# Build libopendal_c and the D library (release mode)
OPENDAL_TEST=memory dub build -b release

# Build and run unit tests against the memory backend
OPENDAL_TEST=memory dub test

OPENDAL_TEST is read by the build script at build time to compile the named service into the C library. Omitting it builds only core functionality with no storage backends. To test against a different service, set OPENDAL_TEST and the matching OPENDAL_{SERVICE}_* environment variables:

OPENDAL_TEST=fs OPENDAL_FS_ROOT=/tmp/test dub test

See the user guide for a full example and API reference.

Contributing

See CONTRIBUTING.md for setup, build, and test instructions. All contributions are welcome — this binding is at an early stage and there is plenty of room to help.

License and Trademarks

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.