Skip to content

Binding design - #8007

Draft
erickguan wants to merge 6 commits into
mainfrom
exp-ruby-multi-package
Draft

Binding design#8007
erickguan wants to merge 6 commits into
mainfrom
exp-ruby-multi-package

Conversation

@erickguan

Copy link
Copy Markdown
Member

Which issue does this PR close?

Closes #.

Rationale for this change

What changes are included in this PR?

Are there any user-facing changes?

AI Usage Statement

Comment thread bindings/docs/dynamic-extensions/README.md Outdated
Comment thread bindings/docs/dynamic-extensions/README.md Outdated
Comment thread bindings/docs/dynamic-extensions/README.md Outdated
Comment thread bindings/docs/dynamic-extensions/README.md Outdated
Comment thread bindings/docs/dynamic-extensions/compatibility.md Outdated
Comment thread bindings/docs/dynamic-extensions/compatibility.md Outdated
Comment thread bindings/docs/dynamic-extensions/compatibility.md Outdated
Comment thread bindings/docs/dynamic-extensions/compatibility.md Outdated
Comment thread bindings/docs/dynamic-extensions/alternatives.md
Comment thread bindings/docs/dynamic-extensions/alternatives.md
}
```

`structured_values` uses the language-neutral `ConfigValue` grammar

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Since config maps are currently string -> string, we can also go without this.

"id": "s3",
"aliases": []
},
"native_artifact_path": "lib/opendal_service_s3.so",

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this might not be stable.

},
"native_artifact_path": "lib/opendal_service_s3.so",
"native_entry_symbol": "opendal_service_s3_bootstrap_v1",
"target_identity": "x86_64-unknown-linux-gnu"

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is this necessary?

@chitralverma

chitralverma commented Aug 6, 2026

Copy link
Copy Markdown
Contributor

Hi @erickguan i see what you are doing here and i did some of the work for this #6748

just some additional context for you,

let me know if you need any other info

@erickguan

erickguan commented Aug 6, 2026

Copy link
Copy Markdown
Member Author

@chitralverma nice, I knew #6748. Here I am trying with Python because python binding is at most advanced development stages.

I am looking for 2 things mainly as a first step:

  • how do we safely manage symbols across services?
  • can we share runtime/API/ABI across multiple bindings?

@erickguan

Copy link
Copy Markdown
Member Author

@chitralverma can you share a link to this layer?

for tokio incompatibility i inject a layer which switches runtime.

@chitralverma

Copy link
Copy Markdown
Contributor

@chitralverma can you share a link to this layer?

for tokio incompatibility i inject a layer which switches runtime.

there you go
https://github.com/chitralverma/opendal-python-bindings/blob/main/pyo3-opendal/src/layers.rs

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants