Package: mega.py
Mega.pyPython library for theMega.co.nzAPI, currently supporting:loginuploadingdownloadingdeletingsearchingsharingrenamingmoving filesThis is a work in progress, further functionality coming shortly.For more detailed information see API_INFO.mdHow To UseCreate a Mega accountFirst,create an account with Mega.Install mega.py packageRun the following command, or run setup from the latest github source.pipinstallmega.pyImport mega.pyfrommegaimportMegaCreate an instance of Mega.pymega=Mega()Login to Megam=mega.login(email,password)# login using a temporary anonymous accountm=mega.login()Get user detailsdetails=m.get_user()Get account balance (Pro accounts only)balance=m.get_balance()Get account disk quotaquota=m.get_quota()Get account storage space# specify unit output kilo, mega, gig, else bytes will outputspace=m.get_storage_space(kilo=True)Get account filesfiles=m.get_files()Upload a file, and get its public linkfile=m.upload('myfile.doc')m.get_upload_link(file)# see mega.py for destination and filename optionsExport a file or folderpublic_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!M3wmhwZDENMNUJoBsdzFngFind a file or folderfolder=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 folderfolder=m.find('my_mega_folder')m.upload('myfile.doc',folder[0])Download a file from URL or file obj, optionally specify destination folderfile=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 folderm.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 folderm.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 folderfile=m.find('myfile.doc')m.rename(file,'my_file.doc')Contact SupportFor paid priority support contactmega@odwyer.software.UK Python Development AgencyRelease History1.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 brokendownloadmethod.Changesdownloadanddownload_urlmethods to return the path to
the downloaded file, previously returnedNone.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 methodget_contacts().Adds support for login with a v2 Mega user account.Addsexport()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.Alterscreate_folder()to accept a path including multiple sub
directories, adds support to create them all (similar to 'mkdir -p'
on unix systems).Addsexclude_deleted=Trueoptional arg tofind()method, to
exclude deleted nodes from results.0.9.20 (2019-10-17)Python 3 bugfix touploadmethod.0.9.19 (2019-10-16)Python 3 support and bugfixes.Update packaging code.Added changelog.0.9.18 (2013-07-04)Unknown