def runWithConfig(swarmConfig, options,<EOL>outDir=None, outputLabel="<STR_LIT:default>",<EOL>permWorkDir=None, verbosity=<NUM_LIT:1>):
global g_currentVerbosityLevel<EOL>g_currentVerbosityLevel = verbosity<EOL>if outDir is None:<EOL><INDENT>outDir = os.getcwd()<EOL><DEDENT>if permWorkDir is None:<EOL><INDENT>permWorkDir = os.getcwd()<EOL><DEDENT>_checkOverwrite(options, outDir)<EOL>_generateExpFilesFromSwarmDescription(swarmConfig, outDir)<EOL>options["<STR_LIT>"] = swarmConfig<EOL>options["<STR_LIT>"] = outputLabel<EOL>options["<STR_LIT>"] = outDir<EOL>options["<STR_LIT>"] = permWorkDir<EOL>runOptions = _injectDefaultOptions(options)<EOL>_validateOptions(runOptions)<EOL>return _runAction(runOptions)<EOL>
Starts a swarm, given an dictionary configuration.
@param swarmConfig {dict} A complete [swarm description](http://nupic.docs.numenta.org/0.7.0.dev0/guides/swarming/running.html#the-swarm-description) object.
@param outDir {string} Optional path to write swarm details (defaults to
                       current working directory).
@param outputLabel {string} Optional label for output (defaults to "default").
@param permWorkDir {string} Optional location of working directory (defaults
                            to current working directory).
@param verbosity {int} Optional (1,2,3) increasing verbosity of output.

@returns {object} Model parameters