- Notifications
You must be signed in to change notification settings - Fork82
Python bindings for the Nylas Platform API
License
nylas/nylas-python
Folders and files
| Name | Name | Last commit message | Last commit date | |
|---|---|---|---|---|
Repository files navigation

This is the GitHub repository for the Nylas Python SDK. The repo is primarily for anyone who wants to install the SDK from source or make contributions to it.
If you're looking to use Python to access the Nylas Email, Calendar, or Contacts APIs, see ourPython SDK Quickstart guide.
The Nylas platform provides REST APIs forEmail,Calendar, andContacts, and the Python SDK is the quickest way to build your integration using Python.
Here are some resources to help you get started:
- Sign up for a free Nylas account.
- Follow theNylas API v3 Quickstart guide.
- Browse theNylas SDK reference docs.
- Browse theNylas API reference docs.
- See our code samples in theNylas Samples repo.
If you have any questions about the Nylas platform, please reach out tosupport@nylas.com.
The Nylas Python SDK is available via pip:
pip install nylas --pre
To install the SDK from source, clone this repo and run the install script:
git clone https://github.com/nylas/nylas-python.git&&cd nylas-pythonpython setup.py install
Before you use the Nylas Python SDK, you must firstcreate a Nylas account. Then, follow ourAPI v3 Quickstart guide to set up your first app and get your API keys.
For code samples and example applications, take a look at ourPython repos in the Nylas Samples collection.
After you've installed and set up the Nylas Python SDK, you can make your first API request. To do so, use theClient class from thenylas package.
The SDK is organized into different resources, each of which has methods to make requests to the Nylas API. Each resource is available through theClient object that you configured with your API key. For example, you can use this code to get a list of Calendars:
fromnylasimportClientnylas=Client(api_key="API_KEY",)calendars,request_id,next_cursor=nylas.calendars.list("GRANT_ID")event,request_id=nylas.events.create(identifier="GRANT_ID",request_body={"title":"test title","description":"test description","when": {"start_time":start_unix_timestamp,"end_time":end_unix_timestamp, } },query_params={"calendar_id":"primary","notify_participants":True}, ))event,request_id=nylas.events.find(identifier="GRANT_ID",event_id=event.id,query_params={"calendar_id":"primary", },)nylas.events.destroy("GRANT_ID",event.id, {"calendar_id":"primary"})
This SDK makes heavy use ofPython 3 dataclasses to define the REST resources and request/response schemas of the Nylas APIs. The Client object is a wrapper around all of these resources and is used to interact with the corresponding APIs. Basic CRUD operations are handled by thecreate(),find(),list(),update(), anddestroy() methods on each resource. Resources may also have other methods which are all detailed in thereference guide for the Python SDK. In the code reference, start atclient, and thenresources will give more info on available API call methods.models is the place to find schemas for requests, responses, and all Nylas object types.
While most resources are accessed via the top-level Client object, note thatauth contains the sub-resourcegrants as well as a collection of other auth-related API calls.
You'll want to catchnylas.models.errors.NylasAPIError to handle errors.
Have fun!!
SeeUPGRADE.md for instructions on upgrading from v5.x to v6.x.
Please refer toContributing for information about how to make contributions to this project. We welcome questions, bug reports, and pull requests.
It can sometimes be helpful to turn on request logging during development. Adding the following snippet to your code that calls the SDK should get you sorted:
import loggingimport requests# Set up logging to print out HTTP request informationlogging.basicConfig(level=logging.DEBUG)requests_log = logging.getLogger("requests.packages.urllib3")requests_log.setLevel(logging.DEBUG)requests_log.propagate = TrueThis project is licensed under the terms of the MIT license. Please refer toLICENSE for the full terms.
About
Python bindings for the Nylas Platform API
Resources
License
Contributing
Uh oh!
There was an error while loading.Please reload this page.
Stars
Watchers
Forks
Packages0
Uh oh!
There was an error while loading.Please reload this page.