office365
A wrapper around O365 offering subclasses with additional utility methods.
What it is and what it does
office365 is a wrapper around the O365 library that simplifies interaction with Microsoft Outlook and People services from Python. It provides a configuration class for managing and persisting credentials, a query interface modeled after SQLAlchemy for cleaner data access, and extended subclasses of O365 objects with additional utility methods. The package is explicitly marked as under active development with a warning that the API will undergo significant breaking changes and documentation may fall out of sync.
The package depends on seven runtime libraries including O365, azure-storage-blob, and several utility packages (pymiscutils, pathmagic, pyiotools, pysubtypes, maybe-else). However, the project has been abandoned since its latest release on 2020-12-15 with no commits after 2021-02-27. This means any issues, API incompatibilities with newer O365 or Microsoft 365 versions, or bugs will not be fixed by the maintainer.
Use it for:
- Access Outlook mailboxes and People contacts programmatically when you need a query-like interface rather than direct O365 library calls.
- Manage Microsoft 365 credentials securely with automatic persistence to disk for repeated authentication.
- Build internal tools or scripts that interact with Outlook and People services using a higher-level abstraction.
- Extend O365 functionality with custom utility methods via the package's subclassed objects.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Wraps the O365 library to provide a SQLAlchemy-like query interface and extended utility methods for Outlook and People services via Microsoft 365.
No. The package is abandoned (latest release 2020-12-15, last commit 2021-02-27) and explicitly warns that its API is unstable and documentation is out of sync. While it offers a SQLAlchemy-like query interface over O365, the lack of maintenance means any incompatibilities with current O365 or Microsoft 365 API versions will not be addressed. Use the O365 library directly or a maintained alternative instead.
Install
office365 on PyPI
pip
pip install office365uv
uv add office365poetry
poetry add office365Installing office365
Before you install
Low install friction, but maintenance is abandoned—last commit was 2021-02-27 and the package has not been updated since its latest release on 2020-12-15. The seven runtime dependencies are all external packages; any breaking changes in O365 or its ecosystem will not be addressed.
License in practice
MIT license is permissive and imposes no restrictions on use, modification, or distribution.
Quickstart
pip install office365
from office365 import Account
account = Account(credentials=(client_id, client_secret))
mailbox = account.mailbox()
Requires valid Microsoft 365 credentials (client ID and secret) and active internet connection to authenticate with Microsoft services.
Verify before relying
- Whether the O365 dependency has received updates that maintain compatibility with current Microsoft 365 API versions.
- Current state of the seven runtime dependencies and whether they are actively maintained.
- Whether the package's SQLAlchemy-like query interface is fully documented or if 'Usage coming soon' remains accurate.
- Actual usability with modern Python versions beyond the stated 3.8 support.
Package facts
| License | MIT (permissive) |
| Python support | not specified |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 7 — azure-storage-blob, O365, pymiscutils, pathmagic, pyiotools, pysubtypes, maybe-else |
| Maintenance | abandoned — 2,068 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 612,056/month — #5,759 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: office365-0.3.15-py3-none-any.whl
Tags
More Internet packages
Botocore provides low-level, data-driven access…
permissive · top 100 on PyPI
aiobotocoreProvides an async client for AWS services using…
permissive · top 100 on PyPI
pydanticPydantic validates Python data structures…
permissive · top 100 on PyPI
filelockProvides a platform-independent file locking…
permissive · top 100 on PyPI
fastapiFastAPI is a Python web framework for building…
permissive · top 100 on PyPI
googleapis-common-protosProvides common Protocol Buffer message…
permissive · top 100 on PyPI
exchangelibexchangelib is an ORM-style client library for…
permissive · top 5,000 on PyPI
o365O365 provides a Pythonic interface to Microsoft…
permissive · top 5,000 on PyPI
office365-rest-python-clientPython client library for Microsoft 365 and…
permissive · top 5,000 on PyPI
SharePlumSharePlum provides a Python interface to…
permissive · top 5,000 on PyPI
microsoftgraph-pythonA Python wrapper for the Microsoft Graph API…
permissive · top 15,000 on PyPI
sharepyHandles authentication to SharePoint Online and…
copyleft · top 15,000 on PyPI
python-oxmsgParses Outlook MSG files to extract email…
permissive · top 5,000 on PyPI
mssqlWraps SQLAlchemy and pyodbc to simplify…
permissive · top 15,000 on PyPI
dynamics365crm-pythonProvides a Python client for interacting with…
permissive · top 15,000 on PyPI
mailsuitemailsuite retrieves, parses, and sends emails…
permissive · top 15,000 on PyPI