NOTICE: If you're reading this on GitHub.com please be aware this is a mirror of the primary remote located at https://code.richard.do/explore/projects. Please direct issues and pull requests there.
Mega.py is now deprecated, please use the official SDK https://github.com/meganz/sdk.
I aim to write a wrapper for the SDK when i have the time to do so.
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
#Run the following command, or run setup from the latest github sourcesudopipinstallmega.pyfrommegaimportMegamega=Mega()
# add the verbose option for print output on some functionsmega=Mega({'verbose': True})m=mega.login(email, password)
# login using a temporary anonymous accountm=mega.login()details=m.get_user()balance=m.get_balance()quota=m.get_quota()# specify unit output kilo, mega, gig, else bytes will outputspace=m.get_storage_space(kilo=True)files=m.get_files()file=m.upload('myfile.doc')
m.get_upload_link(file)
# see mega.py for destination and filename optionsfolder=m.find('my_mega_folder')
m.upload('myfile.doc', folder[0])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')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)m.create_folder('new_folder')file=m.find('myfile.doc')
m.rename(file, 'my_file.doc')file=m.find('myfile.doc')
folder=m.find('myfolder')
m.move(file[0], folder)file=m.find('myfile.doc')
m.get_link(file)m.delete(file[0])
m.delete_url('https://mega.co.nz/#!utYjgSTQ!OM4U3V5v_W4N5edSo0wolg1D5H0fwSrLD3oLnLuS9pc')
m.destroy(file[0])
m.destroy_url('https://mega.co.nz/#!utYjgSTQ!OM4U3V5v_W4N5edSo0wolg1D5H0fwSrLD3oLnLuS9pc')
files=m.find('myfile.doc')
iffiles:
m.delete(files[0])m.add_contact('test@email.com')
m.remove_contact('test@email.com')1. Python2.7+
2. Python requests (>0.10) - python-requests.org
3. PyCrypto - dlitz.net/software/pycrypto/
Test .py files can be found in tests.py, run these to ensure Mega.py is working 100%.
Feel free to pull the source and make changes and additions.
Learn about the API at Mega.co.nz, more documentation coming shortly.
- https://mega.co.nz/#developers

