$npx skillfedfor your agent

o365

O365 - Microsoft Graph and Office 365 API made easy

With conditionsPyPI InternetReleased Jan 20264.3M downloads / mopermissive licensePure Python

Decision gist · record as of 2026-08-14

pure-Python wheel — o365-2.1.9-py3-none-any.whl
v2.1.9 · released 2026-01-30 · Python >=3.10 · 6 runtime deps: beautifulsoup4, msal, python-dateutil, requests, tzdata, tzlocal

Yes, if you need to integrate Office 365 resources into a Python application and want to avoid raw API calls. The library is mature, permissively licensed, and has low install friction. The 196-day release gap suggests a slower maintenance pace, so verify that active community support or your own maintenance capacity aligns with your project's needs before committing to it for mission-critical systems.AI-flagged interpretation of the facts on this page — verify before relying

Before you install

  • Requires Microsoft OAuth credentials (client_id and client_secret) registered with Azure; automatic token refresh is handled by the library.
  • Low install friction with six well-maintained runtime dependencies.
  • The package is in production/stable status and supports modern Python versions (3.10–3.13), though it has been 196 days since the last release, suggesting a maintenance pace that may be slower than some actively developed alternatives.

License · maintenance · safety

permissive license (permissive) — Licensed under Apache Software License (permissive), which allows commercial and private use with minimal restrictions, making it suitable for most projects without legal friction.

last release 2026-01-30 (196 days)

0 known vulnerabilities (OSV.dev, 2026-08-14) · 4,285,402 downloads/mo, #2,342 on PyPI

Verify before relying

from O365 import Account

credentials = ('client_id', 'client_secret')
account = Account(credentials)
m = account.new_message()
m.to.add('recipient@example.com')
m.subject = 'Test'
m.body = 'Message body'
m.send()
  • Extent of Microsoft Graph API coverage beyond the documented features (email, calendar, contacts, OneDrive, SharePoint).
  • Performance characteristics and rate-limiting behavior under high-volume scenarios.
  • Community activity and responsiveness to issues given the 196-day release gap.
Same gist for agents: .md · .json

What it is and what it does

O365 is a Python wrapper around Microsoft Graph and Office 365 REST APIs that abstracts away the complexity of OAuth, API pagination, timezone handling, and resource navigation. It lets you work with Office 365 resources—email, calendar, contacts, OneDrive, SharePoint—using straightforward Python objects and methods rather than raw HTTP calls.

The library handles common operational details automatically: OAuth token refresh, conversion between local and server datetimes, pagination through custom iterators, and switching between shared mailboxes or other users' resources. It includes a query helper for building OData filters and supports modular API components for extending functionality. The package is in production/stable status and supports Python 3.10 through 3.13.

Use it for

  • Automate email sending and retrieval from Office 365 mailboxes without managing OAuth or API pagination manually.
  • Build calendar applications that sync with Outlook, handling timezone conversion and recurring events automatically.
  • Access and manage SharePoint or OneDrive files programmatically from Python applications.
  • Create bots or integrations that read contacts or send notifications through Office 365 accounts.
  • Migrate or backup email and calendar data from Office 365 to other systems.

Worth the install?

AI-flagged interpretation of the facts on this page. Verify before relying on it.

With conditions

Yes, if you need to integrate Office 365 resources into a Python application and want to avoid raw API calls.

The library is mature, permissively licensed, and has low install friction. The 196-day release gap suggests a slower maintenance pace, so verify that active community support or your own maintenance capacity aligns with your project's needs before committing to it for mission-critical systems.

Install

o365 on PyPI

Before you install

Low install friction with six well-maintained runtime dependencies. The package is in production/stable status and supports modern Python versions (3.10–3.13), though it has been 196 days since the last release, suggesting a maintenance pace that may be slower than some actively developed alternatives.

Requires Microsoft OAuth credentials (client_id and client_secret) registered with Azure; automatic token refresh is handled by the library.

