Skip to main content

NotionAI Python SDK

The NotionAI Python SDK is a wrapper for the NotionAI APIs with Python bindings, simplifying integration of NotionAI solutions into your projects.

Features

  • Full APIs from Notion AI
  • Support stream response

API

All NotionAI functionalities are supported. Check out the notionai.py file to see all the available APIs.

Basic API Shortcuts

APIs like blog_post, help_me_write, help_me_edit, and summarize are shortcuts for the basic APIs.

Advanced APIs

We also support advanced APIs that allow you to dispatch by parameters:

  1. writing_with_topic
    Writing for special topic
    Args:
        topic (TopicEnum): the special topic
        prompt (str): prompt for writing
    Example:
        ao = NotionAI(token)
        ai.writing_with_topic(TopicEnum.blog_post, "Please help to introduce Notion")
    
  2. writing_with_prompt
    Writing with special prompt, like summarize, explain_this, improve_writing
    
    Args:
        prompt_type (PromptTypeEnum): special prompt
        context (str): the context for your writing
    
    Example:
        ai = NotionAI(token)
        ai.writing_with_prompt(PromptTypeEnum.summarize, "I am a student")
    
  3. translate
    Translate the text
    Args:
        language (TranslateLanguageEnum): target language
        context (str): context to translate
    
    Example:
        ai = NotionAI(token)
        ai.translate(TranslateLanguageEnum.Chinese, "I am a student")
    
  4. change_tone
     Change the tone of your context
     Args:
         context (str): context to change
         tone (ToneEnum): target tone
    
     Returns:
         str: Response from NotionAI
     Example:
         ai = NotionAI(token)
         ai.change_tone("I am a student", ToneEnum.professional)
    

Usage

Install

pip install --upgrade notionai-py

Get Notion Token and Workspace ID

To use the NotionAI Python SDK, you need to obtain a Notion token. You can do this by following these steps:

  1. Open Chrome or Firefox DevTools
  2. Find Cookies and copy the value for token_v2
  3. Find the spaceId of your Notion workspace
  • get notion token Get Notion Token
  • get notion workspace id Get Notion Workspace ID

Note: Now can get Notion space id using api

import os
from notionai import NotionAI
TOKEN = os.getenv("NOTION_TOKEN")

spaces = NotionAI.get_spaces(TOKEN)
print(spaces)
# the result will looks like
# [{'id': 'xxxxx', 'name': 'xxxxx'}]

Note2: Now supports custom api proxy links

import os
from notionai import NotionAI
TOKEN = os.getenv("NOTION_TOKEN")
SPACE_ID = os.getenv("NOTION_SPACE_ID")
API_URL = "https://xxx.xxx.xxx"  # this is your custom proxy links

ai = NotionAI(TOKEN, SPACE_ID, api_url=API_URL)
res = ai.blog_post("write a blog about the meaning of life")
print(res)

Examples

Check out the examples directory for usage examples.

  1. Basic
import os
from notionai import NotionAI

TOKEN = os.getenv("NOTION_TOKEN")
SPACE_ID = os.getenv("NOTION_SPACE_ID")

def main():
    ai = NotionAI(TOKEN, SPACE_ID)
    res = ai.blog_post("write a blog about the meaning of life")
    print(res)

if __name__ == "__main__":
    main()
  1. Stream API
import os
import sys
from notionai import NotionAI

TOKEN = os.getenv("NOTION_TOKEN")
SPACE_ID = os.getenv("NOTION_SPACE_ID")

def main():
    ai = NotionAIStream(TOKEN, SPACE_ID)
    res = ai.blog_post("write a blog about the meaning of life")
    for item in res:
        sys.stdout.write(item)

if __name__ == "__main__":
    main()
  1. WebUI

Check out the webui directory for instructions on how to use the NotionAI Python SDK with a web user interface.

Metadata

Release files for notionai-py 0.1.6

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

Source distribution (sdist)

Source distribution for notionai-py 0.1.6
File Size Uploaded
notionai-py-0.1.6.tar.gz 728.0 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for notionai-py 0.1.6
File Interpreter ABI Platform
notionai_py-0.1.6-py3-none-any.whl Python 3 none any Details

Total release size: 735.1 kB

Release files / notionai-py-0.1.6.tar.gz

Download URL notionai-py-0.1.6.tar.gz
Size 728.0 kB
Tags Source
SHA-256 checksum
How to use checksums
74247129da3ca8dc52077a09af5fd3c129a7e607da34d9ef7cde1ec90617b570
BLAKE2b-256 checksum
How to use checksums
4b98194f156a9062154bd99c3d34d68e813f8c2e4b4ede543dd58ebdaff880f2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.11.7

Release files / notionai_py-0.1.6-py3-none-any.whl

Download URL notionai_py-0.1.6-py3-none-any.whl
Size 7.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
c43656302f70095e4ec52745ac4e9e102c0cdc21633ddb539302e901619a0358
BLAKE2b-256 checksum
How to use checksums
aec562e29a8fbe884a5dc02a08652324b20f9ac1ddf576cdd325792af92313ed
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.11.7

Release history Release notifications | RSS feed

This release

0.1.6 This release

2 release files

0.1.5

2 release files

0.1.4

2 release files

0.1.3

2 release files

0.1.2

2 release files

0.1.1

2 release files

0.1.0

2 release files

0.0.9

2 release files

0.0.8

2 release files

0.0.7

2 release files

0.0.6

2 release files

0.0.5

2 release files

0.0.4

2 release files

0.0.3

2 release files

0.0.2

2 release files

0.0.1

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