# ecederstrand/exchangelib

Python client for Microsoft Exchange Web Services (EWS)

Repository: https://github.com/ecederstrand/exchangelib
Canonical: https://ross.abutalabs.com/products/exchangelib
Language: Python
License: BSD-2-Clause
License Family: permissive
Topics: ews, exchange, python, autodiscover, microsoft, outlook, exchange-web-services, o365, office365, hacktoberfest
Last push: 2026-06-23T10:53:53+00:00

## Health v2 (maintenance only)
Score: 70/100 (v2, computed 2026-09-03T02:20:16.233290+00:00)
- activity 89, release rhythm 27, longevity 100
- inputs: {"age_days": 3831, "days_push": 71, "days_rel": 327, "gap_med": 136, "n_releases_24m": 4}
- flags: none
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 1270, forks 246 (observed 2026-08-28T04:04:11.912962+00:00)

## What it is
A Python client library for Microsoft Exchange Web Services (EWS) that provides a Django-style ORM interface to Exchange mailboxes. It supports on-premise Exchange 2007-2016 and Office365, including autodiscover and CRUD operations on calendar, mail, task, and contact items.

## Use cases
- read emails from an Exchange mailbox in Python
- create calendar events on Office365 programmatically
- manage Exchange contacts and tasks via EWS
- autodiscover Exchange server settings for a user
- automate Outlook mailbox operations with Python
- search and delete inbox messages on Exchange

## When to choose
- you need to interact with Microsoft Exchange or Office365 mail, calendar, contacts, or tasks from Python
- you want a high-level ORM-like API instead of raw SOAP XML
- you need autodiscover and platform-independent EWS access

## When to avoid
- you use IMAP/SMTP or Microsoft Graph instead of EWS
- you need a non-Python language
- your Exchange server does not support EWS

## Facets
- artifact type: library
- maturity: active
- function: http-client, orm, email, sdk
- domain: email, apis, developer-tools
- platform: python, cross-platform
- tags: ews, exchange-web-services, office365, outlook, autodiscover, mailbox, calendar, contacts, automation

## Member repositories
- ecederstrand/exchangelib (main) score 70

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:04:11.912962+00:00.
- Health v2: computed from the inputs above; adoption is never an input.
- Inferred fields (summary, facets, guidance): AI-extracted, prompt v1, taxonomy v1, on 2026-08-30T05:03:25.966465+00:00, confidence not recorded.
  - readme: https://github.com/ecederstrand/exchangelib (fetched 2026-08-28T04:04:11.912962+00:00, sha 57b5e5754748)
  - registry_pypi: https://pypi.org/pypi/exchangelib/json (fetched 2026-08-29T12:14:59.950403+00:00, sha 75151884fd3c)
- Data as of 2026-08-30T08:39:29.467469+00:00.
