Microsoft Graph Core Python Client Library (preview).
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.
Disclaimer: Please, be aware that preview versions of msgraph-core
package are for testing purpose only. Do not use them in a production environment.
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 braking 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 -
- Authentication and authorization basics for Microsoft Graph
- Register your app with the Microsoft identity platform
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 envronments such as
asyncio
,anyio
ortrio
. For authentication you need to use one of the async credential classes fromazure.identity
.
# Using EnvironmentCredential for demonstration purposes.
# There are many other options for getting an access token. See the following for more information.
# https://pypi.org/project/azure-identity/#async-credentials
from azure.identity.aio import EnvironmentCredential
from kiota_authentication_azure.azure_identity_authentication_provider import AzureIdentityAuthenticationProvider
credential=EnvironmentCredential()
auth_provider = AzureIdentityAuthenticationProvider(credential)
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.
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 = 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 [email protected] with any additional questions or comments.