Metadata-Version: 2.1
Name: py3-wetransfer
Version: 0.1.2
Summary: A Python 3 wrapper to use WeTransfer API V2 transfer and board
Home-page: https://github.com/Sandyman/py3-wetransfer
Author: Sander Huijsen
Author-email: sander.huijsen@gmail.com
Maintainer: Sander Huijsen
Maintainer-email: sander.huijsen@gmail.com
License: UNKNOWN
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
        
        This project is forked from the py3wetransfer repository that was maintained by Francois Liot. You can still find it [here](https://github.com/fliot/py3wetransfer). It seems, however, that it is no longer maintained.
        
        ## Installation
        
        Install though Pypi:
        ```sh
        pip install py3-wetransfer
        ```
        
        ## 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](https://developers.wetransfer.com/).**
        
        To initialize the client, you need to use your own api key. 
        
        ### Transfer
        
        **upload_file**
        
        Simply send your file
        ```python
        from wetransfer import TransferApi
        
        x = TransferApi("<my-very-personal-api-key>")
        
        print(x.upload_file("Test upload file", "test.zip"))
        # "https://we.tl/t-ajQpdqGxco"
        ```
        
        **upload_files**
        
        Send several files
        ```python
        from wetransfer import TransferApi
        
        x = TransferApi("<my-very-personal-api-key>")
        
        print(x.upload_files("Test upload files", ["file1.zip", "file2.zip"]))
        # "https://we.tl/t-ajQpdqGxco"
        ```
        
        ### Board
        
        **Manage board**
        
        ```python
        from wetransfer import BoardApi
        
        x = BoardApi("<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
        ```python
        import logging
        from wetransfer import TransferApi
        
        logging.basicConfig()
        logging.getLogger().setLevel(logging.DEBUG)
        py3wetransfer_log = logging.getLogger('wetransfer')
        py3wetransfer_log.setLevel(logging.DEBUG)
        py3wetransfer_log.propagate = True
        
        x = TransferApi("<my-very-personal-api-key>")
        
        print(x.upload_file("test upload", "test.zip"))
        # "https://we.tl/t-ajQpdqGxco"
        ```
        
        If you want to see complete http traffic:
        
        ```python
        import logging
        from wetransfer import TransferApi
        
        import http.client as http_client
        http_client.HTTPConnection.debuglevel = 1
        
        logging.basicConfig()
        logging.getLogger().setLevel(logging.DEBUG)
        py3wetransfer_log = logging.getLogger('wetransfer')
        py3wetransfer_log.setLevel(logging.DEBUG)
        py3wetransfer_log.propagate = True
        
        x = TransferApi("<my-very-personal-api-key>")
        
        print(x.upload_file("test upload", "test.zip"))
        # "https://we.tl/t-ajQpdqGxco"
        ```
        
        ### Testing authentication
        
        If you need to test authentication validity
        
        ```python
        from wetransfer import TransferApi
        
        x = TransferApi("<my-very-personal-api-key>")
        
        if x.is_authenticated():
            print("we are authenticated")
        ```
        
        ### Additional 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...
        
        ```python
        from wetransfer import TransferApi
        
        x = TransferApi("<my-very-personal-api-key>", 
                        user_identifier="81940232-9857-4cf7-b685-7a404faf5205")
        
        print(x.upload_file("test upload", "test.zip"))
        # "https://we.tl/t-ajQpdqGxco"
        ```
        
        ### Unit tests
        
        The 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 variables `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:
        
        ```bash
        export WE_API_KEY=WvMlogNaWLubua6S5iuA5tRk6ZZDqwh6yaxOpGNa
        ```
        
        This is an invalid key, so make sure to use your own key. 
        
        Please note that the tests actually upload files, and this may take a while (depending on your internet connection).
        
Platform: UNKNOWN
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Programming Language :: Python :: 3
Classifier: Operating System :: OS Independent
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Classifier: Topic :: Internet :: WWW/HTTP
Description-Content-Type: text/markdown
