-
Notifications
You must be signed in to change notification settings - Fork 478
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Trackings issues of the first release of OpenDAL C binding #2321
Comments
Hey @Ji-Xinyou, we previously worked on implementing a code generator for the operator builder. However, I realized that it's not a good idea. It would be more beneficial for us to begin with Do you still interested in implement |
Of course. A map way is certainly acceptable, but I think a builder based way is also needed. What do you think |
I agree with this too. However, since we've spent a significant amount of time on it already, perhaps we can begin by offering users a functional C binding first. |
Looking forward to the improvement of c binding ability. |
I think several examples for typical use cases are needed for the release, since we do not have any official documentation for C binding yet. |
Seems C doesn't have docs genenator like |
The doxygen would be a way to generate docs, we could use that. |
I'm a bit afraid of the complexity of |
As for the behavior tests, what tests are expected. So far I understand this as implement all behavior tests in Rust core for the C binding (such as write_test etc.). Please notify me if there is any misunderstanding. |
Please refer to |
That has already been implemented in |
I think we should align with our features. For example: We should not call Others LGTM, we can start working on some examples and prepare for release. |
I will modify it to align with the bdd feature. I did that because all the tests need a write before hand lol. |
Hi, @Ji-Xinyou, I have updated our tasks list, please take a look. Thanks! |
Just a idea. What about we inline the documentation in the comment doc of our C binding code. User can directly use |
But you still need to provide a way to view it online. I think it's better to provide the documentation with the familiar look of the C ecosystem. |
Then we should use |
I don't like this idea. Every binding should use their own way. For example, don't require C/CPP users to install or know about |
If doxygen is too complicated to use, we can write API docs in website directly. |
I will try doxygen first. If that's not working, we write docs in the website directly. |
Great news, the doxygen is working well IMO 😆 One concern when rewriting the doc, how does user know the suitable key-value pairs to passed into the |
I would appreciaite if there are some opinions. As for the example part, which of the following do we need.
I personally prefer the second one since the API will grows and putting them altogether is not a good practice IMO. |
LGTM! Most users will use OpenDAL for specific purposes, such as reading data from a remote location, writing data to a remote location, or listing files. We can provide examples for them. Maybe in website docs directly like
|
What abt this. We setup a most common |
We can introduce our public API and give examples like API reference. |
LGTM, let's get work started. |
Request an "opendal_operator_blocking_list" interface in C binding 😄. |
I will work on that ASAP 😆 |
Let's track this in a new issue instead. I believe it not a block of our first release. |
Hi @Ji-Xinyou How's this going? 😊 |
I expect this to be done today or tomorrow. Sorry for being late. I have been really busy recently. |
@jiaoew1991 See #2448 , just wait this to be merged ❤️ |
I think we should start considering the release for C binding. From my side, I will check if more examples are needed for the C binding. The workflow should be running ok on MacOS and Linux now, are they running fine on Windows? For the release, are we releasing for Windows/MacOS as well? |
We're on track to graduate from ASF Incubator. How about we start this project after graduation? Before we start our C binding release, there are some thing we can start now:
|
I think so. That's 100% with higher priority. |
Thanks! I'm guessing we can add test framework first to make sure C binding works on all our services. |
Now we have testings and examples for opendal C bindings, i would like to achieve this release since i have some bandwidth now. Except for releasing, what features and requirements do we need for the first release? What i can think of is async support, hyper has a really good implementation reference basically we can copy paste....., its licence allows free of use. For releasing, since the bindings functionality grows with the core, the semver thing still need some discussion. I am thinking for each update release in core, we release C with a PATCH version; for each important feature implementation, we release with a MINOR; for each breaking change, we release with a MAJOR. \cc @Xuanwo |
In fact, we have released C multiple times as a tarball, such as https://dlcdn.apache.org/opendal/0.48.0/. I believe we can continue to release it this way. Additionally, does the user want
The current release strategy for the entire OpenDAL project is as follows:
We will introduce MAJOR updates once our core reaches version |
I think we still need to release it as deb/rpm packages for user to install it easily when they build in a container. One concern is that releasing through deb/rpm seems like not the way that Apache releases work, so does that mean we release the The release strategy SGTM. |
Binary releases like deb/rpm are not part of the Apache release; we provide them solely for user convenience. Generally, we do not include |
SG, then we keep releasing so in this way should be good. We could implement an async support, make the doc more compelete and then we are good to go? |
We will maintain the current release workflow, ensuring that tasks do not block each other. This allows us to continue adding new features, such as async support and additional docs, simultaneously. |
IC, i am mentioning this cuz we don't have an official release on the homepage README 😉 But i guess we don't need an Official release then |
Yes, we don't need that. We can point to the correct place of our |
OpenDAL C binding is get started but there are some tasks we need to address for our first release.
Tasks
The text was updated successfully, but these errors were encountered: