Skip to content
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

Update guide documentation for 0.3 #14

Merged
merged 2 commits into from
Jan 29, 2025
Merged

Update guide documentation for 0.3 #14

merged 2 commits into from
Jan 29, 2025

Conversation

konstin
Copy link
Member

@konstin konstin commented Jan 27, 2025

Update the guide to be in sync with the changes made for 0.3.

I've rewritten the tutorial chapter, starting using the offline dependency provider to implementing your own dependency provider, focussed on getting a user with no prior solver experience from getting started quickly to eventually writing a full dependency provider with all custom types.

Some parts are completely removed (such as the continuous versions) as the new traits and structs make them unnecessary. Others i've only touched up to not be not wrong, though they could use a rewrite with the input from uv and cargo. I want to unblock the 0.3 release without starting any new projects.

I'm tempted to remove the top-level chapter pages and instead move their (remaining) content into the first page of each chapter.

We should move the book into the main pubgrub repository to prevent it from getting out of sync in the future. The only non-trivial item is the cloudflare secrets.

Fixes pubgrub-rs/pubgrub#185
Part of pubgrub-rs/pubgrub#308

@mpizenberg
Copy link
Member

mpizenberg commented Jan 29, 2025

The changes look great.

Regarding integration of the book inside the main repo, it’s probably a good timing since you are super close to v0.3.

Regarding secrets, my reason for using cloudflare was to not have to worry about unexpected bills, especially with pubgrub gaining in popularity. Don’t hesitate to take over the hosting though. Ideally there would be something which is controllable from the pubgrub-rs github organization. But last time I checked, I didn’t find something that made me both at peace with costs and convenient for shared ownership with the github org. That’s why it has my personal cloudflare secrets.

Base automatically changed from konsti/use-prettier to main January 29, 2025 16:40
@Eh2406
Copy link
Member

Eh2406 commented Jan 29, 2025

Clap hosts its tutorial as part of the docs.rs by putting it in a dedicated module. https://docs.rs/clap/latest/clap/_tutorial/index.html not sure how I feel about that hosting plan.

Update the guide to be in sync with the changes made for 0.3.

I've rewritten the tutorial chapter, starting using the offline dependency provider to implementing your own dependency provider, focussed on getting a user with no prior solver experience from getting started quickly to eventually writing a full dependency provider with all custom types.

Some parts are completely removed (such as the continuous versions) as the new traits and structs make them unnecessary. Others i've only touched up to not be not wrong, though they could use a rewrite with the input from uv and cargo. I want to unblock the 0.3 release without starting any new projects.

I'm tempted to remove the top-level chapter pages and instead move their (remaining) content into the first page of each chapter.

We should move the book into the main pubgrub repository to prevent it from getting out of sync in the future. The only non-trivial item is the cloudflare secrets.
@konstin
Copy link
Member Author

konstin commented Jan 29, 2025

I've usually done building on github actions and hosting on github pages. We'd lose the branch preview though

@mpizenberg
Copy link
Member

And if it’s merged into pubgrub, you’d have to make a choice between either the guide, or the code documentation. Except if there is a way to have both working in subfolders?

extensions and limitations mentionned in this section of the guide for your
dependency provider, don't hesitate to reach out to us in our [zulip
stream][zulip] or in [GitHub issues][issues] to let us know how it went!
All this needs more experimentation, to try reaching a sweet spot API-wise and
Copy link
Member

Choose a reason for hiding this comment

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

Do we want to mention that this is successfully being used for modeling rust dependencies implemented in https://github.com/pubgrub-rs/semver-pubgrub

- dependencies: package "a" at version 1 depends on package "b" at version 4
- missing dependencies: dependencies of package "a" are unknown
- absence of version: there is no version of package "a" higher than version 5
The items in the tree are called incompatibilities and may be either external.
Copy link
Member

Choose a reason for hiding this comment

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

I think the sentence got mangled.

Copy link
Member

@Eh2406 Eh2406 left a comment

Choose a reason for hiding this comment

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

Thank you so much, all the changes look really good.

Is there something in particular you would like me to look at more closely?

@konstin
Copy link
Member Author

konstin commented Jan 29, 2025

Is there something in particular you would like me to look at more closely?

For now I'd go with this rough revamping of the docs. If we want to improve the docs further, the best thing is probably reading through the guide and editing as-you-go.

@konstin konstin merged commit 9ebd2d1 into main Jan 29, 2025
4 checks passed
@konstin konstin deleted the konsti/pubgrub-0.3 branch January 29, 2025 17:46
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.

Out of date documentation for Dev
3 participants