-
Notifications
You must be signed in to change notification settings - Fork 28
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
Cargo design doc #441
base: main
Are you sure you want to change the base?
Cargo design doc #441
Conversation
6057428
to
5cd372b
Compare
it'll be a while before I get to read/understand/review this, but kudos for pushing the "PR for designs" way. Feels like it's going to be more ergonomic + we can not only close the PR, but also retain the doc for future reference, OR convert it to docs, i.e. it gives us a bit more flexibility. |
8ec2e18
to
3c48165
Compare
Is this ready for review ? |
All major parts are there, I will still be tweaking the document a little, but yes, it is ready for review/suggestions. |
d243406
to
9e8e42a
Compare
Now that we have ADRs in the repo, I wonder what approach we should take with these design docs. Should they just become ADRs? I feel like they're too big for an ADR, but the info here is important. Wdyt? |
The path for the document is slightly incorrect. |
9e8e42a
to
d4a308a
Compare
I think keeping them in |
d4a308a
to
50ef4f2
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is an amazing write-up! I skipped the Python related parts since I don't think those parts are heavily dependent on which approach for prefetching we end up selecting, so I'd probably prefer to save that information for a different doc/ADR and make this one leaner.
I raised a few questions to help me better understand the background.
## Appendix A. Rust extensions to Python | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I wonder if these Python related appendices should be part of this design doc/ADR in order to be merged. I perceive that work to be logically connected, but not imperative to deliver the functionality for what is discussed here.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes, this is only tangentially related to Rust support, so there is a good argument for dropping it. However to the best of my knowledge the original request was more about supporting Rust extensions to Python than just supporting Rust itself, so I think it is ok to keep it as an Appendix.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
the original request was more about supporting Rust extensions to Python than just supporting Rust itself
That is true, however, this work is the initial step towards resolving that
, so I think it is ok to keep it as an Appendix.
On one hand I don't want to lose the information because it needs to be added to the follow up work, on the other hand though these appendices just bloat the document with only tangentially related information. What's the plan for adding a design doc on the follow up work, will it contain duplicate information, will the information here in appendices be transferred over to the new document or will we just link it from the new docs? Again, I don't question the depth or quality of information provided, just the timeline and the expected outcome.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think transferring the Appendices is the best approach: by being appendices to a design they will be preserved and also out of sight, then once we are ready to work on Python-Rust support we can move them out and put them into a separate document.
I must point out that it is 95% @brunoapimentel's work that I have inherited. |
6eda621
to
0e8ece5
Compare
The strictly relevant parts LGTM. I have not invested time into reviewing the appendices. |
0e8ece5
to
d54969d
Compare
This commit introduces Cargo supporting package manager design and also contains information about the direction of future work on support for Rust-based Python extensions. Co-authored-by: Bruno FS Ciconelle <[email protected]> Co-authored-by: Bruno Pimentel <[email protected]> Signed-off-by: Alexey Ovchinnikov <[email protected]>
d54969d
to
0774760
Compare
A design doc for implementing Cargo support. It mostly follows the general principle for other package managers. The bigger issue of having Rust-based dependencies is described in an appendix since this is not strictly Rust support.
Corresponding repository for ITs is https://github.com/cachito-testing/cachi2-rust
Maintainers will complete the following section