{ "info": { "author": "Francois Liot", "author_email": "francois@liot.org", "bugtrack_url": null, "classifiers": [ "Development Status :: 5 - Production/Stable", "Intended Audience :: Developers", "License :: OSI Approved :: Apache Software License", "Operating System :: OS Independent", "Programming Language :: Python :: 3", "Topic :: Internet :: WWW/HTTP", "Topic :: Software Development :: Libraries :: Python Modules" ], "description": "# WeTransfer V2 Upload wrapper\n\nThis module allows you to use WeTransfer services directly, from python 3.x.\n\nIt is based on current WeTransfer API V2: https://developers.wetransfer.com/documentation\n\nProject team:\n- Francois Liot (Author)\n- Sander Huijsen (Heavy Contributor)\n\n## Installation\n\nInstall through Pypi:\n```sh\npip install py3wetransfer\n```\n\n## Functional features\n - Transfer API\nhttps://wetransfer.github.io/wt-api-docs/index.html#transfer-api\n\n - Board API\nhttps://wetransfer.github.io/wt-api-docs/index.html#board-api\n\n## Usage\n**Before starting, make sure you have an API key acquired from [Developers Portal](https://developers.wetransfer.com/).**\n\nTo initialize the client, you need to use your own api key. \n\n### Transfer\n\n**upload_file**\n\nSimply send your file\n```python\nfrom wetransfer import TransferApi\n\nx = TransferApi(\"\")\n\nprint(x.upload_file(\"Test upload file\", \"test.zip\"))\n# \"https://we.tl/t-ajQpdqGxco\"\n```\n\n**upload_files**\n\nSend several files\n```python\nfrom wetransfer import TransferApi\n\nx = TransferApi(\"\")\n\nprint(x.upload_files(\"Test upload files\", [\"file1.zip\", \"file2.zip\"]))\n# \"https://we.tl/t-ajQpdqGxco\"\n```\n\n### Board\n\n**Manage board**\n\n```python\nfrom wetransfer import BoardApi\n\nx = BoardApi(\"\")\n\nboard_id, board_url = x.create_new_board(\"test board\")\n\nprint(board_url)\n# \"https://we.tl/t-ajQpdqGxco\"\n\n# add links\nx.add_links_to_board(board_id, [{\"url\": \"https://wetransfer.com/\", \"title\": \"WeTransfer\"}])\n\n# add files\nx.add_files_to_board(board_id, [\"test1.png\", \"test2.jpg\"])\n\n# retrieve the board object \n# https://wetransfer.github.io/wt-api-docs/index.html#retrieve-boards-information\nboard_object = x.get_board(board_id)\n```\n\n### Debug\n```python\nimport logging\nfrom wetransfer import TransferApi\n\nlogging.basicConfig()\nlogging.getLogger().setLevel(logging.DEBUG)\npy3wetransfer_log = logging.getLogger('wetransfer')\npy3wetransfer_log.setLevel(logging.DEBUG)\npy3wetransfer_log.propagate = True\n\nx = TransferApi(\"\")\n\nprint(x.upload_file(\"test upload\", \"test.zip\"))\n# \"https://we.tl/t-ajQpdqGxco\"\n```\n\nIf you want to see complete http traffic:\n\n```python\nimport logging\nfrom wetransfer import TransferApi\n\nimport http.client as http_client\nhttp_client.HTTPConnection.debuglevel = 1\n\nlogging.basicConfig()\nlogging.getLogger().setLevel(logging.DEBUG)\npy3wetransfer_log = logging.getLogger('wetransfer')\npy3wetransfer_log.setLevel(logging.DEBUG)\npy3wetransfer_log.propagate = True\n\nx = TransferApi(\"\")\n\nprint(x.upload_file(\"test upload\", \"test.zip\"))\n# \"https://we.tl/t-ajQpdqGxco\"\n```\n\n### Testing authentication\n\nIf you need to test authentication validity\n\n```python\nfrom wetransfer import TransferApi\n\nx = TransferApi(\"\")\n\nif x.is_authenticated():\n print(\"we are authenticated\")\n```\n\n### Additional authentication parameters\n\nWeTransfer asks officially for a valid \"domain_user_id\"/\"user_identifier\" in their API documentation, but in practise, it works perfectly without providing it.\n\n```python\nfrom wetransfer import TransferApi\n\nx = TransferApi(\"\", \n user_identifier=\"81940232-9857-4cf7-b685-7a404faf5205\")\n\nprint(x.upload_file(\"test upload\", \"test.zip\"))\n# \"https://we.tl/t-ajQpdqGxco\"\n```\n\n### Unit tests\n\nThe package has a number of tests. You can run the tests by running the command `python setup.py test`. Please make sure you have defined the environment variable `WE_API_KEY`, otherwise all tests will fail. See 'Usage' above to see how you can obtain a key. You can set the key in a shell like so:\n\n```bash\nexport WE_API_KEY=WvMlogNaWLubua6S5iuA5tRk6ZZDqwh6yaxOpGNa\n```\n\nThis is an invalid key, so make sure to use your own key. \n\nPlease note that the tests actually upload files, and this may take a while (depending on your internet connection). Also, running the tests counts toward your API key usage, so bear this in mind.\n\n\n", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/fliot/py3wetransfer", "keywords": "", "license": "", "maintainer": "Sander Huijsen", "maintainer_email": "sander.huijsen@gmail.com", "name": "py3wetransfer", "package_url": "https://pypi.org/project/py3wetransfer/", "platform": "", "project_url": "https://pypi.org/project/py3wetransfer/", "project_urls": { "Homepage": "https://github.com/fliot/py3wetransfer" }, "release_url": "https://pypi.org/project/py3wetransfer/1.0.3/", "requires_dist": [ "requests (>=2.7.0)" ], "requires_python": "", "summary": "A Python 3 wrapper to use WeTransfer API V2 transfer and board", "version": "1.0.3" }, "last_serial": 5854252, "releases": { "0.0.1": [ { "comment_text": "", "digests": { "md5": "4dc240f1c2706baeda896db3088c12dd", "sha256": "ac7a477646535a8f6ab2b5d97561c6dde243e392eddc9449c54c6db0d10f712c" }, "downloads": -1, "filename": "py3wetransfer-0.0.1-py3-none-any.whl", "has_sig": false, "md5_digest": "4dc240f1c2706baeda896db3088c12dd", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 5182, "upload_time": "2018-09-29T12:52:04", "url": "https://files.pythonhosted.org/packages/46/f9/59d27d8d20028142facad86e45b5cc08ebe6c88ac4ef8f1d7e0d50f259c2/py3wetransfer-0.0.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "2d823e9d71f812496d713b46f6f81d06", "sha256": "f4c52be102b63468563e4716082d500f4641cab0a2e995ce19f7bc1e70a158f9" }, "downloads": -1, "filename": "py3wetransfer-0.0.1.tar.gz", "has_sig": false, "md5_digest": "2d823e9d71f812496d713b46f6f81d06", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5008, "upload_time": "2018-09-29T12:52:06", "url": "https://files.pythonhosted.org/packages/76/46/37b9b76c36700038cc6a5d2baf1656ec5f8158a0631b9a6630d816db4611/py3wetransfer-0.0.1.tar.gz" } ], "0.0.2": [ { "comment_text": "", "digests": { "md5": "d2825b97d4962b2d2f62ffafda47dbb6", "sha256": "58e04ae7876d757b3ac00168d4388db6b018334ee7200c569b33035c95c0af72" }, "downloads": -1, "filename": "py3wetransfer-0.0.2-py3-none-any.whl", "has_sig": false, "md5_digest": "d2825b97d4962b2d2f62ffafda47dbb6", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 5060, "upload_time": "2018-09-29T13:01:58", "url": "https://files.pythonhosted.org/packages/79/b1/c7b3ceb7f35a13da12b3fd42c50df4a4cde8173c7b1e9e73419ae8850a92/py3wetransfer-0.0.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "a23ce9182e066fa0d7e12d7e28668119", "sha256": "ba8736f445ea843efbbad3ae759a2170b42fac5f141be0284df402798d678a30" }, "downloads": -1, "filename": "py3wetransfer-0.0.2.tar.gz", "has_sig": false, "md5_digest": "a23ce9182e066fa0d7e12d7e28668119", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4878, "upload_time": "2018-09-29T13:02:00", "url": "https://files.pythonhosted.org/packages/72/9a/75e94e2c1a2fff9a545f81d47f68399f615f1ab716542ea7e0be1421dc17/py3wetransfer-0.0.2.tar.gz" } ], "1.0.3": [ { "comment_text": "", "digests": { "md5": "a79b529c6e0190266602e7b9d234ed83", "sha256": "c44ff554aecd37c7d213e586ea633bddb0645822137e356defb51bd9d0fb6cb1" }, "downloads": -1, "filename": "py3wetransfer-1.0.3-py3-none-any.whl", "has_sig": false, "md5_digest": "a79b529c6e0190266602e7b9d234ed83", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 14541, "upload_time": "2019-09-19T06:20:13", "url": "https://files.pythonhosted.org/packages/53/b5/f6add2fe4aa5aec70d87030dc3c965791201617128debfc46b4af88eb1b1/py3wetransfer-1.0.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "d84fdf2da997a0425a960a2fa4afe679", "sha256": "626bf37d9260794174fecc1713d3215635096a3687ea8390dbe7db227f5416c1" }, "downloads": -1, "filename": "py3wetransfer-1.0.3.tar.gz", "has_sig": false, "md5_digest": "d84fdf2da997a0425a960a2fa4afe679", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8774, "upload_time": "2019-09-19T06:20:15", "url": "https://files.pythonhosted.org/packages/39/58/4b427231bd5d78611944313670aff6db15556946813cd0335bb441c574c5/py3wetransfer-1.0.3.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "a79b529c6e0190266602e7b9d234ed83", "sha256": "c44ff554aecd37c7d213e586ea633bddb0645822137e356defb51bd9d0fb6cb1" }, "downloads": -1, "filename": "py3wetransfer-1.0.3-py3-none-any.whl", "has_sig": false, "md5_digest": "a79b529c6e0190266602e7b9d234ed83", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 14541, "upload_time": "2019-09-19T06:20:13", "url": "https://files.pythonhosted.org/packages/53/b5/f6add2fe4aa5aec70d87030dc3c965791201617128debfc46b4af88eb1b1/py3wetransfer-1.0.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "d84fdf2da997a0425a960a2fa4afe679", "sha256": "626bf37d9260794174fecc1713d3215635096a3687ea8390dbe7db227f5416c1" }, "downloads": -1, "filename": "py3wetransfer-1.0.3.tar.gz", "has_sig": false, "md5_digest": "d84fdf2da997a0425a960a2fa4afe679", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8774, "upload_time": "2019-09-19T06:20:15", "url": "https://files.pythonhosted.org/packages/39/58/4b427231bd5d78611944313670aff6db15556946813cd0335bb441c574c5/py3wetransfer-1.0.3.tar.gz" } ] }