I'm seconding this. Taskwarrior is the program I've used for the longest, by far.
I particularly like Taskwarrior's ability to set task dependencies. And I've found tasklib [0] to be nice for writing Python scripts to interact with the database.
Switching over to Taskwarrior has been on my TODO list for a while now. (Yes, fully aware of the irony.)
I currently use Tracks and one of the things that holds me back is I still like a good GUI interface to help visualise. I occasionally take a look at various offerings but find those I've surveyed a bit mediocre.
I particularly like Taskwarrior's ability to set task dependencies. And I've found tasklib [0] to be nice for writing Python scripts to interact with the database.
[0] https://github.com/GothenburgBitFactory/tasklib