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
Metadata
Release files for spark-tudu 0.1.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| spark_tudu-0.1.2.tar.gz | 14.2 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| spark_tudu-0.1.2-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 27.2 kB
Release files / spark_tudu-0.1.2.tar.gz
| Download URL | spark_tudu-0.1.2.tar.gz |
|---|---|
| Size | 14.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
5ba8eb92f9618754425f727a7f49d5e136f915b24efcdffe6ca40cc256266397
|
|
BLAKE2b-256 checksum How to use checksums |
052b619ba45acd895686db91e4f197a56be1504c9d8a93c689e7c356ffc61559
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.14.6
|
Release files / spark_tudu-0.1.2-py3-none-any.whl
| Download URL | spark_tudu-0.1.2-py3-none-any.whl |
|---|---|
| Size | 13.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
dbfb923ec76cd5bdf1cc6c42f635adc7adcad7eba853c48d2b070c038c01b437
|
|
BLAKE2b-256 checksum How to use checksums |
1d17e9be36ef448b59b6ac9cb0745feb8d0a81487a77280bdb530dd1774d241f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.14.6
|
Security for spark-tudu 0.1.2
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.