GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — GitHub - O365/python-o365: A simple python library to interact with Microsoft Graph and Office 365 API

BranchesTags
Open more actions menu

Latest commit

 

History

1,437 Commits
1,437 Commits

Folders and files

NameName
Last commit message
Last commit date
.github/workflows
.github/workflows
 
 
O365
O365
 
 
docs
docs
 
 
examples
examples
 
 
tests
tests
 
 
.gitignore
.gitignore
 
 
.travis.yml
.travis.yml
 
 
CHANGES.md
CHANGES.md
 
 
LICENSE
LICENSE
 
 
README.md
README.md
 
 
build_docs.sh
build_docs.sh
 
 
pyproject.toml
pyproject.toml
 
 
release.py
release.py
 
 

Repository files navigation

Downloads PyPI PyPI pyversions

O365 - Microsoft Graph and related APIs made easy

This project aims to make interacting with the Microsoft api, and related apis, easy to do in a Pythonic way. Access to Email, Calendar, Contacts, OneDrive, Sharepoint, etc. Are easy to do in a way that feel easy and straight forward to beginners and feels just right to seasoned python programmer.

The project is currently developed and maintained by alejcas.

Core developers

  • Alejcas
  • Toben Archer
  • Geethanadh

We are always open to new pull requests!

Detailed docs and api reference on O365 Docs site

Quick example on sending a message:

from O365 import Account

credentials = ('client_id', 'client_secret')

account = Account(credentials)
m = account.new_message()
m.to.add('[email protected]')
m.subject = 'Testing!'
m.body = "George Best quote: I've stopped drinking, but only while I'm asleep."
m.send()

Why choose O365?

  • Almost Full Support for MsGraph Rest Api.
  • Good Abstraction layer for the Api.
  • Full oauth support with automatic handling of refresh tokens.
  • Automatic handling between local datetimes and server datetimes. Work with your local datetime and let this library do the rest.
  • Change between different resource with ease: access shared mailboxes, other users resources, SharePoint resources, etc.
  • Pagination support through a custom iterator that handles future requests automatically. Request Infinite items!
  • A query helper to help you build custom OData queries (filter, order, select and search).
  • Modular ApiComponents can be created and built to achieve further functionality.

This project was also a learning resource for us. This is a list of not so common python idioms used in this project:

  • New unpacking technics: def method(argument, *, with_name=None, **other_params):
  • Enums: from enum import Enum
  • Factory paradigm
  • Package organization
  • Timezone conversion and timezone aware datetimes
  • Etc. (see the code!)

About

A simple python library to interact with Microsoft Graph and Office 365 API

Topics

addressbookcalendarcalendarsemailexcelgraphmailboxmicrosoftmicrosoft-apimicrosoft-graph-apimicrosoft-teamsoauthoauth-authenticationoffice-365-rest-apionedriveoutlookplannerpythonsharepoint

Resources

Readme
Apache-2.0 license
Activity
Custom properties

Stars

1.9k stars

Watchers

45 watching

Forks

441 forks
Report repository

Releases

Packages

Used by

Contributors

Languages

You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.