-
Notifications
You must be signed in to change notification settings - Fork 10
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
Add install
, run
and ensurepath
commands
#21
Merged
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
tusharsadhwani
changed the title
Add MVP for
Add Jun 25, 2024
yen install
and yen run
install
, run
and ensurepath
commands
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Implements all the functionality of
pipx
.Some interesting hacks needed to be done to implement all this in Rust, to keep the user PATH editing code consistent between the Python and rust implementation I chose the
userpath
Python package for adding the packages to PATH.To be able to call
userpath
from both Python and Rust, I forked, avoided theclick
dependency, and packaged the source into a zipapp. The zipapp is hosted alongside the install scripts, and is downloaded in the install script as well. In case the install script was never ran, the library itself can download those binaries as soon as they're needed, but that's kept as a fallback to avoid unnecessary dependency on an internet connection for everyday use.