Skip to main content

Notion API Database Python Implementation

Reason this release was yanked:

Stable version 1.0.0 has been released. Install that version only if migration is not possible.

Project description

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.

Project details


Release history Release notifications | RSS feed

Download files

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

Source Distribution

notion-database-20210513.7.tar.gz (17.1 kB view hashes)

Uploaded Source

Built Distribution

notion_database-20210513.7-py3-none-any.whl (17.6 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