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

  • @DaveHoran
    @DaveHoran7 ай бұрын

    Great starter project. I was able to follow along, transcribing the code as I paused, and got everything working!

  • @hugoalmeida1291
    @hugoalmeida12912 жыл бұрын

    Your tutorial is amazing bro. Good video quality, good audio quality, good teaching. Keep going buddy, congrats! =D

  • @anurasenarathna1703
    @anurasenarathna17032 жыл бұрын

    Wow!. A good project to start the year. Thank you very much.

  • @CodingIsFun
    @CodingIsFun2 жыл бұрын

    Frohes Neues, Patrick! Great tutorial! Thank you!

  • @patloeber

    @patloeber

    2 жыл бұрын

    Frohes Neues, Sven!

  • @lossurdo
    @lossurdo2 жыл бұрын

    Amazing tutorial! Thank you!

  • @vikranttyagiRN
    @vikranttyagiRN2 жыл бұрын

    A really great idea for a small project. Would totally try it.

  • @maurolimaok
    @maurolimaok2 жыл бұрын

    I'm still learning logic and algorithms but this is nice. Very nice.

  • @Mdroudian
    @Mdroudian2 жыл бұрын

    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. =)

  • @navaneethk4276
    @navaneethk42762 жыл бұрын

    Wow this is awesome !!!

  • @alyssonmachado1254
    @alyssonmachado12542 жыл бұрын

    Very good tutorial, I loved the tip!

  • @patloeber

    @patloeber

    2 жыл бұрын

    Thank you!

  • @MartyAckerman310
    @MartyAckerman3102 жыл бұрын

    Thanks Patrick! CLI FTW

  • @airatvaliullin8420
    @airatvaliullin84202 жыл бұрын

    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

    @patloeber

    2 жыл бұрын

    Yes, I am working on more features!

  • @RodrigoStuchi
    @RodrigoStuchi2 жыл бұрын

    Very nice app! Well done! 👏👏

  • @patloeber

    @patloeber

    2 жыл бұрын

    Thank you!

  • @remypoirier92
    @remypoirier922 жыл бұрын

    Hi, what's your autocomplete functionality in your terminal ? Is it a custom shell like fish ? Or more a zsh plugin ?

  • @tgozer
    @tgozer Жыл бұрын

    the eyebrow movements though🔥🔥

  • @keemgraphics1041
    @keemgraphics10412 жыл бұрын

    Do we need to have internet ON before installing the dependencies. Great tutorials man!

  • @real_taiwopeter
    @real_taiwopeter2 жыл бұрын

    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.\

  • @gzbin365
    @gzbin3652 жыл бұрын

    really cool!

  • @giorgioripani8469
    @giorgioripani84699 ай бұрын

    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.

  • @handelsassistentenundtradi2724
    @handelsassistentenundtradi27242 жыл бұрын

    Nice one

  • @hariharanrd
    @hariharanrd Жыл бұрын

    Can you tell me what's your theme for terminal and Vs Code plsss?

  • @AKASHKUMAR-jz9yv
    @AKASHKUMAR-jz9yv2 жыл бұрын

    Sir please make a detailed video on regression-based conditional generative adversarial networks with Wasserstein loss function and gradient penalty.

  • @ibanguniverse811
    @ibanguniverse8112 жыл бұрын

    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

    @patloeber

    2 жыл бұрын

    yeah I coded it before, then removed every part one by one, and put it back by using Cmd+Z

  • @parikannappan1580
    @parikannappan15808 ай бұрын

    awesome

  • @benxneo
    @benxneo2 жыл бұрын

    awesome!! is it possible to filter by category?

  • @patloeber

    @patloeber

    2 жыл бұрын

    not yet but I plan to implement more functionality in the future

  • @benxneo

    @benxneo

    2 жыл бұрын

    @@patloeber cool! can't wait!

  • @thatolebethe8896
    @thatolebethe88962 жыл бұрын

    how do i test multiple functions using typer please help

  • @pratikchakravorty983
    @pratikchakravorty983 Жыл бұрын

    Could we not have used the id from the table as the position instead of keeping track of it on our own?

  • @thatolebethe8896
    @thatolebethe88962 жыл бұрын

    how to write unit tests for typer?

  • @StarFury2
    @StarFury22 жыл бұрын

    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

    @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

    @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.

  • @Zeksait
    @Zeksait2 жыл бұрын

    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

    @Zeksait

    2 жыл бұрын

    i find my mistake =)

  • @minhazulislam4682
    @minhazulislam46822 жыл бұрын

    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

    @Reecepbcups

    2 жыл бұрын

    Check out FISH or ZSH terminals, may set you in the right direction

  • @patloeber

    @patloeber

    2 жыл бұрын

    you mean my own terminal? I can think about making a video, it's customized with iTerm2 and oh-my-zsh

  • @minhazulislam4682

    @minhazulislam4682

    2 жыл бұрын

    @@patloeber thanks for the reply and yes. Your terminal looks awesome.

  • @xibnoe

    @xibnoe

    2 жыл бұрын

    @@patloeber please...i want your terminal

  • @creatur
    @creatur2 жыл бұрын

    😍😍

  • @anishas9217
    @anishas92172 жыл бұрын

    Can you Pl share how to deploy python application in windows server/desktop.

  • @patloeber

    @patloeber

    2 жыл бұрын

    will take a look at it

  • @microfx
    @microfx Жыл бұрын

    a prompt would have been nicer

  • @user-uy6rb3de8e
    @user-uy6rb3de8e2 жыл бұрын

    please speek russian

  • @user-we1lx5gv4q
    @user-we1lx5gv4q10 ай бұрын

    Please stop using macbook and buy a Hp or asus laptop that gives better performance for the price.

  • @barnabaskroner4636

    @barnabaskroner4636

    7 ай бұрын

    😂