Skip to main content

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.

I aim to write a wrapper for the SDK when i have the time to do so.


Mega.py

Build Status Downloads

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()
# add the verbose option for print output on some functions
mega = Mega({'verbose': True})

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()

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

Fine 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.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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

mega.py-1.0.0.tar.gz (16.7 kB view details)

Uploaded Source

Built Distribution

mega.py-1.0.0-py2.py3-none-any.whl (14.2 kB view details)

Uploaded Python 2Python 3

File details

Details for the file mega.py-1.0.0.tar.gz.

File metadata

  • Download URL: mega.py-1.0.0.tar.gz
  • Upload date:
  • Size: 16.7 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

Hashes for mega.py-1.0.0.tar.gz
Algorithm Hash digest
SHA256 185f9070cb3666e5304c97fbdc9a5dd7da97fe5db33f92ecb834f3fefe9ebf32
MD5 00955d72d7f6a6429dac319f6fdb67d0
BLAKE2b-256 17c96f522bcc3fdb396082cb5bbd4ab506c93dbcd16675899b2231399c786ee6

See more details on using hashes here.

File details

Details for the file mega.py-1.0.0-py2.py3-none-any.whl.

File metadata

  • Download URL: mega.py-1.0.0-py2.py3-none-any.whl
  • Upload date:
  • Size: 14.2 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

Hashes for mega.py-1.0.0-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 8d8215c282ff7685cee5cbf8fe476a3f0a2235d58bab798fb304e1ef5ea0dbc4
MD5 9ad40f678e39e3303b11fc180ed6a0d7
BLAKE2b-256 796fd9b172136da6bd9e4e7eff4140ea52a01031cc92abdb77cccf1bc2c603cc

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page