Table of Contents
The Graph API Examples repository is designed to provide concrete examples for making calls to the Microsoft Graph API using a series of libraries in Python and R. The project is organized as a series of reference implementations
- Python Packages
- msgraph - Microsoft maintained software development kit (sdk) that provides a thin wrapper for the Graph API
- O365 - Third party library for utilizing Graph API with a robust feature set for Graph APIs core resources
- Dynaconf - 12-factor app compliant library for managing configuration settings and secret storage
- R Packages
- AzureGraph - Graph API package for R that supports multiple kinds of authentication
- Microsoft365R - Graph API package for R centered around user-based authentication flows with a simpler interface than AzureGraph
- Graph API Overview
- API basics
- Using Graph API to access O365
- Requesting access to Graph API
- With Python
- Using
msgraph
- Using
O365
- Using
- With R
- Using
AzureGraph
- Using
Microsoft365R
- Using
- SharePoint Sites and Lists
- Site Resource
- List Resource
- ListItem Resource
- SharePoint Drives and OneDrive
- Drive Resource
- DriveItem Resource
- Python dependencies
- Dynaconf - 12-factor app compliant library for managing configuration settings and secret storage.
- tox - Automates and standardizes the creation of testing environments.
- pytest - Simplifies the design and execution of both unit and integration testing.
- black - Autoformats code for consistent styling.
- flake8 - Checks that code complies with PEP8 style guidelines.
- pylint - Checks that code follows idiomatic best practices for Python.
- pre-commit - Runs code quality checks before code is committed.
- R dependencies
- TODO: Add dependencies
The vision for this template is to simplify the process of creating open source python projects with high quality codebase and mechanisms that promote smart and collaborative project governance. This project aims to fulfill this vision by:
- Adopting a common python package file structure
- Implementing basic linting and code quality checks
- Reinforcing compliance with those code quality checks using CI/CD
- Providing templates for things like documentation, issues, and pull requests
- Offering pythonic implementation examples of common data structures and scripting tasks like:
- Creating classes, methods, and functions
- Setting up unit and integration testing
- Reading and writing to files
For a more detailed breakdown of the feature roadmap and other development priorities please reference the following links:
Contributions are always welcome! We encourage contributions in the form of discussion on issues in this repo and pull requests for improvements to documentation and code.
See CONTRIBUTING.md for ways to get started.
Distributed under the MIT License. See LICENSE for more information.