In this article, we are going to see how to use mega.nz API with Python. MEGA.NZ is End-to-end encrypted and the encryption keys are owned by us. It means that mega.NZ employees won’t be able to read personal data. Mega.py is a great Python module for interacting with mega.nz API. It provides easy to use functions that can be used for functions like –
- login
- uploading
- downloading
- deleting
- searching
- sharing
- renaming
Installing the Module
Mega. NZ provides an easy-to-use SDK for Python and hence we are going to use it for this tutorial. So First we have to install the SDK.
pip install mega.py
Run this above command to install the SDK. Now move to your favorite IDE.
To Upload File or Folder
Here we are going to upload files in our mega.nz cloud. using upload() function.
# Enter File/Folder Name from mega import Mega
mega = Mega()
m = mega.login(email, password)
filename = "data.csv"
m.upload(filename) |
Output:
Get Information about your Mega Account
Get user details
get_user() method returns a dictionary containing the data about the user.
from mega import Mega
mega = Mega()
m = mega.login(email, password)
details = m.get_user()
print (details)
|
Output:
Get account disk quota
get_quota() method return the unused disk space.
from mega import Mega
mega = Mega()
m = mega.login(email, password)
quota = m.get_quota()
print ( "Total Space: " , quota)
|
Output:
Download Files From Mega
Here we are going to download files from mega using download_url() methods.
from mega import Mega
mega = Mega()
m = mega.login(email, password)
# FIND FILE file = m.find( 'myfile.doc' )
# THEN DOWNLOAD USING THE FILE OBJECT m.download( file )
# DOWNLOAD FILE USING MEGA FILE URL m.download_url( 'https: / / mega.co.nz / #!3tUF2KQD!Rg-zOOUIs9L\
ipsqwH9c_9ZOfRjZ48Xb5k2I1M6QTMa4')
# SPECIFY DOWNLOAD LOCATION m.download( file , '/home/john-smith/Desktop' )
|
Output:
Searching File
Searching file requires the use of the find() function, Here if the file is found it will be a dictionary containing various info about the file, else the file will just be a none type
from mega import Mega
mega = Mega()
m = mega.login(email, password)
filename = ""
file = m.find(filename)
print ( file )
|
Output:
Rename a file or a folder
Here we will rename a file using rename() methods.
from mega import Mega
mega = Mega()
m = mega.login(email, password)
oldFilename = "data.csv"
newFilename = "renamed_data.csv"
file = m.find(oldFilename)
m.rename( file , newFilename)
|
Output:
How to share a public link of the file so that anyone can download?
get_link() method to return the link of the specific file.
# Get the File from mega import Mega
mega = Mega()
m = mega.login(email, password)
file = m.find( "data.csv" )
# Use it in get_link function link = m.get_link( file )
# It will print the link print (link)
|
Output: