{"id":21391894,"url":"https://github.com/mannasoumya/todo-parser","last_synced_at":"2026-05-08T15:54:21.791Z","repository":{"id":37737861,"uuid":"506164767","full_name":"mannasoumya/todo-parser","owner":"mannasoumya","description":"Simple TODO parser written in Python","archived":false,"fork":false,"pushed_at":"2025-03-06T20:28:43.000Z","size":51,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-03-06T21:26:33.125Z","etag":null,"topics":["command-line","command-line-tool","github","github-actions","github-api","github-issues","issue-management","issue-tracker","issues","parser","python","python3","todo","todoparser","utilities","utility"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mannasoumya.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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":"2022-06-22T08:38:00.000Z","updated_at":"2025-03-06T20:28:46.000Z","dependencies_parsed_at":"2024-07-08T12:46:46.233Z","dependency_job_id":"428055d4-8fe5-4c56-8f83-2b6b0cdb6696","html_url":"https://github.com/mannasoumya/todo-parser","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mannasoumya%2Ftodo-parser","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mannasoumya%2Ftodo-parser/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mannasoumya%2Ftodo-parser/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mannasoumya%2Ftodo-parser/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mannasoumya","download_url":"https://codeload.github.com/mannasoumya/todo-parser/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243873933,"owners_count":20361727,"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":["command-line","command-line-tool","github","github-actions","github-api","github-issues","issue-management","issue-tracker","issues","parser","python","python3","todo","todoparser","utilities","utility"],"created_at":"2024-11-22T13:38:17.794Z","updated_at":"2026-05-08T15:54:21.777Z","avatar_url":"https://github.com/mannasoumya.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# todo-parser\nSimple TODO parser written in Python.\nReport **TODOS** as **ISSUES** in Github.\n### Priorities in TODOs\nThe more number of ending characters in the **keyword**, the more priority.\n\nConsider following example sorted accordingly:\n- TODOOO: Highest priority\n- TODOO: Less priority\n- TODO: Lowest priority\n\nHere, number of '**O**'s determine the priority of each item.\n\n### Auto Parsing Comment Identifier\nSupported for the following languages:\n\n**Python, Bash, Java, C, C++, R, Perl, Elixir, Erlang, Javascript, Typescript, PHP, C#, Rust, Golang, Kotlin, Haskell**\n\n### Github Issue Reporting\n\nPass the **-gh** flag in the program to enable ***Github Issue Reporting***. The github credentials are picked up from ```creds.json``` in the current working directory. The file looks like following:\n```json\n{\n   \"user\"       : \u003cgithub-username\u003e,\n   \"repo\"       : \u003cgithub-repository\u003e,\n   \"auth_token\" : \u003cgithub-access-token\u003e\n}\n```\n```pip -r requirements.txt``` will install **requests** library of Python which is needed to send request to github API.\nGuide on creating your own **Access Token**: [link](https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token).\n\n### Quick Start\n\n```console\n$ python3 todo_parser.py -h\n\nUsage: python todo_parser.py -i \u003cfile_path\u003e [OPTIONS]\n\nOPTIONS:\n   -i        (str)  : Input file path\n   -c        (str)  : Comment Identifier (default: `//`)\n                      (Auto-Comment-Identification Parser will be overridden if this flag is passed)\n   -k        (str)  : Keyword to be parsed (default: `TODO`)\n   -s        (bool) : Save TODOs to file (default: disabled)\n   -p        (bool) : Enable/Disable Priority Mode (default: enabled)\n   -v        (bool) : Enable/Disable Verbose Mode (default: disabled)\n   -gh       (bool) : Report issues to Github (default: disabled)\n   -e        (bool) : Suppress Error Reporting (default: disabled)\n   -newlines (bool) : New Lines in TODOs (default: disabled)\n   -search   (str)  : Search Text (default: None)\n   -h        (bool) : Print this help and exit\n\n$ python3 todo_parser.py -i todo_parser.py\nLine: 31 -\u003e TODOOOOOO: This is a self referencing item; Highest priority\nLine: 234 -\u003e TODOOO: Take file name as input and save to that file name\nLine: 50 -\u003e TODOO: Another one\nLine: 76 -\u003e TODO: another one\nLine: 237 -\u003e TODO: Test todo and this is a continuation\n```\n\n### With priority disabled (pass `-p` flag)\n```console\n$ python3 todo_parser.py -i todo_parser.py -p\nLine: 31 -\u003e TODOOOOOO: This is a self referencing item; Highest priority\nLine: 50 -\u003e TODOO: Another one\nLine: 76 -\u003e TODO: another one\nLine: 234 -\u003e TODOOO: Take file name as input and save to that file name\nLine: 237 -\u003e TODO: Test todo and this is a continuation\n```\n### With verbose mode (pass ```-v``` flag)\n```console\n$ python3 todo_parser.py -i todo_parser.py -k 'FIXME' -v\nAuto found comment identifier for file `todo_parser.py` : #\n--------------------------------------\nKeyword                 : FIXME\nComment Identifier      : #\nPriority Mode           : enabled\nSave To File            : disabled\nReport Issues to Github : disabled\n--------------------------------------\nFile               : todo_parser.py\nTotal Lines        : 278\nTotal Blank Lines  : 36\n--------------------------------------\n\nLine: 67 -\u003e FIXMEEE : Highest Priority Fix\nLine: 218 -\u003e FIXMEE: Second priority fix\nLine: 132 -\u003e FIXME: Demo FixMe\n```\n### Github Issue Reporting (pass ```-gh``` flag)\n```console\n$ python3 todo_parser.py -i ./todo_parser.py -v -gh\nAuto found comment identifier for file `./todo_parser.py` : #\n----------------------------------------\nKeyword                 : TODO\nComment Identifier      : #\nPriority Mode           : enabled\nSave To File            : disabled\nReport Issues to Github : enabled\n----------------------------------------\nFile               : ./todo_parser.py\nTotal Lines        : 278\nTotal Blank Lines  : 36\n----------------------------------------\n\nLine: 31 -\u003e TODOOOOOO: This is a self referencing item; Highest priority\nLine: 234 -\u003e TODOOO: Take file name as input and save to that file name\nLine: 50 -\u003e TODOO: Another one\nLine: 76 -\u003e TODO: another one\nLine: 237 -\u003e TODO: Test todo and this is a continuation\n\n--------------------\nREPORTING TO GITHUB\n--------------------\n-----------------------------------------\nGithub User : mannasoumya\nGithub Repo : test-gh-api\n-----------------------------------------\n----------------------------\nTitle : `This is a self referencing item; Highest priority`\nBody  :\n----------------------------\nDo you want to report this todo ? (y/n/q)  n\nNot reporting this issue....\n\n----------------------------\nTitle : `Another one`\nBody  :\n----------------------------\nDo you want to report this todo ? (y/n/q)  n\nNot reporting this issue....\n\n----------------------------\nTitle : `another one`\nBody  :\n----------------------------\nDo you want to report this todo ? (y/n/q)  n\nNot reporting this issue....\n\n----------------------------\nTitle : `Take file name as input`\nBody  :  and save to that file name\n----------------------------\nDo you want to report this todo ? (y/n/q)  y\nIssue 9: `Take file name as input` created successfully\n\n----------------------------\nTitle : `Test todo`\nBody  :  and this  is a continuation\n----------------------------\nDo you want to report this todo ? (y/n/q)  y\nIssue 10: `Test todo` created successfully\n\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmannasoumya%2Ftodo-parser","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmannasoumya%2Ftodo-parser","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmannasoumya%2Ftodo-parser/lists"}