No description
Find a file
2020-03-23 19:24:44 -07:00
src More core _api_request to top of method list. 2020-03-23 19:24:44 -07:00
.gitignore Adds export method, fixes login for v2 accounts, rm get_contacts() method 2019-10-22 22:39:42 +01:00
.travis.yml drop python 2 suppot 2019-10-22 23:30:49 +01:00
API_INFO.md api info file started 2013-05-23 23:51:57 +01:00
examples.py python 3 support 2019-10-16 22:04:25 +01:00
HISTORY.rst Update HISTORY.rst. 2020-03-09 17:06:27 -07:00
LICENSE Add LICENSE 2019-11-12 09:27:39 +00:00
MANIFEST.in adds manifest.in 2019-10-16 22:23:52 +01:00
README.md Rewrite readme as markdown. 2020-03-23 12:35:52 -07:00
requirements-dev.txt Create folder and export, support sub folders 2019-10-23 23:04:03 +01:00
requirements.txt updates history and ranges reqs 2020-02-03 19:46:25 +00:00
setup.cfg rm deprecation notice, its alive again 2019-10-22 23:20:53 +01:00
setup.py Back to development: 1.0.7 2020-02-03 19:48:10 +00:00
tox.ini testing 2019-11-06 20:00:09 +00:00

This repository is forked from https://code.richard.do/richardARPANET/mega.py


Mega.py

Python library for the Mega.co.nz 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

Import mega.py

from mega import Mega

Create an instance of Mega.py

mega = Mega()

Login to Mega

m = mega.login(email, password)
# login using a temporary anonymous account
m = mega.login()

Get user details

details = m.get_user()

Get account balance (Pro accounts only)

balance = m.get_balance()

Get account disk quota

quota = m.get_quota()

Get account storage space

# specify unit output kilo, mega, gig, else bytes will output
space = m.get_storage_space(kilo=True)

Get account files

files = m.get_files()
file = m.upload('myfile.doc')
m.get_upload_link(file)
# see mega.py for destination and filename options

Export a file or folder

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

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

folder = m.find('my_mega_folder')
m.upload('myfile.doc', folder[0])

Download a file from URL or file obj, optionally specify destination folder

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

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

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.

{
    'new_folder': 'qpFhAYwA',
    'sub_folder': '2pdlmY4Z',
    'subsub_folder': 'GgMFCKLZ'
}

Rename a file or a folder

file = m.find('myfile.doc')
m.rename(file, 'my_file.doc')