Python bindings for Notion Database API


Keywords
api, database, notion, notion-database, pypi-package, python
License
LGPL-3.0
Install
pip install notion-database==1.2.0

Documentation

Test Python Package

Python Notion Database

Database of Pythonic Notion API

notion-database.gif

created by database from the official Notion API.

"notion database" is Notion API wrapper library.

import os

from notion_database.page import Page
from notion_database.properties import Properties
from notion_database.const.query import Direction, Timestamp
from notion_database.search import Search

S = Search(integrations_token=os.getenv('NOTION_KEY'))
S.search_database(query="", sort={"direction": Direction.ascending, "timestamp": Timestamp.last_edited_time})
for i in S.result:
  PROPERTY = Properties()
  PROPERTY.set_title("title", "title")
  PROPERTY.set_rich_text("Description", "description text")
  P = Page(integrations_token=os.getenv('NOTION_KEY'))
  P.create_page(database_id=i["id"], properties=PROPERTY)

See detailed example here.

License Notice

hope that many people will use this package, also license has been changed to LGPL 3 from 1.0.

previous version is GPL, please be careful when using this out of version.

What's new notion-version

  • 1.0.0

    • Now that we've implemented all features,
    • change the version rule to the semantic version.
    • notion-version : "2022-06-28"
  • 2022.08.01

    • Update notion-version (2022-06-28)
  • 2022.03.27

  • 2021.09.01

    • Update notion-version (2021-08-16)

Installing / Getting started

pip install notion-database

Docs

https://notion-database.readthedocs.io

Building / Developing

python setup.py install

Features

  • Blocks
    • ✅ Append block children
    • ✅ Retrieve block children
  • Pages
    • ✅ Create a page
    • ✅ Retrieve a page
    • ✅ Retrieve a page property item
    • ✅ Update page properties
    • ✅ Archive a page
  • Databases
    • ✅ Create a database
    • ✅ Query a database
      • See detailed example here.
    • ✅ Retrieve a database
    • ✅ Update a database
    • ✅ Update database properties
  • Blocks
    • ✅ Retrieve a block
    • ✅ Retrieve block children

Contributing

If you'd like to contribute, please fork the repository and use a feature branch. Pull requests are warmly welcome.

Links

Licensing

The code in this project is licensed under LGPL license.

Example project using this package