title: Is the Session object from Python's Requests library thread safe?
body: <p>Python's popular <a href="http://docs.python-requests.org/en/latest/" rel="noreferrer">Requests</a> library is said to be thread-safe on its home page, but no further details are given. If I call <code>requests.session()</code>, can I then safely pass this object to multiple threads like so:</p>
  
  <pre><code>session = requests.session()
  for i in xrange(thread_count):
      threading.Thread(
          target=target,
          args=(session,),
          kwargs={}
      )
  </code></pre>
  
  <p>and make requests using the same connection pool in multiple threads?</p>
  
  <p>If so, is this the recommended approach, or should each thread be given its own connection pool? (Assuming the total size of all the individual connection pools summed to the size of what would be one big connection pool, like the one above.) What are the pros and cons of each approach?</p>