Skip to main content

Core component of the Microsoft Graph Python SDK

Project description

PyPI version CI Actions Status Downloads

Microsoft Graph Core Python Client Library.

The Microsoft Graph Core Python Client Library contains core classes used by Microsoft Graph Python Client Library to send native HTTP requests to Microsoft Graph API.

NOTE: This is a new major version of the Python Core library for Microsoft Graph based on the Kiota project. We recommend to use this library with the full Python SDK. Upgrading to this version from the previous version of the Python Core library will introduce breaking changes into your application.

Prerequisites

Python 3.8+

This library doesn't support older versions of Python.

Getting started

1. Register your application

To call Microsoft Graph, your app must acquire an access token from the Microsoft identity platform. Learn more about this -

2. Install the required packages

msgraph-core is available on PyPI.

pip3 install msgraph-core
pip3 install azure-identity

3. Configure an Authentication Provider Object

An instance of the BaseGraphRequestAdapter class handles building client. To create a new instance of this class, you need to provide an instance of AuthenticationProvider, which can authenticate requests to Microsoft Graph.

Note: This client library offers an asynchronous API by default. Async is a concurrency model that is far more efficient than multi-threading, and can provide significant performance benefits and enable the use of long-lived network connections such as WebSockets. We support popular python async environments such as asyncio, anyio or trio. For authentication you need to use one of the async credential classes from azure.identity.

# Using EnvironmentCredential for demonstration purposes.
# There are many other options for getting an access token. See the following for more information.
# https://pypi-hypernode.com/project/azure-identity/#async-credentials
from azure.identity.aio import EnvironmentCredential
from msgraph_core.authentication import AzureIdentityAuthenticationProvider

credential=EnvironmentCredential()
auth_provider = AzureIdentityAuthenticationProvider(credential)

Note: AzureIdentityAuthenticationProvider sets the default scopes and allowed hosts.

5. Pass the authentication provider object to the BaseGraphRequestAdapter constructor.

from msgraph_core import BaseGraphRequestAdapter
adapter = BaseGraphRequestAdapter(auth_provider)

6. Make a requests to the graph.

After you have a BaseGraphRequestAdapter that is authenticated, you can begin making calls against the service.

import asyncio
from kiota_abstractions.request_information import RequestInformation

request_info = RequestInformation()
request_info.url = 'https://graph.microsoft.com/v1.0/me'

# User is your own type that implements Parsable or comes from the service library
user = asyncio.run(adapter.send_async(request_info, User, {}))
print(user.display_name)

Telemetry Metadata

This library captures metadata by default that provides insights into its usage and helps to improve the developer experience. This metadata includes the SdkVersion, RuntimeEnvironment and HostOs on which the client is running.

Issues

View or log issues on the Issues tab in the repo.

Contributing

Please see the contributing guidelines.

Copyright and license

Copyright (c) Microsoft Corporation. All Rights Reserved. Licensed under the MIT license.

This project has adopted the Microsoft Open Source Code of Conduct. For more information see the Code of Conduct FAQ or contact opencode@microsoft.com with any additional questions or comments.

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

msgraph-core-1.0.0.tar.gz (13.6 kB view details)

Uploaded Source

Built Distribution

msgraph_core-1.0.0-py3-none-any.whl (14.0 kB view details)

Uploaded Python 3

File details

Details for the file msgraph-core-1.0.0.tar.gz.

File metadata

  • Download URL: msgraph-core-1.0.0.tar.gz
  • Upload date:
  • Size: 13.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.7

File hashes

Hashes for msgraph-core-1.0.0.tar.gz
Algorithm Hash digest
SHA256 f26bcbbb3cd149dd7f1613159e0c2ed862888d61bfd20ef0b08b9408eb670c9d
MD5 2b7ae9175a41167a61d38950aeaf9f8c
BLAKE2b-256 498b431e1f1a377163118288f77ecc38a775b70224a6f8e99946c5be3521d19a

See more details on using hashes here.

File details

Details for the file msgraph_core-1.0.0-py3-none-any.whl.

File metadata

  • Download URL: msgraph_core-1.0.0-py3-none-any.whl
  • Upload date:
  • Size: 14.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.7

File hashes

Hashes for msgraph_core-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 f3de5149e246833b4b03605590d0b4eacf58d9c5a10fd951c37e53f0a345afd5
MD5 13afdd6b4f911056f5e261534fb899d4
BLAKE2b-256 dbc7ef4c7a5e1bb447eed046b6ecd53c83b306da97132d1919697e8f73cc65db

See more details on using hashes here.

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