Skip to main content

Notion Kit but with some changes for even more convinence.

Project description

Table of Contents


notion_kit

Is for easier use notion-sdk-py.

  • Because Notion_sdk_py Usage documentation is less, cumbersome to use, and too many dictionary operations.

  • In order to make it easier to use Notion API, a lot of functions that may not be used have been created. :)


Usage

Install

  • pypi
    pip install notion-kit
    
  • Github
    pip install git+https://github.com/bluewhitep/notion_kit.git
    
  • Refer to the ./examples fold for details on usage

Quicky start

  1. Following the instruction for get token: Notion Authorization
  2. Use the token. [Recommend: Use environment variable]
    token = os.environ["NOTION_TOKEN"]
    
  3. Initalize notion_kit
    from notion_kit import kit as nkit
    notion_client = nkit.Client(token=token)
    
  4. Get id from notion url
    notion_url = "<Notion url>" 
    notion_id = nkit.get_id(url=notion_url)
    
  • Get data
    page = nkit.Page.get_data(notion_id)
    # or
    database = nkit.Database.get_data(notion_id)
    

Object

  • Notion_kit use class object operations
    • object to dict
      data_dict = data_object.Dict
      # or
      data_dict = data_object.asdict()
      
  • Special cases:
    • PropertyType object can use .full_dict() to get {Property_name: Property_type_value} dict.
      data_dict = data_object.full_dict()
      
    • PropertyType object can use .label_dict() to get short info dict.
      data_dict = data_object.label_dict()
      
      # short info dict:
      # {'name': Property_name,
      #  'type': Property_type,
      #  'id': Property_id
      # }
      

Functions

  • Database
    • ⭕️ Create a new database
    • ⭕️ Retrieve databse [Get page list in database]
    • ⭕️ Query database [Get database data]
    • ⭕️ Create / Update property
    • ❌ Delete database [Notion api not support]
  • Page
    • ⭕️ Create page in database / page
    • ⭕️ Retrieve (get page data)
    • ⭕️ Update property [ ** Page in Database]
    • ⭕️ Block [add / update / delete block]
    • ❌ Delete page [Notion api not support]
  • Block
    • ⭕️ Create
    • ⭕️ Retrieve (get block data and block childrens)
    • ⭕️ Update (rename function from notion_sdk_py)
    • ⭕️ Delete block
  • User
    • ⭕️ Get user list
    • ⭕️ Get user data by user_id
    • ⭕️ who am i: Get bot user data

Tips

Database non-create properties

  • status can't be updated, because notion api not support it.

    By notion api document, title, rich_text, number, select, multi_select, date, people, files, checkbox, url, email, phone_number, formula, relation, rollup, created_time, created_by, last_edited_time, last_edited_by can be updated.

  • rollup can't be updated on items.

Requirements

This package supports the following minimum versions:

  • Python >= 3.10

Reference


License

  • MIT License

Project details


Download files

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

Source Distribution

notion_kit_flexible-0.2.1.tar.gz (31.1 kB view details)

Uploaded Source

Built Distribution

notion_kit_flexible-0.2.1-py3-none-any.whl (34.4 kB view details)

Uploaded Python 3

File details

Details for the file notion_kit_flexible-0.2.1.tar.gz.

File metadata

  • Download URL: notion_kit_flexible-0.2.1.tar.gz
  • Upload date:
  • Size: 31.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.3.2 CPython/3.10.8 Darwin/22.4.0

File hashes

Hashes for notion_kit_flexible-0.2.1.tar.gz
Algorithm Hash digest
SHA256 13fe6cc901354d974a99a808952bce0a2dc9695299e9e7a29cbb0a326accdeba
MD5 eb6320cc11277ffa7cece352acee70b6
BLAKE2b-256 9b3b766f1edefc43cf26b748b20b8fb8ff013b38d35bf4c1b98b1ea5a7355d7d

See more details on using hashes here.

File details

Details for the file notion_kit_flexible-0.2.1-py3-none-any.whl.

File metadata

File hashes

Hashes for notion_kit_flexible-0.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 5b3d4f1a78de9d741777f778f8639b1dd58c809527617131820959ee871d04f3
MD5 5f7171e67be4243a306702292a48081a
BLAKE2b-256 a3a291a9097bfef24c68ff597c2165d9a153d5d52420ba00d57f2501f23b88ff

See more details on using hashes here.

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