---
title: "Transports"
url: https://docs.sentry.io/platforms/python/legacy-sdk/transports/
---

# Transports | Sentry for Python

##### Deprecation Warning

A new Python SDK has superseded this deprecated version. Sentry preserves this documentation for customers using the old client. We recommend using the [updated Python SDK](https://docs.sentry.io/platforms/python.md) for new projects.

A transport is the mechanism in which Raven sends the HTTP request to the Sentry server. By default, Raven uses a threaded asynchronous transport, but you can easily adjust this by passing your own transport class.

The transport class is passed via the `transport` parameter on `Client`:

```python
from raven import Client

Client('...', transport=TransportClass)
```

Options are passed to transports via the querystring.

All transports should support at least the following options:

`timeout = 1`

The time to wait for a response from the server, in seconds.

`verify_ssl = 1`

If the connection is HTTPS, validate the certificate and hostname.

`ca_certs = [raven]/data/cacert.pem`

A certificate bundle to use when validating SSL connections.

For example, to increase the timeout and to disable SSL verification:

```python
SENTRY_DSN = '___DSN___?timeout=5&verify_ssl=0'
```

## [Eventlet](https://docs.sentry.io/platforms/python/legacy-sdk/transports.md#eventlet)

Should only be used within an Eventlet IO loop.

```python
from raven.transport.eventlet import EventletHTTPTransport

Client('...', transport=EventletHTTPTransport)
```

## [Gevent](https://docs.sentry.io/platforms/python/legacy-sdk/transports.md#gevent)

Should only be used within a Gevent IO loop.

```python
from raven.transport.gevent import GeventedHTTPTransport

Client('...', transport=GeventedHTTPTransport)
```

## [Requests](https://docs.sentry.io/platforms/python/legacy-sdk/transports.md#requests)

Requires the `requests` library. Synchronous.

```python
from raven.transport.requests import RequestsHTTPTransport

Client('...', transport=RequestsHTTPTransport)
```

Alternatively, a threaded client also exists for Requests:

```python
from raven.transport.threaded_requests import ThreadedRequestsHTTPTransport

Client('...', transport=ThreadedRequestsHTTPTransport)
```

## [Sync](https://docs.sentry.io/platforms/python/legacy-sdk/transports.md#sync)

A synchronous blocking transport.

```python
from raven.transport.http import HTTPTransport

Client('...', transport=HTTPTransport)
```

## [Threaded (Default)](https://docs.sentry.io/platforms/python/legacy-sdk/transports.md#threaded-default)

Spawns an async worker for processing messages.

```python
from raven.transport.threaded import ThreadedHTTPTransport

Client('...', transport=ThreadedHTTPTransport)
```

## [Tornado](https://docs.sentry.io/platforms/python/legacy-sdk/transports.md#tornado)

Should only be used within a Tornado IO loop.

```python
from raven.transport.tornado import TornadoHTTPTransport

Client('...', transport=TornadoHTTPTransport)
```

## [Twisted](https://docs.sentry.io/platforms/python/legacy-sdk/transports.md#twisted)

Should only be used within a Twisted event loop.

```python
from raven.transport.twisted import TwistedHTTPTransport

Client('...', transport=TwistedHTTPTransport)
```
