Feature #7538

art service/module command-line helpers

Added by Kyle Knoepfel almost 6 years ago. Updated almost 3 years ago.

Target version:
Start date:
Due date:
% Done:


Estimated time:
(Total: 186.00 h)
Spent time:
(Total: 264.00 h)
SSI Package:
Duration: 1277


There are a few command-line invocations that would be very helpful for art users.

1. Listing available modules and services

A snapshot of a user's art environment could be quickly gleaned if the following were supported:

art --print-available-modules
art --print-available-services

I envisage a printout that lists all modules/services that a user can specify in his/her FHiCL file. A sample printout might look like:

$ art --print-available-modules

Module   Description
mod1     First module that can be invoked in a FHiCL file
mod2     Some module that does some fun physics
mod3     [[ no description provided ]]

The description is something that is provided by the author of the module, probably defined as a static member function.

2. Listing available module/service location

For those modules/services that are available, a user should be able to do:

art --print-module-location mod1 mod2 ...

with a printout like:

Module   Location
mod1     /some/abs/dir/to/
mod2     /some/other/abs/dir/to/

This information could be included in the printout in 1, but the formatting might get sticky because of the description.

3. Listing per-module/-service configuration options

This feature, along with the "description" in 1, may be the trickiest part, requiring effort on the part of the module/service authors. It would be helpful for users if they were able to print out:

  • supported FHiCL parameters (and a description of them) for a given module or service, and
  • a sample FHiCL file that can be used for a given module.

Such invocations could be:

art --print-fhicl-options mod1
art --print-fhicl-file    mod1

I have started to produce some prototype code that does step 3, but this intimately related to art's intentions for a static analyzer, and issue #4107.


Feature #7889: Implement tasks 1 and 2 of feature #7538 - command-line helpersClosedKyle Knoepfel

Feature #8770: Implement parameter set validation - task 3a of issue #7538ClosedKyle Knoepfel

Feature #8772: Facility to retrieve individual sequence elements in FHiCLClosedKyle Knoepfel

Feature #8773: Create new types in FHiCL that automatically register allowed parameters.ClosedKyle Knoepfel

Feature #8868: Develop key map for automatic registration of FHiCL typesClosedKyle Knoepfel

Feature #8869: Produce string-rendered version of allowed ParameterSetClosedKyle Knoepfel

Feature #8870: Create parameter checking algorithm against FHiCL referenceClosedKyle Knoepfel

Feature #8872: Set and retrieve values from FHiCL using new C++ typesClosedKyle Knoepfel

Feature #2445: Request improved error messageClosed

Feature #9099: Implement FHiCL validation in artClosedKyle Knoepfel

Feature #9100: Add FHiCL ParameterSet validation support for modules and servicesClosedKyle Knoepfel

Feature #9326: Use FHiCL validation for art-provided services and modulesClosedKyle Knoepfel

Related issues

Related to art - Feature #8771: Implement parameter set configuration printout - task 3b of issue #7538Accepted05/13/2015


#1 Updated by Kyle Knoepfel over 5 years ago

  • Status changed from New to Feedback

We will discuss this at an upcoming stakeholders meeting to get user input and help prioritize.

- We would combine 1 and 2
- Possible implementation of the description might involve an extended definition macro for the module/service.

#2 Updated by Kyle Knoepfel over 5 years ago

  • Target version set to 521

#3 Updated by Kyle Knoepfel over 5 years ago

  • Status changed from Feedback to Assigned
  • Assignee set to Kyle Knoepfel

#4 Updated by Christopher Green over 5 years ago

  • Related to Feature #8771: Implement parameter set configuration printout - task 3b of issue #7538 added

#5 Updated by Kyle Knoepfel over 4 years ago

  • Status changed from Assigned to Closed
  • SSI Package art added
  • SSI Package deleted ()

#6 Updated by Kyle Knoepfel almost 3 years ago

  • Target version deleted (521)

Also available in: Atom PDF