Skip to main content

Twisted-based async interface for Microsoft LiveConnect OneDrive REST API v5.0

Project description


Twisted-based python async interface for SkyDrive API (version 5.0).

API is mostly the same as in python-skydrive module (txSkyDriveAPI class maps to SkyDriveAPIWrapper, txSkyDrive to SkyDriveAPI) - methods are re-used directly from classes there, so more info on these can be found in that project.

Key difference from synchronous python-skydrive module is that all methods return twisted Deferred objects as scheduled to run by event loop, allowing to run multiple operations (like large file uploads) concurrently within one python process.

Usage Example

Following script will print listing of the root SkyDrive folder, upload “test.txt” file there, try to find it in updated folder listing and then remove it.

from twisted.internet import defer, reactor
from txskydrive import txSkyDrivePersistent

def do_stuff():
    api = txSkyDrivePersistent.from_conf()

    # Print root directory ("me/skydrive") listing
    print list(e['name'] for e in (yield api.listdir()))

    # Upload "test.txt" file from local current directory
    file_info = yield api.put('test.txt')

    # Find just-uploaded "test.txt" file by name
    file_id = yield api.resolve_path('test.txt')

    # Check that id matches uploaded file
    assert file_info['id'] == file_id

    # Remove the file
    yield api.delete(file_id)

do_stuff().addCallback(lambda ignored: reactor.stop())

Note that txSkyDriveAPIPersistent convenience class uses Microsoft LiveConnect authentication data from “~/.lcrc” file, which must be created as described in more detail in python-skydrive docs.


It’s a regular package for Python 2.7 (not 3.X).

Using pip is the best way:

% pip install txskydrive

If you don’t have it, use:

% easy_install pip
% pip install txskydrive

Alternatively (see also):

% curl | python
% pip install txskydrive

Or, if you absolutely must:

% easy_install txskydrive

But, you really shouldn’t do that.

Current-git version can be installed like this:

% pip install 'git+'

Note that to install stuff in system-wide PATH and site-packages, elevated privileges are often required. Use “install –user”, ~/.pydistutils.cfg or virtualenv to do unprivileged installs into custom paths.


Project details

Release history Release notifications

History Node


This version
History Node


History Node


Download files

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

Filename, size & hash SHA256 hash help File type Python version Upload date
txOneDrive-14.05.0.tar.gz (9.7 kB) Copy SHA256 hash SHA256 Source None May 13, 2014

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging CloudAMQP CloudAMQP RabbitMQ AWS AWS Cloud computing Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page