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

Implement a standard CLI command builder #66

Closed
ahsimb opened this issue Sep 27, 2024 · 0 comments · Fixed by #67
Closed

Implement a standard CLI command builder #66

ahsimb opened this issue Sep 27, 2024 · 0 comments · Fixed by #67
Assignees
Labels
feature Product feature

Comments

@ahsimb
Copy link
Collaborator

ahsimb commented Sep 27, 2024

The python-extension-common should provide a means to build a CLI command based on a standard set of parameters.

An extension's CLI command typically does some kind of deployment onto the database and/or bucket-fs. Therefore, a standard set of parameters should include the parameters required for creating a pyexasol connection and a bucket-fs path-like object, at both on-prem and SaaS databases.

The API shall include a function that will create a named command with all, a subset, or a superset of the standard parameters.

The user shall be able to configure a custom behavior for the standard or added parameters, as it is already implemented with the _ParameterFormatters class.

To build a CLI command, the user shall provide a custom or a standard callback function. An example of a standard function is the one that creates and runs the LanguageContainerDeployer using the provided CLI parameters. The standard command can be customized in terms of the number and behavior of the input parameters. For example, an extension can make a command using a fixed language alias instead of asking the user to enter it in the CLI.

The user can also combine two or more logically separate commands into one CLI command. For example, having a single installation command that deploys both the language container and the UDF scripts should improve user experience.

@ahsimb ahsimb added the feature Product feature label Sep 27, 2024
@ahsimb ahsimb self-assigned this Sep 27, 2024
@ahsimb ahsimb changed the title Implement a CLI command builder Implement a standard CLI command builder Oct 1, 2024
ahsimb added a commit that referenced this issue Oct 1, 2024
ahsimb added a commit that referenced this issue Oct 1, 2024
@ahsimb ahsimb closed this as completed in #67 Oct 2, 2024
ahsimb added a commit that referenced this issue Oct 2, 2024
* Add documentation build folder to .gitignore

* #66 Standard CLI command builder

* Apply suggestions from code review

Co-authored-by: Thomas Ubensee <34603111+tomuben@users.noreply.github.com>

* #66 Addressed the review comments

---------

Co-authored-by: Thomas Ubensee <34603111+tomuben@users.noreply.github.com>
ahsimb added a commit that referenced this issue Oct 2, 2024
* Add documentation build folder to .gitignore

* #66 Standard CLI command builder

* Apply suggestions from code review

Co-authored-by: Thomas Ubensee <34603111+tomuben@users.noreply.github.com>

* #66 Addressed the review comments

* #68 Updated the open_pyexasol_connection

* #68 Added open_pyexasol_connection_tests

* #68 Restored the location of conftest.py

* #68 Fixed the open_pyexasol_connection onprem test

---------

Co-authored-by: Thomas Ubensee <34603111+tomuben@users.noreply.github.com>
ahsimb added a commit that referenced this issue Oct 2, 2024
* Add documentation build folder to .gitignore

* #66 Standard CLI command builder

* Apply suggestions from code review

Co-authored-by: Thomas Ubensee <34603111+tomuben@users.noreply.github.com>

* #66 Addressed the review comments

* #68 Updated the open_pyexasol_connection

* #69 Added create_bucketfs_location function

* #68 Added open_pyexasol_connection_tests

* #69 Added tests for create_bucketfs_location

* #69 Updated the changelog

* #69 Restored the location of the conftest.py

* #69 Trying to fix the create_bucketfs_location tests

---------

Co-authored-by: Thomas Ubensee <34603111+tomuben@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature Product feature
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant