Yup. Pyramid does it for us.
Check out:
http://docs.pylonsproject.org/projects/pyramid/en/latest/api/request.html#pyramid.request.Request.client_addr

```
The effective client IP address as a string. If the HTTP_X_FORWARDED_FOR header exists in the WSGI environ, this attribute returns the client IP address present in that header (e.g. if the header value is 192.168.1.1, 192.168.1.2, the value will be 192.168.1.1). If no HTTP_X_FORWARDED_FOR header is present in the environ at all, this attribute will return the value of the REMOTE_ADDR header. If the REMOTE_ADDR header is unset, this attribute will return the value None.
```

:dancer: