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

Save software interfaces in multiple formats #2798

Open
Lestropie opened this issue Feb 5, 2024 · 0 comments
Open

Save software interfaces in multiple formats #2798

Lestropie opened this issue Feb 5, 2024 · 0 comments

Comments

@Lestropie
Copy link
Member

Have been working a bit on #2678 in order to facilitate #2605 / #2665.

One topic we had discussed in the context of the latter (though I'm not finding a conversation right now to cross-reference) is the prospect of having the Pydra interfaces exported and bundled within the repository itself, such that version-matching between software and the parsing of its interface would be intrinsically linked, and consistency of such could be checked by CI.

While this had initially been discussed for the sake of Pydra, it occurs to me that:

  1. This is quite similar to the generation and self-consistency of the online command documentation for those interfaces.
  2. Pydra is not necessarily the only interface for which encapsulation of interface and enforcement of self-consistency is applicable. Eg.:
    1. __print_full_usage__ has been around forever, even if nothing has come along to really exploit it;
    2. While I never finished it, I did commence export of interfaces for Porcupine.
    3. Interfaces for Nipype could potentially be generated automatically from the internal CLI configuration.
  3. If there are changes or additions to the command-line interface, it might make sense that over and above the code itself, the sensibility of those command-line changes should be checked during code review, and something like the output of __print_full_usage__ would serve that purpose.

Therefore my "proposal" of sorts here is something along the lines of having a directory somewhere within the repository (maybe not within docs/; not sure if there's a good precedent for where to put such things), where the CLI is exported to multiple formats, and checking the self-consistency of all of those is integrated into the CI.

Any thoughts?

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

No branches or pull requests

1 participant