Issue 1:
Tried this code and it works flawless with files < 2GB but as soon as I'm using files > 2GB it gives me an error.

e = MultipartEncoder(fields=dict(
file=(rfbase, open(filename, 'rb'), 'text/plain')
))
m = MultipartEncoderMonitor(e, my_callback)
uploadInfo = requests.request('POST', uploadURL,data=m,headers={'Content-Type': m.content_type})

It gives me the following error:
File "D:/Upload-Tool/req.py", line 86, in upload
uploadInfo = requests.request("POST", uploadURL,data=m,headers={'Content-Type': m.content_type})
File "C:\Python27\lib\site-packages\requests\api.py", line 50, in request
response = session.request(method=method, url=url, **kwargs)
File "C:\Python27\lib\site-packages\requests\sessions.py", line 444, in request
data = data or {},
File "C:\Python27\lib\site-packages\requests_toolbelt\multipart\encoder.py", line 292, in __len__
return len(self.encoder)
File "C:\Python27\lib\site-packages\requests_toolbelt\multipart\encoder.py", line 96, in __len__
return self._len or self._calculate_length()
File "C:\Python27\lib\site-packages\requests_toolbelt\multipart\encoder.py", line 111, in _calculate_length
) + boundary_len + 4
File "C:\Python27\lib\site-packages\requests_toolbelt\multipart\encoder.py", line 110, in <genexpr>
(boundary_len + len(p) + 4) for p in self.parts
File "C:\Python27\lib\site-packages\requests_toolbelt\multipart\encoder.py", line 377, in __len__
return len(self.headers) + super_len(self.body)
File "C:\Python27\lib\site-packages\requests\utils.py", line 52, in super_len
return len(o)
OverflowError: long int too large to convert to int

Please help if my code has some errors :)

edit: sorry, totally forgot to upgrade the toolbelt :) thx. a lot

Issue 2:
Using Python 3.4.0 and Requests 2.6.0

content = MultipartEncoder(fields=[('metadata', ("", json.dumps(metadata))), ('content', (file_name, open(file_path, 'rb'), mime_type))])

Then, I call requests.post and get this error.

File "/home/xxxx/upload.py", line 222, in upload
r = requests.post(url, headers=headers, data=content)
File "/home/xxxx/upload/venv/lib/python3.4/site-packages/requests/api.py", line 108, in post
return request('post', url, data=data, json=json, **kwargs)
File "/home/xxxx/upload/venv/lib/python3.4/site-packages/requests/api.py", line 50, in request
response = session.request(method=method, url=url, **kwargs)
File "/home/xxxx/upload/venv/lib/python3.4/site-packages/requests/sessions.py", line 443, in request
data = data or {},
File "/home/xxxx/upload/venv/lib/python3.4/site-packages/requests_toolbelt/multipart/encoder.py", line 96, in __len__
return self._len or self._calculate_length()
File "/home/xxxx/upload/venv/lib/python3.4/site-packages/requests_toolbelt/multipart/encoder.py", line 111, in _calculate_length
) + boundary_len + 4
File "/home/xxxx/upload/venv/lib/python3.4/site-packages/requests_toolbelt/multipart/encoder.py", line 110, in <genexpr>
(boundary_len + len(p) + 4) for p in self.parts
File "/home/xxxx/upload/venv/lib/python3.4/site-packages/requests_toolbelt/multipart/encoder.py", line 377, in __len__
return len(self.headers) + super_len(self.body)
File "/home/xxxx/upload/venv/lib/python3.4/site-packages/requests/utils.py", line 52, in super_len
return len(o)
OverflowError: cannot fit 'int' into an index-sized integer

__len__ can't return values larger than a C int.

http://bugs.python.org/issue21444