A Python 3 wrapper to use WeTransfer API V2 transfer and board
Project description
WeTransfer V2 Upload wrapper
This module allows you to use WeTransfer services directly, from python 3.x.
It is based on current WeTransfer API V2: https://developers.wetransfer.com/documentation
Install though Pypi:
pip install py3wetransfer
Functional features
-
Transfer API https://wetransfer.github.io/wt-api-docs/index.html#transfer-api
-
Board API https://wetransfer.github.io/wt-api-docs/index.html#board-api
Usage
Before starting, make sure you have an API key acquired from Developers Portal.
To initialize the client, you need to use your own api key.
Transfer
upload_file
Simply send your file
from py3wetransfer import Py3WeTransfer
x = Py3WeTransfer("<my-very-personal-api-key>")
print( x.upload_file("test.zip", "test upload") )
>> "https://we.tl/t-ajQpdqGxco"
upload_files
Send several files
from py3wetransfer import Py3WeTransfer
x = Py3WeTransfer("<my-very-personal-api-key>")
print( x.upload_files( ["file1.zip", "file2.zip"] , "test upload") )
>> "https://we.tl/t-ajQpdqGxco"
Board
Manage board
from py3wetransfer import Py3WeTransfer
x = Py3WeTransfer("<my-very-personal-api-key>")
[ board_id, board_url ] = x.create_new_board("test board")
print(board_url)
>> "https://we.tl/t-ajQpdqGxco"
# add links
x.add_links_to_board( board_id, [{"url": "https://wetransfer.com/", "title": "WeTransfer"}] )
# add files
x.add_files_to_board( board_id, ["test1.png", "test2.jpg"] )
# retrieve the board object
# https://wetransfer.github.io/wt-api-docs/index.html#retrieve-boards-information
board_object = x.get_board( board_id )
Debug
import logging
from py3wetransfer import Py3WeTransfer
logging.basicConfig()
logging.getLogger().setLevel(logging.DEBUG)
py3wetransfer_log = logging.getLogger("py3wetransfer")
py3wetransfer_log.setLevel(logging.DEBUG)
py3wetransfer_log.propagate = True
x = Py3WeTransfer("xA8ZYoVox57QfxX77hjQ2AI7hqO6l9M4tqv8b57c")
print( x.upload_file("test.zip", "test upload") )
...
If you want to see complete http traffic:
import logging
from py3wetransfer import Py3WeTransfer
import http.client as http_client
http_client.HTTPConnection.debuglevel = 1
logging.basicConfig()
logging.getLogger().setLevel(logging.DEBUG)
py3wetransfer_log = logging.getLogger("py3wetransfer")
py3wetransfer_log.setLevel(logging.DEBUG)
py3wetransfer_log.propagate = True
x = Py3WeTransfer("xA8ZYoVox57QfxX77hjQ2AI7hqO6l9M4tqv8b57c")
print( x.upload_file("test.zip", "test upload") )
...
Testing authentication
If you need to test authentication validity
from py3wetransfer import Py3WeTransfer
x = Py3WeTransfer("xA8ZYoVox57QfxX77hjQ2AI7hqO6l9M4tqv8b57c")
if x.isAuthentified() : print("we are authentified")
Additionnal authentication parameters
WeTransfer asks officially for a valid "domain_user_id"/"user_identifier" in their API documentation, but in practise, it perfectly works without providing it, but you can also provide it if you really want...
from py3wetransfer import Py3WeTransfer
x = Py3WeTransfer( "xA8ZYoVox57QfxX77hjQ2AI7hqO6l9M4tqv8b57c",
user_identifier="81940232-9857-4cf7-b685-7a404faf5205")
print( x.upload_file("test.zip", "test upload") )
>> "https://we.tl/t-ajQpdqGxco"
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for py3wetransfer-0.0.2-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 58e04ae7876d757b3ac00168d4388db6b018334ee7200c569b33035c95c0af72 |
|
MD5 | d2825b97d4962b2d2f62ffafda47dbb6 |
|
BLAKE2b-256 | 79b1c7b3ceb7f35a13da12b3fd42c50df4a4cde8173c7b1e9e73419ae8850a92 |