basilhayek / notion-database

Notion API Database Python Implementation

Home Page:https://pypi.org/project/notion-database/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Python Notion Database

Notion API Database Python Implementation

created only by database from the official Notion API.

What's new

Installing / Getting started

pip install notion-database

List Database

from notion_database.database import Database

D = Database(integrations_token=NOTION_KEY)
D.list_databases(page_size=100)

Retrieve Database

from notion_database.database import Database

D = Database(integrations_token=NOTION_KEY)
D.retrieve_database(database_id=database_id)

Properties

from notion_database.properties import Properties

PROPERTY = Properties()
PROPERTY.set_title("name", "title")
PROPERTY.set_rich_text("description", "notion-datebase")
PROPERTY.set_number("number", 1)
PROPERTY.set_select("select", "test1")
PROPERTY.set_multi_select("multi_select", ["test1", "test2"])
PROPERTY.set_checkbox("checkbox", True)
PROPERTY.set_url("url", "www.google.com")
PROPERTY.set_email("email", "test@test.com")
PROPERTY.set_phone_number("phone", "010-0000-0000")

Children

from notion_database.properties import Children

children = Children()
children.set_body("hello world!")

Create Page

from notion_database.page import Page

P = Page(integrations_token=NOTION_KEY)
P.create_page(database_id=database_id, properties=PROPERTY, children=children)
page_id = P.result["id"]

Retrieve Page

from notion_database.page import Page

P = Page(integrations_token=NOTION_KEY)
P.retrieve_page(page_id=page_id)

Update Page

from notion_database.page import Page

P = Page(integrations_token=NOTION_KEY)
P.update_page(page_id=page_id, properties=PROPERTY)

Clear Properties

from notion_database.properties import Properties

PROPERTY = Properties()
PROPERTY.clear()

Archive Page

from notion_database.page import Page

P = Page(integrations_token=NOTION_KEY)
P.archive_page(page_id=page_id, archived=True)

Create database

from notion_database.database import Database

D = Database(integrations_token=NOTION_KEY)
D.create_database(page_id=page_id, title="TEST TITLE", properties=PROPERTY)

Finding all pages in a database

from notion_database.database import Database
import pprint

D = Database(integrations_token=NOTION_KEY)
D.find_all_page(database_id=database_id)
pprint.pprint(D.result)

Building / Developing

python setup.py install

Features

  • list database

  • Retrieve database

  • Create database

  • Create Page object (the database item)

  • update Page object

  • Retrieve Page object

  • Archive Page

  • Finding all pages in a database

Todo

  • query database (wip)

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 GPL license.

About

Notion API Database Python Implementation

https://pypi.org/project/notion-database/

License:GNU General Public License v3.0


Languages

Language:Python 100.0%