Create a Task Tracker App for the Terminal with Python (Rich, Typer, Sqlite3)
In this Python Tutorial we learn how to build a terminal application (CLI app) to manage our tasks and todos. We use Typer for building the CLI app, Rich for a colorized terminal output, and SQLite for the database.
Get my Free NumPy Handbook:
www.python-engineer.com/numpy...
✅ Write cleaner code with Sourcery, instant refactoring suggestions in VS Code & PyCharm: sourcery.ai/?... *
⭐ Join Our Discord : / discord
📓 ML Notebooks available on Patreon:
/ patrickloeber
If you enjoyed this video, please subscribe to the channel:
▶️ : / @patloeber
Code: github.com/patrickloeber/pyth...
Typer: typer.tiangolo.com/
Rich: github.com/willmcgugan/rich
sqlite3: docs.python.org/3/library/sql...
~~~~~~~~~~~~~~~ CONNECT ~~~~~~~~~~~~~~~
🖥️ Website: www.python-engineer.com
🐦 Twitter - / patloeber
✉️ Newsletter - www.python-engineer.com/newsl...
📸 Instagram - / patloeber
🦾 Discord: / discord
▶️ Subscribe: / @patloeber
~~~~~~~~~~~~~~ SUPPORT ME ~~~~~~~~~~~~~~
🅿 Patreon - / patrickloeber
#Python
Todo App, Task Manager App, CLI App, Terminal Program
Timeline:
00:00 - Introduction
01:15 - CLI Typer
08:08 - Model class
09:50 - Database / SQLite3
17:16 - Put all together
----------------------------------------------------------------------------------------------------------
* This is an affiliate link. By clicking on it you will not have any additional costs, instead you will support me and my project. Thank you so much for the support! 🙏
Пікірлер: 54
Great starter project. I was able to follow along, transcribing the code as I paused, and got everything working!
Your tutorial is amazing bro. Good video quality, good audio quality, good teaching. Keep going buddy, congrats! =D
Wow!. A good project to start the year. Thank you very much.
Frohes Neues, Patrick! Great tutorial! Thank you!
@patloeber
2 жыл бұрын
Frohes Neues, Sven!
Amazing tutorial! Thank you!
A really great idea for a small project. Would totally try it.
I'm still learning logic and algorithms but this is nice. Very nice.
I have an idea for you... You're pretty damn good at explaining python. Since this library is so packed with features... You should do a series on this particular library. You could easily get a bunch of videos out of this library alone. Just a thought. Keep the videos comin. =)
Wow this is awesome !!!
Very good tutorial, I loved the tip!
@patloeber
2 жыл бұрын
Thank you!
Thanks Patrick! CLI FTW
Wow! It needs a couple more options to become a functional desktop app though. I would've implemented some kind of calendar representation of the tasks, if the task should be repeated (optional) and the interface that allows for user's own categories. You may also add an optional parameter 'importance' to a task. Setting goals would be nice as well :) I can imagine the new commands to look like these: 1) calendar week (shows current week with all assigned tasks) calendar month 2) category add Work category delete KZread 3) add 'Buy a birthday present for Ann' 'Personal' yearly ||| (the ||| indicates high importance) 4) goal 'Invest $5k' by 15-02-2022 ||
@patloeber
2 жыл бұрын
Yes, I am working on more features!
Very nice app! Well done! 👏👏
@patloeber
2 жыл бұрын
Thank you!
Hi, what's your autocomplete functionality in your terminal ? Is it a custom shell like fish ? Or more a zsh plugin ?
the eyebrow movements though🔥🔥
Do we need to have internet ON before installing the dependencies. Great tutorials man!
Awesome tutorial! such a great way to kickstart the new year. Please can you give more insight on the delete command? I would really appreciate it. Thank you.\
really cool!
Hello, thank you for the amazing tutorial. I have a detail question at 15.00, when you define change_position function, with the bool parameter commit which is default on True. You call this function inside the context manager "with conn" at line 50, and you said earlier in the video that the commit function on this connection is always called if we are inside this context manager. How it is possible to avoid that call if you are imposing the (negative) commit with the boolean parameter inside the function when you pass False to it? Thank you in advance and sorry for the slightlycomplicated question.
Nice one
Can you tell me what's your theme for terminal and Vs Code plsss?
Sir please make a detailed video on regression-based conditional generative adversarial networks with Wasserstein loss function and gradient penalty.
Nice tutorial at the begining 2022, I was interested how you show the codes per lines in vscode, it seem that you did not write/type the codes word by word, how did you show them instanly ?
@patloeber
2 жыл бұрын
yeah I coded it before, then removed every part one by one, and put it back by using Cmd+Z
awesome
awesome!! is it possible to filter by category?
@patloeber
2 жыл бұрын
not yet but I plan to implement more functionality in the future
@benxneo
2 жыл бұрын
@@patloeber cool! can't wait!
how do i test multiple functions using typer please help
Could we not have used the id from the table as the position instead of keeping track of it on our own?
how to write unit tests for typer?
9:21 Is it necessary to specify these if statements? I thought optional attributes automatically take given value, or revert to predefined default if not given. I'm a beginner in python, probably I'm missing something.
@patloeber
2 жыл бұрын
the problem is that by default it is None, so I would write None into the database even if there was already a stored value. I don't want to overwrite this value when I don't use the optional argument
@StarFury2
2 жыл бұрын
@@patloeber Thank you for the answer! I still don't get it though, I thought it's redundant to explicitly specify value "None" after "if" statement in the constructor, compared to just leaving it "None" in the instance attributes. In fact, I erased all "if" statements from the model (specifying status=1 and date_added = datetime.now in the instance attributes instead) and program behaves in exactly the same way.
Thank you for the lesson! I can't find my error. the "complete 2" command does not show the table. even though the show() function is specified
@Zeksait
2 жыл бұрын
i find my mistake =)
hey Pat! I know this is very random, but would you make a video on "how to make your terminal look like mine". I know its silly to ask that. But do consider making such a video for fun.
@Reecepbcups
2 жыл бұрын
Check out FISH or ZSH terminals, may set you in the right direction
@patloeber
2 жыл бұрын
you mean my own terminal? I can think about making a video, it's customized with iTerm2 and oh-my-zsh
@minhazulislam4682
2 жыл бұрын
@@patloeber thanks for the reply and yes. Your terminal looks awesome.
@xibnoe
2 жыл бұрын
@@patloeber please...i want your terminal
😍😍
Can you Pl share how to deploy python application in windows server/desktop.
@patloeber
2 жыл бұрын
will take a look at it
a prompt would have been nicer
please speek russian
Please stop using macbook and buy a Hp or asus laptop that gives better performance for the price.
@barnabaskroner4636
7 ай бұрын
😂