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

[Feature Request] Algorithm Template #400

Closed
arturomoncadatorres opened this issue Nov 16, 2022 · 4 comments
Closed

[Feature Request] Algorithm Template #400

arturomoncadatorres opened this issue Nov 16, 2022 · 4 comments
Assignees

Comments

@arturomoncadatorres
Copy link
Contributor

Problem description
It can be cumbersome to get the file structure right when developing a new algorithm

Desired solution
It would be great to have a template that could have all the initial files required, so that the developer can focus only on the actual development and the algorithm and doesn't need to spend so much on the things around it

Additional context
There is an existing boilerplate for vantage6. However, it is outdated and still requires some fiddling to get it right.

@bartvanb
Copy link
Member

bartvanb commented Sep 28, 2023

A few updates on this:

  • We now intend to use copier instead of cookiecutter. The main reason to do so is the copier update functionality that allows you to update an algorithm when the template is updated.
  • Work-in-progress repo is here: https://github.com/vantage6/v6-algorithm-template

TODO list

  • clean up cookiecutter repo
  • Create CLI command v6 algorithm create
    • note that the copier dependency has to be added to the CLI
  • Create CLI command v6 algorithm update
  • Ensure that there is a (CLI) command to submit an algorithm to the store from the template (later)
  • Can we specify question 1 / N, 2 / N etc to give user an idea of how far they are?
  • Add README to template creator repository and ensure it is not copied to algorithm template

List of questions we want to ask:

  • Algorithm name
  • Algorithm description
  • Developer name
  • Developer organization
  • Licence
  • Which function do you want
    • which arguments (+ type) does it need?
    • which decorators
  • VPN stuff

Optional (advanced) questions:

  • How to cite
  • Link to git URL
  • Link to documentation?
  • output format?

@bartvanb
Copy link
Member

bartvanb commented Oct 2, 2023

Note that the CLI changes from #877 are necessary to implement the CLI part of this issue.

@frankcorneliusmartin
Copy link
Contributor

Tested.

@bartvanb do we need to keep this issue open? As there are some open todos?

@bartvanb
Copy link
Member

No, at present everything that is required for first version is implemented.
If/when we want to extend the list further, I think we should create a separate issue. Most points listed above could be things that we implement if we want to use the algorithm creator to automatically fill fields in the algorithm store.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Status: Done
Development

No branches or pull requests

3 participants