Skip to content

feat: AEP8: ArmoniK CLI extension support#57

Open
AncientPatata wants to merge 1 commit into
mainfrom
ad/cli-extensions
Open

feat: AEP8: ArmoniK CLI extension support#57
AncientPatata wants to merge 1 commit into
mainfrom
ad/cli-extensions

Conversation

@AncientPatata
Copy link
Copy Markdown

No description provided.

@CLAassistant
Copy link
Copy Markdown

CLAassistant commented Jun 17, 2025

CLA assistant check
All committers have signed the CLA.

qdelamea-aneo added a commit to aneoconsulting/ArmoniK.CLI that referenced this pull request Jun 24, 2025
# Motivation

This PR seeks to implement the ability to extend the CLI with new
commands/command groups as described in the following
[AEP](aneoconsulting/ArmoniK.Community#57).

# Description

This PR does multiple things:
- Introduces `uv` for project management
- splits the project into two (core: functionality and features for
writing CLI tools, cli: the core ArmoniK CLI to be extended)
- adjustments to project packaging
- extension loading: functionality for lazily loading ArmoniK extensions
- extensions command: command for looking at installed extensions.

In terms of things that are needed in the future and are not present in
this PR, it's extension-specific config fields/groups in the CliConfig.

# Testing

No new unit tests were introduced, but as long as previous ones pass
then all is good.

# Impact

- Slightly degraded CLI performance when running help commands (need to
load extensions). This can be addressed in the future with some caching
mechanism (saving installed extensions) ? It's not that bad though.
- Need to put more effort into documenting how to create/add new
ArmoniK.CLI extensions;

# Additional Information

[Any additional information that reviewers should be aware of.]

# Checklist

- [x] My code adheres to the coding and style guidelines of the project.
- [x] I have performed a self-review of my code.
- [x] I have commented my code, particularly in hard-to-understand
areas.
- [x] I have made corresponding changes to the documentation.
- [ ] I have thoroughly tested my modifications and added tests when
necessary.
- [ ] Tests pass locally and in the CI.
- [x] I have assessed the performance impact of my modifications.
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.

2 participants