Skip to main content

This module allows access to Microsoft Office 365 account calendars. It allows for personal, delegate, and service accounts.

Install

pip install exchange_interface

Example Script

import requests
from exchange_interface import EWS
import datetime

ews = EWS(
    username='me@email.com',
    password='SuperSecretPassword',
)
ews.Connected = lambda _, state: print('EWS', state)
ews.Disconnected = lambda _, state: print('EWS', state)
ews.NewCalendarItem = lambda _, item: print('NewCalendarItem(', item)
ews.CalendarItemChanged = lambda _, item: print('CalendarItemChanged(', item)
ews.CalendarItemDeleted = lambda _, item: print('CalendarItemDeleted(', item)

ews.UpdateCalendar()

print('Events happending now=', ews.GetNowCalItems())

print('Event(s) happening next=', ews.GetNextCalItems())

nowDT = datetime.datetime.now()
nowPlus24hrs = nowDT + datetime.timedelta(days=1)

print('Events happening in the next 24 hours=', ews.GetEventsInRange(startDT=nowDT, endDT=nowPlus24hrs))

# You can create a new event like this:
ews.CreateCalendarEvent(
    subjec='Test Subject',
    body='Test Body',
    startDT=datetime.datetime.now(),
    endDT=datetime.datetime.now() + datetime.timedelta(hours=1),
    )

Service Accounts

import requests
from exchange_interface import EWS

ews = EWS(
    username='serviceAccount@email.com',
    password='SuperSecretPassword', # the service account password
    impersonation='roomAccount@email.com'
)

Oauth

import requests
from exchange_interface import EWS

def GetAccessToken():
    # do the oauth magic here
    return 'theOauthToken'

ews = EWS(
    username='serviceAccount@email.com',
    oauthCallback=GetAccessToken, # this will be called before each HTTP request is sent
    impersonation='roomAccount@email.com'
)

Metadata

Release files for exchange-interface 0.0.4

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for exchange-interface 0.0.4
File Size Uploaded
exchange_interface-0.0.4.tar.gz 9.3 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for exchange-interface 0.0.4
File Interpreter ABI Platform
exchange_interface-0.0.4-py3-none-any.whl Python 3 none any Details

Total release size: 18.0 kB

Release files / exchange_interface-0.0.4.tar.gz

Download URL exchange_interface-0.0.4.tar.gz
Size 9.3 kB
Tags Source
SHA-256 checksum
How to use checksums
8b95c391cada2ecbd65750eebb1611065b3455eb51d86722ab61e482266a2361
BLAKE2b-256 checksum
How to use checksums
9b9c981a4c20c470237d4b12041e215d127096aea6f0a7d10057a70c95af6534
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/46.4.0 requests-toolbelt/0.9.1 tqdm/4.48.2 CPython/3.8.2

Release files / exchange_interface-0.0.4-py3-none-any.whl

Download URL exchange_interface-0.0.4-py3-none-any.whl
Size 8.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
dd5a56ca4d2f2c6fd851d344687884f4eefeb1465b7cab6c1b9289441473c7cd
BLAKE2b-256 checksum
How to use checksums
df7d881fd3ee49c76fb711b50090ef9c336b1db9a4d21b0595c974aae9b2143f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/46.4.0 requests-toolbelt/0.9.1 tqdm/4.48.2 CPython/3.8.2

Release history Release notifications | RSS feed

This release

0.0.4 This release

2 release files

0.0.3

2 release files

0.0.2

2 release files

0.0.1

2 release files

0.0.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page