-
Notifications
You must be signed in to change notification settings - Fork 240
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
Migrate anaconda-client
to become a plugin of anaconda-cli-base
#715
Closed
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
I believe the test failures are because Since anaconda.org has deprecated support for projects, I suspect this dependency can be removed. |
These are implemented inside anaconda-cloud-cli, which will delegate back to anaconda_client
Save this for the release
mattkram
force-pushed
the
feat/anaconda-cli-base-plugin
branch
from
August 28, 2024 17:34
e4c33e9
to
dd38533
Compare
mattkram
force-pushed
the
feat/anaconda-cli-base-plugin
branch
from
August 28, 2024 18:29
756eb63
to
dd38dd2
Compare
(cherry picked from commit 3dc5194)
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.
Summary
As part of extending our CLI, we have been migrating to a plugin-based system. This PR removes the
anaconda
entrypoint fromanaconda-client
, which will be located instead inanaconda-cli-base
. In order to maintain backwards compatibility for all subcommands, we include logic to mount all existing subcommands fromanaconda-client
as top-level subcommands. We also include all subcommands under the namespaceanaconda org
, e.g.anaconda org upload
.It should be noted that this backwards-compatibility code has been copied from
anaconda-cloud-cli
. It was originally placed there to minimize changes to theanaconda-client
codebase, but this PR moves it to the more appropriate place.User Experience
When these changes are installed, we don't intend any breaking behavior for the user. The changes are generally dependent on the presence of other Anaconda CLI plugins.
In the case that another plugin is installed (like
anaconda-cloud-auth
), the following changes may be observed:anaconda-client
subcommands are availableanaconda-client
subcommands are ALSO available with theorg
prefix, e.g.anaconda org upload
. It is recommended to adopt this format, as it is more explicit.anaconda
). Not allanaconda-client
subcommands will be shown.anaconda notebooks
subcommand will explicitly be listed as deprecated in the CLI help.Caveats
When this PR is released, it must include a properly-pinned dependency on
anaconda-cli-base
such that we are sure the entrypoint is defined. Separately, there must be arun_constrained
dependency in the recipe foranaconda-cli-base
such that older versions ofanaconda-client
cannot be installed alongside new versions ofanaconda-cli-base
(since then both packages would define the same entrypoint.