notion.block package

Submodules

notion.block.basic module

class notion.block.basic.BasicBlock(client, block_id: str, *args, **kwargs)[source]

Bases: notion.block.basic.Block

color
title
title_plaintext
class notion.block.basic.Block(client, block_id: str, *args, **kwargs)[source]

Bases: notion.record.Record

Base class for every kind of notion block object.

Most data in Notion is stored as a “block”. That includes pages and all the individual elements within a page. These blocks have different types, and in some cases we create subclasses of this class to represent those types.

Attributes on the Block are mapped to useful attributes of the server-side data structure, as properties, so you can get and set values on the API just by reading/writing attributes on these classes.

We store a shared local cache on the NotionClient object of all block data, and reference that as needed from here. Data can be refreshed from the server using the refresh method.

alive
change_lock(locked: bool)[source]

Set or free the lock according to the value passed in locked.

Parameters:locked (bool) – Whether or not to lock the block.
children

Get block children.

Returns:Children of this block.
Return type:Children
get_browseable_url() → str[source]

Return direct URL to given Block.

Returns:valid URL
Return type:str
is_alias
move_to(target_block: notion.block.basic.Block, position='last-child')[source]
parent
remove(permanently: bool = False)[source]

Remove the node from its parent, and mark it as inactive.

This corresponds to what happens in the Notion UI when you delete a block. Note that it doesn’t actually delete it, just orphan it, unless permanently is set to True, in which case we make an extra call to hard-delete.

Parameters:permanently (bool, optional) – Whether or not to hard-delete the block. Defaults to False.
type
class notion.block.basic.BulletedListBlock(client, block_id: str, *args, **kwargs)[source]

Bases: notion.block.basic.BasicBlock

class notion.block.basic.CalloutBlock(client, block_id: str, *args, **kwargs)[source]

Bases: notion.block.basic.BasicBlock

icon
class notion.block.basic.CodeBlock(client, block_id: str, *args, **kwargs)[source]

Bases: notion.block.basic.BasicBlock

language
wrap
class notion.block.basic.ColumnBlock(client, block_id: str, *args, **kwargs)[source]

Bases: notion.block.basic.Block

Should be added as children of a ColumnListBlock.

column_ratio
class notion.block.basic.ColumnListBlock(client, block_id: str, *args, **kwargs)[source]

Bases: notion.block.basic.Block

Must contain only ColumnBlocks as children.

evenly_space_columns()[source]
class notion.block.basic.DividerBlock(client, block_id: str, *args, **kwargs)[source]

Bases: notion.block.basic.Block

class notion.block.basic.EquationBlock(client, block_id: str, *args, **kwargs)[source]

Bases: notion.block.basic.BasicBlock

latex
class notion.block.basic.FactoryBlock(client, block_id: str, *args, **kwargs)[source]

Bases: notion.block.basic.BasicBlock

Also known as a “Template Button”

The title is the button text, and the children are the templates to clone.

class notion.block.basic.HeaderBlock(client, block_id: str, *args, **kwargs)[source]

Bases: notion.block.basic.BasicBlock

class notion.block.basic.LinkToPageBlock(client, block_id: str, *args, **kwargs)[source]

Bases: notion.block.basic.BasicBlock

class notion.block.basic.NumberedListBlock(client, block_id: str, *args, **kwargs)[source]

Bases: notion.block.basic.BasicBlock

class notion.block.basic.PageBlock(client, block_id: str, *args, **kwargs)[source]

Bases: notion.block.basic.BasicBlock

cover
icon
class notion.block.basic.QuoteBlock(client, block_id: str, *args, **kwargs)[source]

Bases: notion.block.basic.BasicBlock

class notion.block.basic.SubHeaderBlock(client, block_id: str, *args, **kwargs)[source]

Bases: notion.block.basic.BasicBlock

class notion.block.basic.SubSubHeaderBlock(client, block_id: str, *args, **kwargs)[source]

Bases: notion.block.basic.BasicBlock

class notion.block.basic.TextBlock(client, block_id: str, *args, **kwargs)[source]

Bases: notion.block.basic.BasicBlock

class notion.block.basic.ToDoBlock(client, block_id: str, *args, **kwargs)[source]

Bases: notion.block.basic.BasicBlock

checked
class notion.block.basic.ToggleBlock(client, block_id: str, *args, **kwargs)[source]

Bases: notion.block.basic.BasicBlock

notion.block.children module

class notion.block.children.Children(parent)[source]

Bases: object

add_alias(block: notion.block.basic.Block) → Optional[notion.block.basic.Block][source]

Adds an alias to the provided block, i.e. adds the block’s ID to the parent’s content list, but doesn’t change the block’s parent_id.

Parameters:block (Block) – Instance of block to alias.
Returns:Aliased block.
Return type:Block
add_new(block: notion.block.basic.Block, child_list_key: str = None, **kwargs) → Optional[notion.block.basic.Block][source]

Create a new block, add it as the last child of this parent block, and return the corresponding Block instance.

Parameters:
  • block (Block) – Class of block to use.
  • child_list_key (str, optional) – Defaults to None.
Returns:

Instance of added block.

Return type:

Block

filter(block_type: Union[notion.block.basic.Block, str]) → list[source]

Get list of children of particular type.

Parameters:block_type (Block or str) – Block type to filter on. Either a Block or block type as str.
Returns:List of blocks.
Return type:list
class notion.block.children.Templates(parent)[source]

