Python wrapper for TeamUp Calendar's API
Project description
pyTeamUp
Python API wrapper for TeamUp API. In early stages, only has event and calendar objects implemented.
version: 0.1.0a2
Features:
- Pythonic access to TeamUp calendars and events.
- Simple interface for gathering subcalendars and event containers.
- Simple interface for creating and deleting events with
Calendar
object Event
Object features simple interface for updating event properties- Batch mode for reducing api calls for updating multiple event properties
- If pandas is present, Calendar can return events as Series objects and event collections as DataFrame objects
Example usage
from pyteamup import Calendar, Event
from datetime import datetime
api_key = 'example api key' # Get your own here: https://teamup.com/api-keys/request
calendar_id = 'example calendar id' # goto www.teamup.com to sign up and get your own calendar
# Instantiate the calendar
calendar = Calendar(calendar_id, api_key)
# Get Subcalendars
subcalendars = calendar.subcalendars
subcal = subcalendars[0]
# Easily Create new events
new_event_dict = {'title': 'New Event Title',
'start_dt': datetime(2018,11,29, 14, 0, 0),
'end_dt': datetime(2018, 11, 29, 14, 0, 0),
'subcalendar_ids': subcal['id'],
'notes': 'This is the description!'}
new_event = Calendar.new_event(**new_event_dict, returnas='event')
print(new_event.event_id)
# Gather Event Collections (returns a list)
event_list = Calendar.get_event_collection()
evnt = event_list.pop()
# Simple change of the title
print(evnt.title)
evnt.title = 'New Title'
print(evnt.title)
# Batch Mode Updates
evnt.enable_batch_mode()
evnt.title = 'New Title 2' # Will display a warning that no changes are made until batch_commit() is called
print(evnt.title) # Will still print the old title
print(evnt.notes)
evnt.notes = 'New Notes!' # Will display a warning that no changes are made until batch_commit() is called
evnt.batch_commit()
print(evnt.title)
print(evnt.notes)
# Prevented from Editing Read-Only Attributes
evnt.event_id = 123 # Will raise an error because attribute is read-only
# Easy Delete and confirm
evnt.delete()
print(evnt.is_deleted) # Will return True
todo
- Add support for updating recurring events
- Build Subcalendar object with update support similar to Event object
- Add Tests
- Add more Event endpoints (get history, get auxilliary info)
- Add More Calendar endpoints (searching for events)
- Add Access Key Endpoints
- Add Color Swatch Lookup (create simple assignments for red, blue, green, etc)
- Add support for password protected calendars
- Add support for beta features: undo, custom fields, comments, signup
Installation
Using pip Current Version: 0.1.0a1):
python -m pip install pyTeamUp
Batch Mode
Events objects feature a batch mode for setting multiple values with a single api call, reducing your api usage and reducing the liklihood of TeamUp disabling your api key! Simply call event.enable_batch_mode()
and begin making changes. When satisfied changes can be commited by calling event.batch_commit()
which will automatically exit batch mode after, or call event.disable_batch_mode(clear=True)
to discard changes.
Setting event data without enabling batch mode will cause each change to use an api request.
Questions
Use issue tracker please :)
FAQ
none
Change Log
0.1.0a2
- Added "get_changed_events" method to Calendar (credit: vranki)
0.1.0a1
- Initial realease
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for pyTeamUp-0.1.0a2-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | eaf67499bb41c2670b68d6fb6ac866fff303f339216615e25915e5d0bb7d169f |
|
MD5 | 042ec07e4aea2da9561026c36e9cff5e |
|
BLAKE2b-256 | fc86e441fb4e0870731ae33c44c514a5bffce23750b15fac74fac720690e9788 |