{"push_id":1326690464,"size":3,"distinct_size":2,"ref":"refs/heads/issue-63","head":"2447f11233efeca5cc8971856c9053f71ab073cd","before":"8d205cdbb3aaf36ade850478c90089168b4899f6","commits":[{"sha":"20f2aafea92ae453fb04ecb2a675cac554c89def","author":{"name":"Greg Caporaso","email":"391eac90db4050f4d35976c204ee86eb7f19f74a@gmail.com"},"message":"ENH: adds support for None as a default value (#65)","distinct":false,"url":"https://api.github.com/repos/jairideout/q2cli/commits/20f2aafea92ae453fb04ecb2a675cac554c89def"},{"sha":"f6d6e2a5f4324f11178deec143ccf04af625b4fd","author":{"name":"Jai Ram Rideout","email":"6bbec223bda3b75fb07355a113b8d258b99e0691@gmail.com"},"message":"ENH: more descriptive option help text (e.g. required vs optional) (#66)\n\n* ENH: more descriptive option help text (e.g. required vs optional)\r\n\r\nDisplays \"[required]\" for required inputs and parameters, \"[optional]\" for parameters with a default value of None, and \"[default: <value>]\" for parameters with a default value that isn't None.\r\n\r\nAdditionally, the input and output options are formatted as \"Artifact: <type repr>\". Output options now describe their usage with --output-dir.","distinct":true,"url":"https://api.github.com/repos/jairideout/q2cli/commits/f6d6e2a5f4324f11178deec143ccf04af625b4fd"},{"sha":"2447f11233efeca5cc8971856c9053f71ab073cd","author":{"name":"Jai Ram Rideout","email":"6bbec223bda3b75fb07355a113b8d258b99e0691@gmail.com"},"message":"ENH: cached CLI state for performance improvements\n\nPreviously, any CLI command would take ~3 seconds (tested with q2-types, q2-feature-table, q2-diversity, q2-emperor installed). The CLI was virtually unusable and tab-completion (as provided out of the box by Click) was even more unusable. This poor performance would have scaled with the number of installed plugins.\n\nNow, the CLI caches its state to a system-specific config directory. The cache is automatically refreshed when a change is made to the current QIIME deployment (e.g. a plugin is uninstalled, a new plugin is installed, a plugin version changes, or the version of q2cli changes).\n\nThere are two mechanisms (mainly for developers) to force a cache refresh: the `qiime dev refresh-cache` command, or setting the Q2CLIDEV environment variable to any value. Devs will need to use one of these options to see changes in their plugins (or q2cli itself) reflected in the CLI. Users should not have to force a refresh.\n\nMost commands that don't do any real work take ~420ms to complete, resulting in a ~7x speedup. The performance will have negligible degradation as the number of installed plugins increases. Commands that do real work are faster than before but not benchmarked as their runtimes depend on the specific method being run, and the speedup is less likely to be noticed by users. What's important here is having a snappy CLI while users are exploring its functionality, e.g. requesting help text, running \"info\" types of commands, etc.\n\nFurther optimization is of course possible, and it would be ideal to get the runtime below ~420ms. The speedups here seem to justify closing #63 as the CLI is in a much more usable state now.\n\nFixes #63.","distinct":true,"url":"https://api.github.com/repos/jairideout/q2cli/commits/2447f11233efeca5cc8971856c9053f71ab073cd"}]}
{"actor":{"display_login":"jairideout"}}