Skip to content

city-of-baltimore/graph-api-example

Repository files navigation

Graph API Examples

Table of Contents

About this Project

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

Packages Included

  • 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

Project Navigation

Getting Started

  • Graph API Overview
    • API basics
    • Using Graph API to access O365
    • Requesting access to Graph API
  • With Python
    • Using msgraph
    • Using O365
  • With R
    • Using AzureGraph
    • Using Microsoft365R

Examples

Additional Resources

Microsoft Documentation

Development Dependencies

  • 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

Vision and Roadmap

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:

Contributing

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.

License

Distributed under the MIT License. See LICENSE for more information.

Maintainers

Acknowledgements

About

A demo repository for working with the Microsoft Graph API

Resources

License

Code of conduct

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages