Python based TUI app for managing TODO and similar messages in your projects.
Project description
spark-tudu
Navigation
- About project
- Project status
- Syntax
- Scanned file extensions
- Installation and usage
- Supported markers
- Supported priorities
- Config
- Dependencies
- License
About project
spark-tudu is a simple TUI app written in Python to help you develop your projects. It searches for lines like TODO or FIXME in app's syntax (about syntax) and provides it to you in one place in TUI written in Textual.
Motivation for the project
Motivation for this project comes from both the need for simple project when returning to coding, and from needing a simple program that puts all my TODOs from different files inside one space.
Learning outcomes
I learned how to use Textual and how to make TUI apps.
Project status
Project reached all requirements for 0.1.0 release. Currently app is fully functional. 0.1.1 added fixes for python 3.11 and 0.1.2 added more arguments to the config as well as arguments to command.
Planned features
- Currently none
Syntax
App detects comments with this syntax:
language comment prefix marker/priority/comment/deadline
Example:
# TODO/HIGH/Add themes/22.10.2027
COMMENT MUST BE IN SEPARATE LINE THAN CODE
Scanned file extensions
spark-tudu scans only files with these extensions by default:
".py"
".pyi"
".pyw"
".pyx"
".px"
".pxi"
".c"
".h"
".cpp"
".hpp"
".cc"
".hh"
".cxx"
".hxx"
".js"
".jsx"
".ts"
".tsx"
".md"
These can be changed in config by adding for example this:
[files.comment_prefixes]
".py" = ["##"]
Above example makes it so .py files will be scanned only for comments starting with "##", empty lists can be made to disable scanning for given extension.
Installation and usage
Use pip install spark-tudu or download Linux binary/Windows executable from here to install it.
Use it by either running spark-tudu in directory you want to scan or by running downloaded binary/executable from there, depending on how you installed app.
You can also use spark-tudu PROJECT_DIR to scan given directory, as well as spark-tudu -h or spark-tudu --help to get more informations about the command
Supported markers
Currently supported markers:
- TODO
- FIXME
- BUG
- HACK
- NOTE
- IDEA
- REVIEW
- SECURITY
- DOCS
- TEST
- PERF
- CLEANUP
- BLOCKED
Supported priorities
Currently supported priorities:
- CRITICAL
- HIGH
- MEDIUM
- LOW
- OPTIONAL
Config
spark-tudu supports a config file. The config file must be present in the project directory being scanned.
If the config file does not exist, spark-tudu uses the default config made for VS Code.
The config file must be named spark-tudu.toml and can include these options:
[editor]
command = ["command", "arguments"]
wait = true/false
terminal = true/false
[files.comment_prefixes]
"file extension" = ["comment prefixes to scan"]
Default config:
[editor]
command = ["code", "-g", "{file}:{line}"]
wait = false
terminal = false
[files.comment_prefixes]
".py" = ["#"]
".pyi" = ["#"]
".pyw" = ["#"]
".pyx" = ["#"]
".px" = ["#"]
".pxi" = ["#"]
".c" = ["//", "/*", "*"]
".h" = ["//", "/*", "*"]
".cpp" = ["//", "/*", "*"]
".hpp" = ["//", "/*", "*"]
".cc" = ["//", "/*", "*"]
".hh" = ["//", "/*", "*"]
".cxx" = ["//", "/*", "*"]
".hxx" = ["//", "/*", "*"]
".js" = ["//", "/*", "*"]
".jsx" = ["//", "/*", "*"]
".ts" = ["//", "/*", "*"]
".tsx" = ["//", "/*", "*"]
".md" = ["#", "<!--"]
Different editor presets
Here are presets for common editors:
VS Code / Code OSS (default):
[editor]
command = ["code", "-g", "{file}:{line}"]
wait = false
terminal = false
VSCodium:
[editor]
command = ["codium", "-g", "{file}:{line}"]
wait = false
terminal = false
Nano:
[editor]
command = ["nano", "+{line},1", "{file}"]
wait = true
terminal = true
Vim:
[editor]
command = ["vim", "+{line}", "{file}"]
wait = true
terminal = true
Neovim:
[editor]
command = ["nvim", "+{line}", "{file}"]
wait = true
terminal = true
Sublime Text:
[editor]
command = ["subl", "{file}:{line}"]
wait = false
terminal = false
JetBrains IDE:
[editor]
command = ["idea", "--line", "{line}", "{file}"]
wait = false
terminal = false
Dependencies
textualrich
Install with pip:
pip install textual rich
Install command for Arch-based distributions:
sudo pacman -S python-textual
(python-rich is installed as dependency of python-textual)
License
All files are licensed under the Apache 2.0 License.
See LICENSE for full terms
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file spark_tudu-0.1.2.tar.gz.
File metadata
- Download URL: spark_tudu-0.1.2.tar.gz
- Upload date:
- Size: 14.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5ba8eb92f9618754425f727a7f49d5e136f915b24efcdffe6ca40cc256266397
|
|
| MD5 |
cfc3a5d96a5fe08f9ba55a97b1451d01
|
|
| BLAKE2b-256 |
052b619ba45acd895686db91e4f197a56be1504c9d8a93c689e7c356ffc61559
|
File details
Details for the file spark_tudu-0.1.2-py3-none-any.whl.
File metadata
- Download URL: spark_tudu-0.1.2-py3-none-any.whl
- Upload date:
- Size: 13.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
dbfb923ec76cd5bdf1cc6c42f635adc7adcad7eba853c48d2b070c038c01b437
|
|
| MD5 |
7bed2dc0a11f99e1f6ae1360c6c591fe
|
|
| BLAKE2b-256 |
1d17e9be36ef448b59b6ac9cb0745feb8d0a81487a77280bdb530dd1774d241f
|