Bases: notion.block.children.Children

TODO: what? what does that even mean to user?

add_new(**kwargs) → Optional[notion.block.basic.Block][source]

Create a new block, add it as the last child of this parent block, and return the corresponding Block instance.

Parameters:
  • block (Block) – Class of block to use.
  • child_list_key (str, optional) – Defaults to None.
Returns:

Instance of added block.

Return type:

Block

notion.block.database module

notion.block.embed module

class notion.block.embed.AbstractBlock(client, block_id: str, *args, **kwargs)[source]

Bases: notion.block.embed.EmbedBlock

Abstract Block for abstract.com

class notion.block.embed.BookmarkBlock(client, block_id: str, *args, **kwargs)[source]

Bases: notion.block.embed.EmbedBlock

Bookmark Block.

bookmark_cover
bookmark_icon
description
title
class notion.block.embed.CodepenBlock(client, block_id: str, *args, **kwargs)[source]

Bases: notion.block.embed.EmbedBlock

Codepen Block for codepen.io

class notion.block.embed.DriveBlock(client, block_id: str, *args, **kwargs)[source]

Bases: notion.block.embed.EmbedBlock

Drive Block for drive.google.com

class notion.block.embed.EmbedBlock(client, block_id: str, *args, **kwargs)[source]

Bases: notion.block.media.MediaBlock

Embed Block.

display_source
full_width
height
page_width
set_source_url(url: str)[source]
source
width
class notion.block.embed.FigmaBlock(client, block_id: str, *args, **kwargs)[source]

Bases: notion.block.embed.EmbedBlock

Figma Block for figma.io

class notion.block.embed.FramerBlock(client, block_id: str, *args, **kwargs)[source]

Bases: notion.block.embed.EmbedBlock

Framer Block for framer.com

class notion.block.embed.GistBlock(client, block_id: str, *args, **kwargs)[source]

Bases: notion.block.embed.EmbedBlock

Gist Block for gist.github.com

class notion.block.embed.InvisionBlock(client, block_id: str, *args, **kwargs)[source]

Bases: notion.block.embed.EmbedBlock

Invision Block for invisionapp.com

class notion.block.embed.LoomBlock(client, block_id: str, *args, **kwargs)[source]

Bases: notion.block.embed.EmbedBlock

Loom Block for loom.com

class notion.block.embed.MapsBlock(client, block_id: str, *args, **kwargs)[source]

Bases: notion.block.embed.EmbedBlock

Maps Block for maps.google.com

class notion.block.embed.MiroBlock(client, block_id: str, *args, **kwargs)[source]

Bases: notion.block.embed.EmbedBlock

Miro Block for miro.com

class notion.block.embed.TweetBlock(client, block_id: str, *args, **kwargs)[source]

Bases: notion.block.embed.EmbedBlock

Tweet Block for twitter.com

class notion.block.embed.TypeformBlock(client, block_id: str, *args, **kwargs)[source]

Bases: notion.block.embed.EmbedBlock

Typeform Block for typeform.com

class notion.block.embed.WhimsicalBlock(client, block_id: str, *args, **kwargs)[source]

Bases: notion.block.embed.EmbedBlock

Whimsical Block for whimsical.com

notion.block.inline module

notion.block.media module

class notion.block.media.BreadcrumbBlock(client, block_id: str, *args, **kwargs)[source]

Bases: notion.block.media.MediaBlock

Breadcrumb block.

class notion.block.media.MediaBlock(client, block_id: str, *args, **kwargs)[source]

Bases: notion.block.basic.Block

Media block.

caption

notion.block.types module

notion.block.types.get_all_block_types() → dict[source]
notion.block.types.get_block_type(block_type: str = '', default='block')[source]
notion.block.types.get_collection_query_result_type(query_result_type: str, default='collection')[source]
notion.block.types.get_collection_view_type(view_type: str, default='collection_view')[source]

notion.block.upload module

class notion.block.upload.AudioBlock(client, block_id: str, *args, **kwargs)[source]

Bases: notion.block.upload.UploadBlock

Audio Block.

class notion.block.upload.FileBlock(client, block_id: str, *args, **kwargs)[source]

Bases: notion.block.upload.UploadBlock

File Block.

size
title
upload_file(path: str)[source]

Upload a file and embed it in Notion.

Parameters:path (str) – Valid path to a file.
Raises:HTTPError – On API error.
class notion.block.upload.ImageBlock(client, block_id: str, *args, **kwargs)[source]

Bases: notion.block.upload.UploadBlock

Image Block.

class notion.block.upload.PdfBlock(client, block_id: str, *args, **kwargs)[source]

Bases: notion.block.upload.UploadBlock

PDF Block.

class notion.block.upload.UploadBlock(client, block_id: str, *args, **kwargs)[source]

Bases: notion.block.embed.EmbedBlock

Upload Block.

download_file(path: str)[source]

Download a file.

Parameters:path (str) – Path for saving file.
Raises:HTTPError – On API error.
file_id
upload_file(path: str)[source]

Upload a file and embed it in Notion.

Parameters:path (str) – Valid path to a file.
Raises:HTTPError – On API error.
class notion.block.upload.VideoBlock(client, block_id: str, *args, **kwargs)[source]

Bases: notion.block.upload.UploadBlock

Video Block.

Module contents