The NotionAI Python SDK is a wrapper for the NotionAI APIs with Python bindings, simplifying integration of NotionAI solutions into your projects.
- Full APIs from Notion AI
- Support stream response
All NotionAI functionalities are supported. Check out the notionai.py file to see all the available APIs.
APIs like blog_post
, help_me_write
, help_me_edit
, and summarize
are shortcuts for the basic APIs.
We also support advanced APIs that allow you to dispatch by parameters:
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")
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")
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")
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)
pip install --upgrade notionai-py
To use the NotionAI Python SDK, you need to obtain a Notion token. You can do this by following these steps:
- Open Chrome or Firefox DevTools
- Find Cookies and copy the value for
token_v2
- Find the
spaceId
of your Notion workspace
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)
Check out the examples directory for usage examples.
- 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()
- 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()
- WebUI
Check out the webui directory for instructions on how to use the NotionAI Python SDK with a web user interface.