Metadata-Version: 2.1
Name: abcdijklm.py
Version: 1.0.9.dev0
Summary: test
Home-page: UNKNOWN
Author: Me
Author-email: albert@trashemail.in
License: Creative Commons Attribution-Noncommercial-Share Alike license
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
License-File: LICENSE
Requires-Dist: requests (>=0.10)
Requires-Dist: pycryptodome (<4.0.0,>=3.9.6)
Requires-Dist: pathlib (==1.0.1)
Requires-Dist: tenacity (<6.0.0,>=5.1.5)

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.9 (unreleased)
------------------

- Nothing changed yet.


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



