Skip to main content

A Python SDK for accessing files in OneDrive & SharePoint using the Microsoft Graph API

Project description

OneDrive and SharePoint Python SDK

A Python SDK for accessing files in OneDrive & SharePoint using the Microsoft Graph API.

Functionality includes:

  • Upload and download files
  • List files and folders in directories
  • List the SharePoint sites that you follow
  • Search for a SharePoint site and it's drives

Installation

Requires Python 3.7+

pip install onedrive-sharepoint-python-sdk

Examples

See the examples folder for more.

OneDrive

from msdrive import OneDrive

drive = OneDrive("access_token_here")

drive.download_item(item_path="/Documents/my-data.csv", file_path="my-data.csv")
drive.upload_item(item_path="/Documents/new-or-existing-file.csv", file_path="new-or-existing-file.csv")

SharePoint

from msdrive import SharePoint

drive = SharePoint("access_token_here")

drive.download_item(drive_id="b!...", item_path="/General/shared-data.csv", file_path="shared-data.csv")
drive.upload_item(drive_id="b!...", item_path="/General/new-or-existing-file.csv", file_path="new-or-existing-file.csv")

Authentication

The SDK does not handle authentication, it presumes you already have a Microsoft access token which you pass into the constructor (see auth example).

Use a library like MSAL or Azure Identity to handle this.

Local Development

pip install -e .[tests]
pytest # run unit tests

Deployment

Bump the version in pyproject.toml and src/msdrive/__init__.py and then run the Upload Python Package pipeline.

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

onedrive-sharepoint-python-sdk-0.0.2.tar.gz (7.2 kB view hashes)

Uploaded Source

Built Distribution

Supported by

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