Skip to main content

A simple command-line tool for managing Notion databases.

Project description

⚠️ This project is still in work in progress, please forgive any little flaw here and there.

Notion CLI List Manager 🗂

A simple command-line tool for managing Notion List databases. ✨

Increase your productivity with a simple command. 🛋

📺 Features:

  • fast and clear; saving your idea is as simple as type add "get money" 💆‍♂️
  • tables are pretty-printed with fab ASCII tables 🌈
  • parameters are now supported [^3] 🎻

👾 Get Started:

  • Create a new internal api integration here.
  • ❗️ Share the default database you want to use with your integration.
    You can copy my free simple template.
  • Download the tool: [^1]
    pip install notion-cli-list-manager
  • Set the token and your default database id:
    list set --token [token] --id [database-id]
  • You're done!

🧰 Syntax:

TL;DR: list is the keyword for activating this tool from the terminal. Typing just list, the list of your default database's items will be shown. Other commands can be used typing list [command]

Commands: Args and options:
list to display all the List items. --db [id] to display a specific database. Otherwise the default database will be shown.
--all to display all the lists.
list add [title] to add a new List item called title. [title] will be the text of the List item (and the title of the associated Notion database page)
--db [id] to add the entry to a specific database. Otherwise, the default database will be used.
list rm [index] to remove the List item with the index index.
(Command to call after list)
[index] has to be formatted either like a range or a list, or a combination of these. E.g.: 3,4,6:10:2 will remove pages 3, 4, 6, 8.
list db to display all the notion display saved in the manager. --label [LABEL] --id [ID] to add a database to the manager. A prompt will then ask you the ordered indexes list.
--rm [LABEL] to remove a database named [LABEL] from the manager. Note that adding or removing a database to the manager does not cause the actual creation or deletion on Notion.
--prop [LABEL] to set which and in which order display the properties of an already saved database labeled [LABEL]. A prompt will then ask you the ordered indexes list[^3].
list set --token [token] --id [database_id] to set the token and the ID of the Notion Database you want as default. This must be executed as the first command. You can get the [token] as internal api integration here.
You can get the database id from the database url: notion.so/[username]/[database_id]?v=[view_id].
You can also use separately --token and --id to set just one parameter. After the --id command, a prompt will then ask you the ordered indexes list.

🛒 Still to do:

See the project tab for a complete and real-time-updated list.
Issues and PRs are appreciated. 🤝

[^3]: At the present, properties are fully supported (except Relations and Rolls up that are NS - Not supported) but read-only. Writeable ones will be supported in the next versions.

[^1]: You can also clone the repo to have always the very last version.
Having installed Python3 and Pip3 on your machine, write on the terminal:
git clone https://github.com/jacksalici/notion-cli-list-manager.git notion-cli-list-manager
pip3 install notion-cli-list-manager/dist/notion-cli-list-manager-[last-version].tar.gz

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-cli-list-manager-0.1.6.tar.gz (9.4 kB view hashes)

Uploaded Source

Built Distribution

notion_cli_list_manager-0.1.6-py3-none-any.whl (8.9 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