Python lib for the Mega.co.nz API
Project description
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/richardARPANET/mega.py. Please direct issues and pull requests there.
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
Install mega.py package
#Run the following command, or run setup from the latest github source
pip install mega.py
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()
Upload a file, and get its public link
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')
~
Release History
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 method get_contacts().
Adds support for login with a v2 Mega user account.
Adds export() 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.
Alters create_folder() to accept a path including multiple sub directories, adds support to create them all (similar to ‘mkdir -p’ on unix systems).
Adds exclude_deleted=True optional arg to find() method, to exclude deleted nodes from results.
0.9.20 (2019-10-17)
Python 3 bugfix to upload method.
0.9.19 (2019-10-16)
Python 3 support and bugfixes.
Update packaging code.
Added changelog.
0.9.18 (2013-07-04)
Unknown
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file mega.py-1.0.1.tar.gz
.
File metadata
- Download URL: mega.py-1.0.1.tar.gz
- Upload date:
- Size: 16.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/2.0.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.36.1 CPython/3.7.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 794fb2c2131548727dcebc6656d45a4dd5bdb402ec46d24deca2f950c7047e55 |
|
MD5 | 8b345e8fa37fa9f40dc282cc1a5b79ee |
|
BLAKE2b-256 | 7a69f9019d1272c0ee1e06f3776f52d3f6987e49574bca8490a7359c0c492c96 |
File details
Details for the file mega.py-1.0.1-py2.py3-none-any.whl
.
File metadata
- Download URL: mega.py-1.0.1-py2.py3-none-any.whl
- Upload date:
- Size: 14.4 kB
- Tags: Python 2, Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/2.0.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.36.1 CPython/3.7.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | a124e8144fd56e2da82e25c238a3c20d308ecc3255af498ce4252159b0f21609 |
|
MD5 | b969d69e372a442864c88a802f6cce5d |
|
BLAKE2b-256 | 8eebb0663a0d4dc8de5774d214535aec221f5fee3566d3e0e5f2176f6b94d741 |