Skip to main content

Generate a roam research like network graph view from your Notion pages.

Project description

Notion Graph View

github github github

Export Notion pages to a Roam-Research like graph view.

📜 Usage

Environment

  • Python >= 3.9

Installing

pip install notion-graph

Notion API Setup

  1. Create a notion internal integration and generate an Internal Integration Token.

    👉 Learn more about authorization

  2. Open one notion page on browser, select "Add connections" and add your integration account.

  3. Find your base Page ID from browser url, for example:

if page url is: https://www.notion.so/yourName/PageTitle-8a4b5ff100d648fb8d39d4bfa756ff3f, 8a4b5ff100da48fb8d39d4bfa756ff3f is the Page ID

Quickly Running

python -m notion_graph -p <Page ID> -t <Integration Token> -o <file path to export>

For instance,

python -m notion_graph -p 856391c93ae64bd1b7ebf699ca0cd861 -t secret_b8p7uLp3j3n95IDgofC9GviXP111Skx6NOt2d20U8e -o ./graph_out.html

graph_out.html would be generated at your specific path.

Importing as a Python Library

You can also import notion_graph as a library.

For instance, drawing your own diagram in Jupyter Notebook by pyvis.

import notion_graph as ng

my_ng = ng.NotionGraph(bearer_token="secret_b8p7uLp3j3n95IDgofC9GviXP111Skx6NOt2d20U8e")
graph = my_ng.parse(page_id="856391c93ae64bd1b7ebf699ca0cd861")
# graph is a pyvis.network.Network object
graph.show("graph.html", notebook=True)

Testing Environment

The testing page is Notion-grap-view-demo. You can duplicate the page to your Notion account and run the project to test if everything goes well.

Development Guide

This project's dependencies are managed by PDM.

brew install pdm
pdm install

Running the project by:

pdm run start -p <page_id> -t <notion_token> -o ./graph_out.html

🔗 Supported Links

database page
paragraph ✔️ ✔️
bulleted_list_item ✔️ ✔️
numbered_list_item ✔️ ✔️
to_do ✔️ ✔️
toggle ✔️ ✔️
child_page ✔️ ✔️
child_database ✔️ ✔️
embed
callout ✔️ ✔️
quote ✔️ ✔️
heading_1 ✔️ ✔️
heading_2 ✔️ ✔️
heading_3 ✔️ ✔️
column
column_list
synced_block
link_to_page
table ✔️ ✔️
table_row ✔️ ✔️

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-graph-0.2.2.tar.gz (6.0 kB view details)

Uploaded Source

Built Distribution

notion_graph-0.2.2-py3-none-any.whl (7.3 kB view details)

Uploaded Python 3

File details

Details for the file notion-graph-0.2.2.tar.gz.

File metadata

  • Download URL: notion-graph-0.2.2.tar.gz
  • Upload date:
  • Size: 6.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: pdm/2.8.0a2 CPython/3.11.1

File hashes

Hashes for notion-graph-0.2.2.tar.gz
Algorithm Hash digest
SHA256 75462dcb952e0de131230ad39b23656c9ec90234c39290e54c6d6c3f5850b12d
MD5 d1b7b34d29a1ca533e0e4e29231c321c
BLAKE2b-256 5ed3fc44d49428f3389efc99f3122ffcadc02ebda97d84e58a2e6ddf8d0e1345

See more details on using hashes here.

File details

Details for the file notion_graph-0.2.2-py3-none-any.whl.

File metadata

File hashes

Hashes for notion_graph-0.2.2-py3-none-any.whl
Algorithm Hash digest
SHA256 13fbef72c345a35c8096e3c9b89fdf2cb013ce1a9bce78a4dc18682f4c6164d7
MD5 c023d64c8a121698d20fbf5a4ccd34c9
BLAKE2b-256 f71187865026fb17a817a51c1bb9c431591068d0ea99321dc24dfde97fb09c3b

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