Skip to main content

Python package that acts as a wrapper for the Microsoft Graph API.

Project description

grafap

grafap (graph-wrap) is a Python package for interacting with the Microsoft Graph API, primarily sharepoint lists. Creating new items, querying lists, etc.

Installation

pip install grafap

Usage

Several environment variables are required for grafap to function. Most of the endpoints in grafap are just using the standard Microsoft Graph API which only requires a client ID and secret.

The Sharepoint REST API, however requires using a client certificate. The Sharepoint REST API is currently only used for the following functions. If you're not using them, then you don't need the certificate or the other env vars in the Sharepoint REST API table. Only the vars in the Graph table.

  • "ensuring" a user in a sharepoint site.
  • downloading an attachment from a sharepoint list item

MS Graph Env Vars

Env Variable Description
GRAPH_LOGIN_BASE_URL Should be https://login.microsoftonline.com/
GRAPH_BASE_URL Should be https://graph.microsoft.com/v1.0/sites/
GRAPH_TENANT_ID Tenant ID from app registration created in Azure.
GRAPH_CLIENT_ID Client ID from app registration created in Azure.
GRAPH_CLIENT_SECRET Client secret from app registration created in Azure.
GRAPH_GRANT_TYPE Should be 'client_credentials'
GRAPH_SCOPES Should typically be https://graph.microsoft.com/.default unless using more fine-grained permissions.

Sharepoint Rest API Env Vars

Env Variable Description
SP_SITE Base Site URL you're interacting with. Should be https://DOMAIN.sharepoint.com/
SP_SCOPES Scopes for sharepoint rest API. Should look like <https://{tenant name}.sharepoint.com/.default>
SP_LOGIN_BASE_URL Should be https://login.microsoftonline.com/
SP_TENANT_ID Tenant ID from app registration created in Azure.
SP_CLIENT_ID Client ID from app registration created in Azure.
SP_GRANT_TYPE client_credentials
SP_CERTIFICATE_PATH Path to .pfx file
SP_CERTIFICATE_PASSWORD Password for the .pfx file.

Examples

A few examples of using grafap functions have been added in tests/test.py

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

grafap-1.2.tar.gz (11.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

grafap-1.2-py3-none-any.whl (14.9 kB view details)

Uploaded Python 3

File details

Details for the file grafap-1.2.tar.gz.

File metadata

  • Download URL: grafap-1.2.tar.gz
  • Upload date:
  • Size: 11.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.1 {"installer":{"name":"uv","version":"0.11.1","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for grafap-1.2.tar.gz
Algorithm Hash digest
SHA256 38401652dc521497ff7e3aa3d36f58acd9fd79ef4b0331da95b520fe7f3bb2ed
MD5 91c3fc1933f34d6f1c93018dd8feb727
BLAKE2b-256 ee7dc9e33496c7da6f06aedcf6118695b1d2e896a40ae2433733f069e7eff8b7

See more details on using hashes here.

File details

Details for the file grafap-1.2-py3-none-any.whl.

File metadata

  • Download URL: grafap-1.2-py3-none-any.whl
  • Upload date:
  • Size: 14.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.1 {"installer":{"name":"uv","version":"0.11.1","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for grafap-1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 6672f2364da815fa33d63a0b9e98b9a2d74942054a2434d495ea61df9651e500
MD5 787da91f73559ceeed78cb923bb3bc6c
BLAKE2b-256 562ffe82f1e2a7692a4e4f0e4635ed55a42689ed0fcc4df453299ff98dd1202c

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page