License in practice

Licensed under Apache Software License (permissive), which allows commercial and private use with minimal restrictions, making it suitable for most projects without legal friction.

Quickstart

from O365 import Account

credentials = ('client_id', 'client_secret')
account = Account(credentials)
m = account.new_message()
m.to.add('recipient@example.com')
m.subject = 'Test'
m.body = 'Message body'
m.send()

Verify before relying

  • Extent of Microsoft Graph API coverage beyond the documented features (email, calendar, contacts, OneDrive, SharePoint).
  • Performance characteristics and rate-limiting behavior under high-volume scenarios.
  • Community activity and responsiveness to issues given the 196-day release gap.

Package facts

Licensepermissive license permissive
Python supportSupports the current Python release >=3.10
Install frictionLow. Pure-Python wheel
Runtime dependencies
6 packages
beautifulsoup4msalpython-dateutilrequeststzdatatzlocal
MaintenanceAging 196 days since the last release
First released
Downloads4,285,402 / month, #2,342 on PyPI 30-day window, as of 2026-08-14
Known vulnerabilitiesNone known OSV.dev, checked 2026-08-14
Classifiers
Development Status :: 5 - Production/StableIntended Audience :: DevelopersLicense :: OSI Approved :: Apache Software LicenseOperating System :: OS IndependentProgramming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13

Evidence: o365-2.1.9-py3-none-any.whl

Tags

Capabilities
microsoft graph python clientoffice 365 api wrapperoutlook email calendar pythonsharepoint onedrive pythonmicrosoft 365 rest apioffice 365 oauth pythonexchange online python client
Topics
office-365microsoft-graphoauth

Let your AI agent find packages like this

Example. Real query, live index.

You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.

wish › “office 365 api wrapper”

  • o365O365 provides a Pythonic interface to Microsoft Graph and Office 365…
  • office365Wraps the O365 library to provide a SQLAlchemy-like query interface…
  • microsoftgraph-pythonA Python wrapper for the Microsoft Graph API that handles OAuth 2.0…

Give your agent the search over MCP, or paste the wish link into any chat.

More Internet packages

botocore Worth it
PyPI · Internet · released Aug 2026

Botocore provides low-level, data-driven access to Amazon Web Services APIs, serving as the foundation for the AWS CLI and boto3 libraries.

Install it if you need programmatic access to AWS services.

permissive licensepure Python · 3.10+
1.5Bdownloads / mo
aiobotocore Worth it
PyPI · Internet · released Aug 2026

Provides an async client for AWS services using botocore and aiohttp, allowing you to call AWS APIs asynchronously within asyncio-based applications.

Install it if you need to call AWS services from async Python code; it is the standard way to do so.

Apache-2.0pure Python · 3.10+
1.2Bdownloads / mo
pydantic Worth it
PyPI · Python Modules · released May 2026

Pydantic validates Python data structures against type hints, coercing and checking input at runtime to ensure it matches a declared schema.

MITpure Python · 3.9+
1.1Bdownloads / mo
filelock Worth it
PyPI · Libraries · released Aug 2026

Provides a platform-independent file locking mechanism to coordinate access to files across processes and threads.

MITpure Python · 3.10+
717.1Mdownloads / mo
fastapi Worth it
PyPI · Software Development · released Jul 2026

FastAPI is a Python web framework for building REST APIs using type hints, with automatic request validation, serialization, and interactive API documentation.

MITpure Python · 3.10+
568.6Mdownloads / mo
googleapis-common-protos Worth it
PyPI · Internet · released Aug 2026

Provides common Protocol Buffer message definitions used across Google Cloud APIs, enabling Python clients to interact with Google services.

Apache-2.0pure Python · 3.10+
513.7Mdownloads / mo

See also microsoftgraph-python · nylas · office365 · office365-rest-python-client · exchangelib · sharepy · SharePlum · msgraphfs · dynamics365crm-python · pyicloud