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 hashes)

Uploaded Source

Built Distribution

notion_kit_flexible-0.2.1-py3-none-any.whl (34.4 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