{"id":13907793,"url":"https://github.com/maaslalani/notion-todo","last_synced_at":"2025-06-13T17:32:36.058Z","repository":{"id":113655459,"uuid":"221311691","full_name":"maaslalani/notion-todo","owner":"maaslalani","description":"Command Line Interface for adding notion todo tasks","archived":false,"fork":false,"pushed_at":"2019-11-12T22:08:06.000Z","size":5002,"stargazers_count":35,"open_issues_count":1,"forks_count":1,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-04-02T08:47:43.455Z","etag":null,"topics":["cli","notion","todo"],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/maaslalani.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2019-11-12T21:04:33.000Z","updated_at":"2024-10-08T17:16:15.000Z","dependencies_parsed_at":"2023-03-10T06:00:24.448Z","dependency_job_id":null,"html_url":"https://github.com/maaslalani/notion-todo","commit_stats":{"total_commits":5,"total_committers":1,"mean_commits":5.0,"dds":0.0,"last_synced_commit":"07d5dc00fbb66c1d151b4c34a0619debf7b9892f"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/maaslalani/notion-todo","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/maaslalani%2Fnotion-todo","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/maaslalani%2Fnotion-todo/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/maaslalani%2Fnotion-todo/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/maaslalani%2Fnotion-todo/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/maaslalani","download_url":"https://codeload.github.com/maaslalani/notion-todo/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/maaslalani%2Fnotion-todo/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":259688365,"owners_count":22896392,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cli","notion","todo"],"created_at":"2024-08-06T23:02:10.770Z","updated_at":"2025-06-13T17:32:36.002Z","avatar_url":"https://github.com/maaslalani.png","language":"Python","funding_links":[],"categories":["HarmonyOS"],"sub_categories":["Windows Manager"],"readme":"# Notion Todo\n\nNotion Todo is a command line interface tool that allows you to write, edit, remove todos right from the command line.\n\n### How it works\nNotion doesn't have an official API yet, but I use an [Unoffical Python API client.](https://github.com/jamalex/notion-py)\n\nThe CLI simply allows you to interact with a page and syncs it with notion so any edits you make on notion are reflected in the CLI and vice-versa\n\n### Demonstration\n![](demonstration.gif)\n\n### Usage\nThe notion-todo-cli has a few commands\n\nListing todos\n```\nntodo\nntodo list\n```\nThese command will list out all your current todos for you to view them. Here you can check or uncheck the todos using the left and right arrow keys. Navigate using the up and down arrow keys.\n\nAdding todos\n```\nntodo add [Do something]\n```\nThe `add` command allows you to add a todo to your notion page. You can quickly jot the todo down by simply following the command with the todo or simply write `ntodo add` (without anything following it) which will open your `$EDITOR` where you can write your todo. Once you save and exit the todo will be added.\n\nEditing todos\n```\nntodo edit\n```\nTyping this command will show you all of you todos to easily select one of them. Once you select one, it will appear in your `$EDITOR` for editing. Once you save and exit the todo will be updated.\n\nRemoving todos\n```\nntodo remove\n```\nTyping this command will show you all of the todos where you can select one of them. After selecting one, it will confirm that you want to delete it. if you press `y` it will be deleted from your notion page.\n\n### Setup\nTo set notion-todo to work with your notion setup you'll need to do 2 things.\n\n1. Setup your `NOTION_TOKEN`\nTo setup your `NOTION_TOKEN` you need to go to [notion.so](https://www.notion.so) on your browser. Then, go into developer tools through inspect element and press the Application tab. In the sidebar you should see cookies, look for `token_v2` copy and paste that value into your environment variables as such. The python script will read the token from the environment.\n\n```\nexport NOTION_TOKEN=your_token_v2_value_its_pretty_long\n```\n\n2. Setup your `NOTION_PAGE`\nFor this all you need to do is create a page (or use an existing one) as your todos page. All you need to do is copy the link to your page and export it as an environment variable, which the python script will read.\n\n```\nexport NOTION_PAGE=https://www.notion.so/username/c1f350b7dfe0b7f8849e3f740e64520\n```\n\nYou can use this tool by running the python script or bundling it into an executable file.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmaaslalani%2Fnotion-todo","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmaaslalani%2Fnotion-todo","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmaaslalani%2Fnotion-todo/lists"}