Metadata-Version: 2.1
Name: mega.py
Version: 1.0.8
Summary: Python lib for the Mega.co.nz API
Home-page: https://github.com/odwyersoftware/mega.py
Author: O'Dwyer Software
Author-email: hello@odwyer.software
License: Creative Commons Attribution-Noncommercial-Share Alike license
Description: Mega.py
        =======
        
        [![Build
        Status](https://travis-ci.org/odwyersoftware/mega.py.png?branch=master)](https://travis-ci.org/odwyersoftware/mega.py)
        [![Downloads](https://pypip.in/d/mega.py/badge.png)](https://crate.io/packages/mega.py/)  [![PyPI version](https://badge.fury.io/py/mega.py.svg)](https://pypi.org/project/mega.py/)
        
        Python library for the [Mega.co.nz](https://mega.nz/aff=Zo6IxNaHw14)
        API, currently supporting:
        
        -   login
        -   uploading
        -   downloading
        -   deleting
        -   searching
        -   sharing
        -   renaming
        -   moving files
        
        This is a work in progress, further functionality coming shortly.
        
        For more detailed information see API\_INFO.md
        
        How To Use
        ----------
        
        ### Create a Mega account
        
        First, [create an account with Mega](https://mega.nz/aff=Zo6IxNaHw14) .
        
        ### Install mega.py package
        
        Run the following command, or run setup from the latest github source.
        
        ```python
        pip install mega.py
        ```
        
        ### Import mega.py
        
        ```python
        from mega import Mega
        ```
        
        ### Create an instance of Mega.py
        
        ```python
        mega = Mega()
        ```
        
        ### Login to Mega
        
        ```python
        m = mega.login(email, password)
        # login using a temporary anonymous account
        m = mega.login()
        ```
        
        ### Get user details
        
        ```python
        details = m.get_user()
        ```
        
        ### Get account balance (Pro accounts only)
        
        ```python
        balance = m.get_balance()
        ```
        
        ### Get account disk quota
        
        ```python
        quota = m.get_quota()
        ```
        
        ### Get account storage space
        
        ```python
        # specify unit output kilo, mega, gig, else bytes will output
        space = m.get_storage_space(kilo=True)
        ```
        
        ### Get account files
        
        ```python
        files = m.get_files()
        ```
        
        ### Upload a file, and get its public link
        
        ```python
        file = m.upload('myfile.doc')
        m.get_upload_link(file)
        # see mega.py for destination and filename options
        ```
        
        ### Export a file or folder
        
        ```python
        public_exported_web_link = m.export('myfile.doc')
        public_exported_web_link = m.export('my_mega_folder/my_sub_folder_to_share')
        # e.g. https://mega.nz/#F!WlVl1CbZ!M3wmhwZDENMNUJoBsdzFng
        ```
        
        ### Find a file or folder
        
        ```python
        folder = m.find('my_mega_folder')
        # Excludes results which are in the Trash folder (i.e. deleted)
        folder = m.find('my_mega_folder', exclude_deleted=True)
        ```
        
        ### Upload a file to a destination folder
        
        ```python
        folder = m.find('my_mega_folder')
        m.upload('myfile.doc', folder[0])
        ```
        
        ### Download a file from URL or file obj, optionally specify destination folder
        
        ```python
        file = m.find('myfile.doc')
        m.download(file)
        m.download_url('https://mega.co.nz/#!utYjgSTQ!OM4U3V5v_W4N5edSo0wolg1D5H0fwSrLD3oLnLuS9pc')
        m.download(file, '/home/john-smith/Desktop')
        # specify optional download filename (download_url() supports this also)
        m.download(file, '/home/john-smith/Desktop', 'myfile.zip')
        ```
        
        ### Import a file from URL, optionally specify destination folder
        
        ```python
        m.import_public_url('https://mega.co.nz/#!utYjgSTQ!OM4U3V5v_W4N5edSo0wolg1D5H0fwSrLD3oLnLuS9pc')
        folder_node = m.find('Documents')[1]
        m.import_public_url('https://mega.co.nz/#!utYjgSTQ!OM4U3V5v_W4N5edSo0wolg1D5H0fwSrLD3oLnLuS9pc', dest_node=folder_node)
        ```
        
        ### Create a folder
        
        ```python
        m.create_folder('new_folder')
        m.create_folder('new_folder/sub_folder/subsub_folder')
        ```
        
        Returns a dict of folder node name and node\_id, e.g.
        
        ```python
        {
          'new_folder': 'qpFhAYwA',
          'sub_folder': '2pdlmY4Z',
          'subsub_folder': 'GgMFCKLZ'
        }
        ```
        
        ### Rename a file or a folder
        
        ```python
        file = m.find('myfile.doc')
        m.rename(file, 'my_file.doc')
        ```
        
        ## Contact Support
        
        For paid priority support contact [mega@odwyer.software](mailto:mega@odwyer.software).
        
        **[UK Python Development Agency](https://odwyer.software/)**
        
        
        Release History
        ===============
        
        1.0.8 (2020-06-25)
        ------------------
        
        -   Fixes find method returning the wrong file when more than one file
            exists with that name.
        -   Handle new shared file URLS.
        
        1.0.7 (2020-03-25)
        ------------------
        
        -   Fix login by calculating public RSA exponent instead of hardcoding.
        
        1.0.6 (2020-02-03)
        ------------------
        
        -   Fixes RSA public exponent issue.
        -   Switches dependency pycrypto to pycryptodome.
        
        1.0.5 (2019-11-18)
        ------------------
        
        -   Increase the wait time in between failed API request retries.
        
        1.0.4 (2019-11-18)
        ------------------
        
        -   Increase the wait time in between failed API request retries.
        
        1.0.3 (2019-11-12)
        ------------------
        
        -   Fixes broken `download` method.
        -   Changes `download` and `download_url` methods to return the path to
            the downloaded file, previously returned `None`.
        -   Added LICENSE.
        
        1.0.2 (2019-11-07)
        ------------------
        
        -   Reverts, "Replace pycrypto dependency with pycryptodome" as breaks
            login process.
        
        1.0.1 (2019-11-06)
        ------------------
        
        -   When a request fails due to EAGAIN response, retry with exp backoff
            up to 20 seconds.
        -   Adds logging, removes print statements.
        -   Replace pycrypto dependency with pycryptodome.
        -   Removes Python 2 specific code.
        
        1.0.0 (2019-10-31)
        ------------------
        
        -   Removes broken method `get_contacts()`.
        -   Adds support for login with a v2 Mega user account.
        -   Adds `export()` method to share a file or folder, returning public
            share URL with key.
        -   Adds code, message attrs to RequestError exception, makes message in
            raised exceptions include more details.
        -   Alters `create_folder()` to accept a path including multiple sub
            directories, adds support to create them all (similar to 'mkdir -p'
            on unix systems).
        -   Adds `exclude_deleted=True` optional arg to `find()` method, to
            exclude deleted nodes from results.
        
        0.9.20 (2019-10-17)
        -------------------
        
        -   Python 3 bugfix to `upload` method.
        
        0.9.19 (2019-10-16)
        -------------------
        
        -   Python 3 support and bugfixes.
        -   Update packaging code.
        -   Added changelog.
        
        0.9.18 (2013-07-04)
        -------------------
        
        -   Unknown
        
        
Platform: UNKNOWN
Classifier: Intended Audience :: Developers
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
Classifier: Topic :: Internet :: WWW/HTTP
Description-Content-Type: text/markdown
