title: How to parameterise a Python dictionary in papermill?
body: <p>I want to pass on all the parameters in one variable. To make this happen, I am passing a dictionary in my Python client for Papermill using:</p>
  
  <pre><code>params = {"aviral":"srivastava"}
  pm.execute_notebook( 'path/to/input.ipynb', 'path/to/output.ipynb', parameters = params )
  </code></pre>
  
  <p>Now, I want to do run the corresponding command from bash. In the <a href="https://github.com/nteract/papermill" rel="nofollow noreferrer">document</a> it states: </p>
  
  <pre><code>papermill local/input.ipynb s3://bkt/output.ipynb -p alpha 0.6 -p l1_ratio 0.1
  </code></pre>
  
  <p>But nowhere is given how to pass on a dictionary.</p>
  
  <p>I tried many permutations and combinations like:</p>
  
  <p><code>papermill test_params.ipynb params_output.ipynb -p params {"aviral":"srivastava"}</code></p>
  
  <p><code>papermill test_params.ipynb params_output.ipynb -p params '{"aviral":"srivastava"}'</code></p>
  
  <p>I also read to pass a <code>dict</code> in the format: <code>'{"aviral":"srivastava"}'</code> and then json.loads would do the work. But I am not having the liberty for converting the input. It has to be used right away in the script.</p>
  
  <p>Just a minimal script to actually check the type of the variable passed:</p>
  
  <pre><code>params = {} # I tag this with `parameter`
  print(type(params))
  print(params)
  </code></pre>
  
  <p>Yes, I see the params variable got changed when running with papermill but the value passed is a complete string.</p>