Skip to main content

Python SDK for Notion API client

Project description

Python Notion

PyPI PyPI - Python Version Build Status

A simple wrapper for Notion SDK written in Python

Installation

This library only supported Python version 3.7 and above, earlier version might be work, but it still has backward compatibility for current APIs

pip install pynotion-wrapper

Usage

Before to do that, ensure you've setup Notion Integration and obtain the Integration Token. You can see about the Integration in here.

For quick example to get all users :

from notion.clients import NotionAPI

version = "2021-05-13" # notion version is required
secret = "YOUR_NOTION_TOKEN"
client = NotionAPI(secret, version)
print(client.get_all_users())

That following result something like :

{'object': 'list', 'results': [{'object': 'user', 'id': 'd4da784c-1c77-47e8-96bd-e917d96cd8b8', 'name': 'Ryan Febriansyah', 'avatar_url': 'https://lh4.googleusercontent.com/-O3Rzxu0oM9k/AAAAAAAAAAI/AAAAAAAAAAA/AMZuucnDB5M-7zjHQcTqlJ0JBiAtlA5-RQ/photo.jpg', 'type': 'person', 'person': {'email': 'ryanfebriansyah72@gmail.com'}}, {'object': 'user', 'id': 'f4eb6dff-b0a9-431e-993f-970f049f1c76', 'name': 'python-sdk', 'avatar_url': None, 'type': 'bot', 'bot': {}}], 'next_cursor': None, 'has_more': False}

This wrapper also providing dict representation, so it will be separate with JSON type and returned as List for relevant object instances. For example, you can use this property method for retrieve all users information and db information :

from notion.clients import NotionAPI

version = "2021-05-13"
secret = "YOUR_NOTION_TOKEN"
client = NotionAPI(secret, version)
print(client.get_users_instances) # method for getting all user instances
print(client.get_db_instances) # method for getting all db instances

the returned value if using property method will be more simple rather than extensive output like in JSON based :

# encapsulated types
UserObjects(object='user', id='d4da784c-1c77-47e8-96bd-e917d96cd8b8', name='Ryan Febriansyah', type='person', email='ryanfebriansyah72@gmail.com')

Currently this wrapper only supported for retrieve Notion resources :

  • Database
  • Blocks
  • Pages
  • User

In the meantime, all APIs endpoint that provided by Notion will be adding into wrapper (for consideration itself, it might be delayed until Notion API already stable). All contributions are much welcomed!

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pynotion-wrapper-0.2.1.tar.gz (8.2 kB view hashes)

Uploaded Source

Built Distribution

pynotion_wrapper-0.2.1-py3-none-any.whl (8.9 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page