Go to file
voussoir 17c0b74da1
Fix parse_url returning string.
2022-06-03 18:54:15 -07:00
src Fix parse_url returning string. 2022-06-03 18:54:15 -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 speed up CI 2020-06-25 21:48:06 +01:00
API_INFO.md api info file started 2013-05-23 23:51:57 +01:00
HISTORY.md Back to development: 1.0.9 2020-06-25 21:44:31 +01:00
LICENSE Add LICENSE 2019-11-12 09:27:39 +00:00
MANIFEST.in lint 2020-06-25 21:36:43 +01:00
README.md Put Richard's github link back into the readme. 2021-09-22 15:52:49 -07:00
examples.py various fixes 2020-06-25 21:03:16 +01:00
requirements-dev.txt various fixes 2020-06-25 21:03:16 +01:00
requirements.txt updates history and ranges reqs 2020-02-03 19:46:25 +00:00
setup.cfg various fixes 2020-06-25 21:03:16 +01:00
setup.py Back to development: 1.0.9 2020-06-25 21:44:31 +01:00
tox.ini speed up CI 2020-06-25 21:48:06 +01:00

README.md

This repository is forked from https://github.com/odwyersoftware/mega.py / 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')