Skip to main content

WeTransfer Python SDK

A Python SDK for the WeTransfer's Public API

Installation

Use PYPI to install latest stable version:

pip install wetransfer

Checkout the repository and inside the repo's root directory use pip to install latest version to your environment with:

pip install .

Usage

Before starting make sure you have an API key acquired from Developers Portal.

As a first step you need to create a client and fill in your board name:

from wetransfer.client import WTApiClient

kwargs = {"key":  "<my-very-personal-api-key>"}
wt_client = WTApiClient(**kwargs)

After you have the client instance you need to authorize using this client:

wt_client.authorize()

If authorization is successful you should be able to create an new empty transfer

transfer = wt_client.create_transfer(transfer_name="My very first Transfer")

Afterwards you should be able to add items to it

from wetransfer.items import File

f1 = File("~/test.txt")
f2 = File("~/test2.txt")
transfer.add_items([f1, f2])

print(transfer)

After calling add_items method the upload process should start. As soon as it returns you should be able to see details for this transfer and access the url that your transfer is available for download.

The full code snippet is as follows:

import sys
from wetransfer.items import File, Link
from wetransfer.client import WTApiClient

kwargs = {"key":  "<my-very-personal-api-key>"}
wt_client = WTApiClient(**kwargs)

if not wt_client.authorize():
    sys.exit(0)

transfer = wt_client.create_transfer(transfer_name="My very first Transfer")

f1 = File("./test.txt")
l1 = Link("https://wetransfer.com/", "WeTransfer Website")

transfer.add_items([f1, l1])

print(transfer)

which if you run it you should see something like:

Transfer with id: <id>, can be found in short url: <str>, with following items: ['Transfer item, file type, with size 10, name test.txt, and local path /Users/bla/test.txt, has 1 multi parts']

Helper methods

If you need to upload only file you can skip the File objects creation and use a helper function that allows you to specify a list of paths as strings and will add these for you a given Transfer

transfer.add_files(["file1.txt", "file2.txt"])

Similar method exist for URLs:

transfer.add_links(["https://wetransfer.com/", "http://www.visitgreece.gr/"])

Debugging

If you need to debug or investigate weird behaviours you can enable logs for this SDK by enabling the dedicated python logger

import logging

logging.basicConfig()
logging.getLogger("wetransfer-python-sdk").setLevel(logging.DEBUG)

kwargs = {"key":  "<my-very-personal-api-key>"}
wt = WTApiClient(**kwargs)
...

You can set the severity level accordingly depending on the verbosity you desire.

Contributing

See dedicated section.

Metadata

Release files for wetransfer 0.2.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Built distribution (wheel)

Table of built distributions (wheels) for wetransfer 0.2.0
File Interpreter ABI Platform Actions
wetransfer-0.2.0-py2.py3-none-any.whl Python 2, Python 3 none any Details for wetransfer-0.2.0-py2.py3-none-any.whl

Release files / wetransfer-0.2.0-py2.py3-none-any.whl

Download URL wetransfer-0.2.0-py2.py3-none-any.whl
Size 21.6 kB
Tags Python 2 Python 3
SHA-256 checksum
How to use checksums
751d27f7f1b2312bb3d86e2206797ddfe99295f9687331a6de7ec1ca7d0de35f
BLAKE2b-256 checksum
How to use checksums
1b926b4c63a4136a8b48b8221d1b3ae6d60ac82ddd6485907aac78d0620a45ef
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/1.11.0 pkginfo/1.4.2 requests/2.19.1 setuptools/40.2.0 requests-toolbelt/0.8.0 tqdm/4.25.0 CPython/2.7.14

Security for wetransfer 0.2.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.2.0 This release

1 release file No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page