15 Python Libraries You Should Know About

  Рет қаралды 346,922

ArjanCodes

ArjanCodes

Күн бұрын

In this video, I’ll share 15 Python libraries that are super cool, and you should know. These libraries can make your life easier, your code easier to read, and your projects more fun. 😉
⚬ Pendulum: pendulum.eustace.io
⚬ PyPD: pypi.org/project/pypdf/
⚬ Icecream: github.com/gruns/icecream
⚬ Loguru: github.com/Delgan/loguru
⚬ Rich: rich.readthedocs.io/en/stable...
⚬ Argparse: docs.python.org/3/library/arg...
⚬ Tqdm: github.com/tqdm/tqdm
⚬ Xarray: github.com/pydata/xarray
⚬ Polar: www.pola.rs
⚬ Seaborn: seaborn.pydata.org/tutorial/i...
⚬ Result: pypi.org/project/result/
⚬ Pydantic: docs.pydantic.dev/latest/
⚬ FastAPI: fastapi.tiangolo.com
⚬ Sqlmodel: sqlmodel.tiangolo.com
⚬ Httpx: github.com/encode/httpx
⚬ Python-dotenv: saurabh-kumar.com/python-dotenv/
👷 Join the FREE Code Diagnosis Workshop to help you review code more effectively using my 3-Factor Diagnosis Framework: www.arjancodes.com/diagnosis
💻 ArjanCodes Blog: www.arjancodes.com/blog
✍🏻 Take a quiz on this topic: www.learntail.com/quiz/irzkpn
🎓 Courses:
The Software Designer Mindset: www.arjancodes.com/mindset
The Software Architect Mindset: Pre-register now! www.arjancodes.com/architect
Next Level Python: Become a Python Expert: www.arjancodes.com/next-level...
The 30-Day Design Challenge: www.arjancodes.com/30ddc
🛒 GEAR & RECOMMENDED BOOKS: kit.co/arjancodes.
👍 If you enjoyed this content, give this video a like. If you want to watch more of my upcoming videos, consider subscribing to my channel!
Social channels:
💬 Discord: [discord.arjan.codes](discord.arjan.codes/)
🐦Twitter: / arjancodes
🌍LinkedIn: / arjancodes
🕵Facebook: / arjancodes
📱Instagram: / arjancodes
♪ Tiktok: / arjancodes
👀 Code reviewers:
- Yoriz
- Ryan Laursen
- Dale Hagglund
🎥 Video edited by Mark Bacskai: / bacskaimark
🔖 Chapters:
0:00 Intro
0:23 Pendulum
1:24 PyPDF
1:52 Icecream
3:09 Loguru
4:12 Rich
4:44 Argparse
5:12 Tqdm
5:52 Xarray
6:42 Polars
7:08 Seaborn
8:10 Result
10:24 Pydantic
10:48 FastAPI
12:05 Sqlmodel
13:12 Httpx
13:43 BONUS
14:30 Outro
#arjancodes #softwaredesign #python
DISCLAIMER - The links in this description might be affiliate links. If you purchase a product or service through one of those links, I may receive a small commission. There is no additional charge to you. Thanks for supporting my channel so I can continue to provide you with free content each week!

Пікірлер: 482
@ArjanCodes
@ArjanCodes 6 ай бұрын
👷 Join the FREE Code Diagnosis Workshop to help you review code more effectively using my 3-Factor Diagnosis Framework: www.arjancodes.com/diagnosis
@ScorpusMugnes
@ScorpusMugnes 3 ай бұрын
Hey, Arjan it's been a while now following your design guide videos. But the real problem is that, is it good to place more than one class in a single file, I have been coding in PHP where every class takes it's own file, the code is simple to refactor in that way. What are thoughts?
@user-fr6ck7fu1q
@user-fr6ck7fu1q 5 ай бұрын
The naming of the ICECREAM module is a clever play on the abbreviation "IC", which phonetically mirrors "I See" in English. This choice is fitting for a Python debugging tool, as it elegantly underscores its purpose: to illuminate the inner mechanisms of your code, much like peering through a transparent layer in a typically opaque Python environment.
@yubeeee
@yubeeee 7 ай бұрын
really nice list, thanks for sharing Arjan! i started using argparse recently in a data engineering context, to set up a main job executor and pass ETL jobs and params as arguments. between that and config libraries like omegaconf and hydra, it's completely changed my application design for the better.
@alansnyder8448
@alansnyder8448 7 ай бұрын
A deep dive video on SQLModel would be great. I like it. On my first pass at learning it, the foreign key constraints were a little confusing and I ended up refactoring some code once I fully understood it. But seeing a video might be a great way to know if there is a better way to define them. I was doing a light project with a SQLite-based database, but ultimately want to get to a project that uses PostgreSQL with geocoding. If you did a video like that I would find it very interesting.
@MedievalChips
@MedievalChips 7 ай бұрын
Love to learn about new libraries, you always find something new and exciting. Thank you Arjan!
@OngakuAikoka
@OngakuAikoka 7 ай бұрын
Your very informative and nicely composed videos helped me get a job in this tough market. Thank you very much, and keep up the good work!
@Absalatreal
@Absalatreal 7 ай бұрын
woow congrats that's really asweome bro , mind if you mentor me in my journy ?
@ArjanCodes
@ArjanCodes 7 ай бұрын
Wow! Thank you so much! I really appreciate it, and I wish you success with your new job! 🎉
@vman2kay
@vman2kay 6 ай бұрын
Good to see a recommendation for argparse. Most of these modules are already used by me so I'm glad I'm on a similar track. For the question on command line programs, we create command line programs as the work I do is mainly backend and we try to automate as much of our repeatable and tedious processes as we can. Vendor software provides some functionality and our tools just enhance that to make maintenance seamless and fill the gaps not covered by the vendor.
@DanielRodriguez-lu3uu
@DanielRodriguez-lu3uu 7 ай бұрын
A CLI app is always a good idea when automating boring tasks at work like building reports or extracting data to manipulate. Its quick to develop and fast to execute.
@arthurelskens8041
@arthurelskens8041 7 ай бұрын
Great video, thanks! Here is a new entry: Ray is a nice framework with a Python API that facilitates code parallelization, whether it is on a single machine or within a designated cluster. Side note for people who might be interested: while Ray offers a user friendly experience, there is a certain degree of syntax overhead, making it challenging to run code in a serial manner without code modifications. To that end, I have build and published a wrapping library (still a work in progress), “ray-ease”, that allows to switch from parallel to serial without requiring code modifications.
@JR34MZ
@JR34MZ 7 ай бұрын
Not a library, but I wanted to mention this: Python Poetry saved me so many headaches at work the past 2 months. I have been been a single dev working on some new infrastructure as code stacks with TerraforCDK and was having a rough time with dependency management. It simplifies virtual envs, dependencies and packaing. Def worth checking it out!
@mmoreify
@mmoreify 7 ай бұрын
Very useful resource! I would definitely would like a video about Fast API & SQL Model. Thanks for all the great work.
@nazikhuq
@nazikhuq 7 ай бұрын
In devops we use command line reporting and operation commands. Click and Rich packages are really awesome complements to what we do
@mrc1500
@mrc1500 7 ай бұрын
Smashing video. Some of these I have never heard about before and will now take a look. Thanks.
@Captain_Adam
@Captain_Adam 7 ай бұрын
I love Seaborn! I build CLI for data processing from our data warehouse, primarily using PyODBC.
@byryepez
@byryepez 7 ай бұрын
Thanks Arjan ! A full video on SQLModel will be very appreciated..
@tomaskazutoshitaniguchi5180
@tomaskazutoshitaniguchi5180 7 ай бұрын
x2
@ParadiZE3D
@ParadiZE3D 6 ай бұрын
I just found the abseil library for python and so far I really like it. I haven't completely understand all of the build abilities it provides by using bazel, but for building command line Interfaces I like it way more then argparse. You can define arguments as global flags und use or modify them anywhere without having to pass them down accordingly. Found this in a Google Project code and it instantly blew my mind
@davidmerrell5561
@davidmerrell5561 7 ай бұрын
We write software with command line interfaces all the time in scientific computing. I use argparse very often. Was glad to learn about tqdm, it looks very slick
@benjaminbertincourt5259
@benjaminbertincourt5259 7 ай бұрын
We add CLI to almost all of our projects for a couple reasons: 1) it's a quick and easy way to test out what is the proper interface/API to your applications before you invest into a more complex API tooling and 2) our applications are mostly pipelines (orchestrated ML lifecycles), not always-up applications. CLI is just a very robust and controllable entrypoint for that type of applications.
@jace3789
@jace3789 7 ай бұрын
Which PYPI project is this ?
@DanHartwigMusic
@DanHartwigMusic 7 ай бұрын
I build command line interfaces all the time for data science / ETL utility scripts & processes, pulling data from APIs, roll-up aggregate jobs, interacting with cloud services, etc... argparse, tqdm, and pydantic are all super handy.
@AndreaDragotta
@AndreaDragotta 7 ай бұрын
Since I've started to learn rust I found the Result type (railway oriented programming) an incredible programming mindset. The basic idea is that many of the exceptions we throw are not really exceptions, but just different paths that our program can take, so we shouldn't treat them differently. If that idea is well integrated into the language, is very powerful and allows to prevent issues.
@yash1152
@yash1152 7 ай бұрын
8:45 Result
@captainwasabi
@captainwasabi 7 ай бұрын
exception handling is just a GOTO by another name. Handling errors by result is a much better way.
@yash1152
@yash1152 7 ай бұрын
@@captainwasabi zig language for the win.
@Jackovasaur
@Jackovasaur 7 ай бұрын
Learning Rust ATM and I chuckled when Result was discussed, especially with the pattern matching. Should definitely be a language feature in the std library
@isodoublet
@isodoublet 7 ай бұрын
@@captainwasabi So are for loops, so is all of structured programming. Both exceptions and result types have their uses. E.g. operator overloading is utterly unusable without exceptions, might as well not even try. Exceptions are also much more convenient (and performant) when errors happen several nested layers deep. Also, result types are fundamentally unsuited to dynamic languages like python.
@almquistjohan9318
@almquistjohan9318 7 ай бұрын
I write quite a lot of CLI applications, and personally I find the docopt library really neat.
@barbaraulitsky8292
@barbaraulitsky8292 7 ай бұрын
This is super helpful, especially pydantic and icecream. Thank you so much!
@ArjanCodes
@ArjanCodes 7 ай бұрын
Glad it was helpful!
@nralbers
@nralbers 7 ай бұрын
One of my go-to libraries for adding 12-factor structured logging to my code is structlog. Works equally well as a replacement or enhancement of the standard logging library, and extremely flexible and extensible.
@yash1152
@yash1152 7 ай бұрын
what is 12-factor structured logging?
@MichaelONeillIrish
@MichaelONeillIrish 7 ай бұрын
​​@@yash1152pretty sure they just mean "structured logging" (logging all the data in a format like JSON) in a "12 factor app" (which is an architectural pattern for containerized/cloud native applications).
@yash1152
@yash1152 7 ай бұрын
hey @@MichaelONeillIrish ! ohkay, thanks a lot :)
@Jackovasaur
@Jackovasaur 7 ай бұрын
I've recently started using structlog as a drop in for the std log library, and I can't go back. It has the features of rich + loguru in an easy to use interface!
@yash1152
@yash1152 7 ай бұрын
@@Jackovasaur but wount that mean that its not lightweight to run?
@tapir1073
@tapir1073 7 ай бұрын
nice selection! My favorite library is more-itertools, using it literally in any module
@brulsmurf
@brulsmurf 7 ай бұрын
"I scream" (bad) -> "Ice cream" (nice). Debugging becomes nice.
@Fritz0id
@Fritz0id 7 ай бұрын
I had to use polars for one project due to Pandas being too slow. That project was an exception, and i am typically working on datasets where the speed of Pandas is not an issue. However, I still use polars when I can because I find the syntax so pleasant. I think its going to vary a lot between analysts (most’d rather use SQL than either library) but there’s a chance that for you, its best feature is not its speed but its syntax.
@Jackovasaur
@Jackovasaur 7 ай бұрын
Pyspark also has similar syntax to Polars and tbh it's made using pandas a bit frustrating!
@paulussantosociwidjaja4781
@paulussantosociwidjaja4781 7 ай бұрын
Thank you, Arjan for the learning - you are so informative. God bless!
@ArjanCodes
@ArjanCodes 7 ай бұрын
Glad it was helpful!
@JorgeEscobarMX
@JorgeEscobarMX 6 ай бұрын
Great list, I'm really interested in the FastAPI and Model DB combo. I'm a backend developer and I was thinking to learn Flask for that, but this seems better.
@michaelholland9050
@michaelholland9050 7 ай бұрын
I use python for command line scripts - -replacing bash scripts. Command line tips are appreciated. Thanks and keep them coming.
@miyu545
@miyu545 7 ай бұрын
Love your vids. So much in-depth valuable info. Wish you would create a course from beginner to mastering python though. Get to work! :)
@quaxBK
@quaxBK 7 ай бұрын
I really like click as an alternative for argparse. Much simpler to use and very powerful! Only downside is that it adds a dependency.
@solknar7819
@solknar7819 7 ай бұрын
And even better than click: typer (based on click), developed by the same person as FastAPI and SQLModel :)
@ArjanCodes
@ArjanCodes 7 ай бұрын
Thanks for the suggestion!
@TanayPrabhuDesai
@TanayPrabhuDesai 7 ай бұрын
@@ArjanCodes Even better than Argparse and Click is Typer give that a try. Of course it's a layer on top of Click. Typer is made by the same person who made FastAPI.
@FransjeFranchise
@FransjeFranchise 7 ай бұрын
Click is cool but Typer is also great. Fastapi, SQLModel and Typer are all made by the same author: @tiangolo (Sebastián Ramírez). He's a wizard with leveraging type annotations for a great developer experience!
@bpetrikovics
@bpetrikovics 7 ай бұрын
In my experience click makes the code slightly less readable and more confusing. I feel argparse more pythonic.
@MichaelONeillIrish
@MichaelONeillIrish 7 ай бұрын
I write CLIs all the time. I generally design everything like a library so it would be easy to attach any frontend to it, but CLIs are easy to crank out with libraries like Typer. At work, I write a lot of custom tooling for things like: managing/requesting TLS certificates, DNS management for customer domains, and other oft-repeated day to day tasks. At home, I wrote an application to automate organizing my media collections (with remote metadata retrieval). I'm usually in the terminal,and automating GUIs is a pain, so I almost exclusively write CLIs for my libraries and leave the GUI or web service frontend for others to implement.
@teodorlamort3864
@teodorlamort3864 7 ай бұрын
Fire is super convenient for simple CLIs!
@vitorbuxbaumorlandi6442
@vitorbuxbaumorlandi6442 7 ай бұрын
I love Typer! Another great library from tiangolo
@JohnJohnson-dl8oq
@JohnJohnson-dl8oq 6 ай бұрын
You, sir, are a new tag in my pinboard. So happy to have found your content, and am looking into your course.
@ArjanCodes
@ArjanCodes 6 ай бұрын
Thank you for your kindness, John! Welcome aboard!
@paulodetarso6252
@paulodetarso6252 7 ай бұрын
Thank you, very useful information for me. I use the terminal almost always, as a Linux user, I create an alias for the software I did and it's enough for me. But I must say I m over 60s and I just study and work with Python for my own fun, also I m very used to 80/90's terminal environment, so it's way better for me than using a laggy GUI.
@tylernardone3788
@tylernardone3788 7 ай бұрын
Just discovered tqdm and used it in a recent project. Super simple!
@dgholstein
@dgholstein 7 ай бұрын
Yes, you betcha I use the command line! Specifically, I have dozens of users who use my Makefiles to git/smbclient/git-select/xmllint/Bamboo configure/setup/deploy our developer environments. The Makefile figures out the host OS and installs OS dependencies using one of yum/apt/yast. It'll also use the pipenv files and specific Python selection to create bash shell launcher scripts. I'm particularly interested in rich-cli which give me a nice interface to either prompt a user for a branch or supply them documentation.
@diogoje20
@diogoje20 7 ай бұрын
If you're contemplating creating a follow-up video, I highly recommend including a section on the Typed Argument Parser library. I've recently switched to using it instead of argparse, as it offers a more modern and type-safe alternative to Python's argparse library.
@virolana
@virolana 6 ай бұрын
I'd be curious about that too. I have also heard click is great for creating command line apps. I have used it to deal with user prompt inputs and it made a complicated while loop much easier to read and user friendly in just a few lines.
@HavardSlettvold
@HavardSlettvold 6 ай бұрын
First thing I thought of when I heard argparse was TAP! It's such a simplification over argparse, and also allows scripts meant for CLI to be more easily tested and/or used from code, since you can construct the arguments very easily. I've also seen it used alongside click, but I have less experience with that.
@GunZFoX
@GunZFoX 7 ай бұрын
If you do any calculations that requires units I will always recommend 'units' from 'astropy'. You can basically transform any unit to any unit (like nanometers to feets, if you need that for some reason) in an easy way. Pretty useful in equations where you are not sure if you have converted the units properly as well
@michaelcorvin1129
@michaelcorvin1129 5 ай бұрын
FYI, 'pint' is a neat, standalone alternative to 'units' from the excellent 'astropy'. In a bit of testing I found 'unit' somewhat faster BUT either will add considerable overhead when doing computations using quantities with units. I slightly prefer 'pint' in usage. In any case, I recommend one use quantities for I/O function to validate inputs and to provide quantities with units as output, for doing dimensional analyses and validation through the compute chain during development and testing, but to only pass values from input quantities into production computations and then add units back to the outputs. The cool thing is that the computational chain (if implemented with the right abstractions!) should run either quantities or values without any changes.
@howardjones543
@howardjones543 5 ай бұрын
Click is a nice alternative to argparse with less up-front configuration. (around 50% of the python code I write is command-line, one way or another, to answer your question - either backend services or actual CLI tools) pydantic's settings classes are really nice for 12factor-style config from environment too, with all the type-checking and validation from Pydantic (e.g. this parameter must be a valid URL or JWT token)
@filip0112
@filip0112 2 ай бұрын
5:50 I typically build tools with dynamic menus that can show/hide options depending on circumstances. tqdm is one of libraries to show file transfer. For example I built file manager for my photography work that can automatically batch process newest photos into jpgs, save cropped frames and things like that. As for the logging I use my own function to print and write to file with preset formatting. Sometimes I make CSVs out of this so custom method helps. For me it’s more abaut information gathering than pretty colors in console
@anthonyhawkes4101
@anthonyhawkes4101 7 ай бұрын
Awesome libs - if only this popped up for me a few weeks ago, would have been useful for my current project lol.
@francoisschoeman5350
@francoisschoeman5350 7 ай бұрын
Thanks for the informative video... A video on SQLModel would be nice! What about a video about integrating between a REST API and a SOAP API using Zeep (Getting the data from both APIs, manipulating and comparing the data between the two to check if you should make a post, update or delete request to the REST API)? I think it should be interesting... It can probably just be 2 REST APIs as well...
@whu.9163
@whu.9163 7 ай бұрын
For sure, because SQLModel has not finished docs yet and also it is not clear if this tool is production-ready like fastapi or pydantic
@j4g094
@j4g094 5 ай бұрын
I write CLIs mainly to fill gaps in automation. Cronjobs, Deployment or Backup scripts etc. I usually write as a CLI, rather then a simple script. This means more work upfront, but is usually worth it once someone needs to execute it manually for the first time, and someone always will. I usually use click in combination with rich, so thanks for this list of libraries. I will check out argparse for smaller CLIs, since it will reduce the overhead, especially in regards to deploying the app.
@diegol_116
@diegol_116 7 ай бұрын
Excellent video! I will definitely include some in my stack. I would like you to make a Sqlmodel video, I think it is an interesting option to consider
@ArjanCodes
@ArjanCodes 7 ай бұрын
Thanks for the idea!
@Destinationpak
@Destinationpak 7 ай бұрын
Amazing, super helpful !!! thank you for sharing.
@ArjanCodes
@ArjanCodes 7 ай бұрын
You’re welcome!
@mohamadrezamohamadi8393
@mohamadrezamohamadi8393 7 ай бұрын
Thanks Arjan ,creating a complete video about SQLModel and FastAPI will be help full 💯
@MrKooops
@MrKooops Ай бұрын
in almost all of my projects: ic, pendulum, loguru, python-dotenv, rich. But i also learned some new ones! :)
@the-shadow-brokers
@the-shadow-brokers 7 ай бұрын
Awesome collection. Please create a complete video about SQL Model + FastAPI . Thanks
@loudasaro4358
@loudasaro4358 7 ай бұрын
💯
@evgenymaksimov
@evgenymaksimov 7 ай бұрын
I have a long video on sql model + fastapi on my channel, feel free to check it out
@MathieuBosi
@MathieuBosi 7 ай бұрын
typer and pydantic-argparse are my favorite CLI parameters libraries 👌
@crumpuppet
@crumpuppet 5 ай бұрын
Yes, I do regularly create commandline python apps, and I use argparse and rich :) The apps are all used exclusively in house in our company, and they are mostly wrappers for internal APIs.
@Hacker-at-Large
@Hacker-at-Large 7 ай бұрын
I scream, you scream, we all scream for ice cream.
@yash1152
@yash1152 7 ай бұрын
2:13 only ur comment makes it obviuos why the name is icecream. its literally a take on "i scream". scream debugging lol.
@yash1152
@yash1152 7 ай бұрын
3:04 if not constrained by python version, then these 2 can be accomplished by new f-string syntax: print(f"{foo(123): }")
@yash1152
@yash1152 7 ай бұрын
but yeah, still, ic(foo(123)) is still shorter, and (hopefully) supports older python versions too.
@timoijas7496
@timoijas7496 7 ай бұрын
For example in pycharm you can create a live template for shortcutting. For example I made one where if I type log and press tab, it turns into print(f'|=') where the cursor will be at the | symbol. Literally makes the library obsolete reducing dependencies.
@JamesCairney
@JamesCairney 5 ай бұрын
It only makes sense as a name if you've heard the "I scream" rhyme. If you haven't its just a random dairy product.
@markzuckerbread1865
@markzuckerbread1865 7 ай бұрын
Result looks very interesting to me, coming from the functional programming world, I could really use a Result monad!
@haxwithaxe
@haxwithaxe 7 ай бұрын
I make mostly command line tools. I like to use typer for argument parsing when it doesn't conflict with my requirements otherwise I use argparse. I'm surprised typer wasn't on your list.
@matthewbell5282
@matthewbell5282 Ай бұрын
Python's built ins now handle datetimes with timezones really elegantly with the default Datetime and ZoneInfo modules. Might be worth doing a video on those, a lot of people don't realize ZoneInfo is in the standard library.
@CeccoPierangioliEuge
@CeccoPierangioliEuge 2 ай бұрын
Wow, very helpful, thanks. About CLI I like to play with pyTermTk.
@eitelify
@eitelify 7 ай бұрын
Honestly happy to see Loguru on this list. Came across it like 2 years ago and much prefer it's simplicity over Pythons built-in logger WHILE still being able to combine both loggers AND maintain complexity as you need it. Brilliant package IMO. 🎉
@tesnimhadhri4960
@tesnimhadhri4960 7 ай бұрын
First thank you for sharing your knowledge, a video that includes both SQLmodel and FastAPI would be amazing!
@Diapolo10
@Diapolo10 6 ай бұрын
I might as well also mention Maturin, which makes working with mixed Python/Rust codebases a breeze. I'm currently working on a general-use project template for such projects using it.
@digiryde
@digiryde 7 ай бұрын
@ArjanCodes - I think that it would be very interesting to learn what you experience in other developers as far as weaknesses go. It is likely that a weakness you repeatedly experience is prevalent in other coders as well. Knowing these weaknesses would help other developers potentially learn from you and avoid the same issues.
@DominikZalewski85
@DominikZalewski85 7 ай бұрын
Only just discovered your channel. Great content keep it up!
@ArjanCodes
@ArjanCodes 7 ай бұрын
Welcome aboard, Dominik! Glad to have you here.
@tordjarv3802
@tordjarv3802 7 ай бұрын
I have never heard that monadic exception handling is called railway oriented programming in some languages, thank you for enlightening me.
@codestack6118
@codestack6118 7 ай бұрын
Thank you for your effort... I knew some of them but most of libs are new for me... And I wish you had time for another list of libraries that (groupby("use_area") ... For example financial data analysis or quantum physics etc. Thank you again...
@bebopkim
@bebopkim 6 ай бұрын
KZbin algorithm brought me here, and I found very some useful and interesting libraries unknown to me. Your video is really informative. Thank you!
@ArjanCodes
@ArjanCodes 6 ай бұрын
Thank you for watching! I'm glad it was helpful.
@davecreelman
@davecreelman 7 ай бұрын
Very useful. Thanks for this. Ditto on liking a separate video on SQModel.😀
@papa5101
@papa5101 7 ай бұрын
- loguru can deal with multi-threading/processing. I love it at the first sight
@rantalbott6963
@rantalbott6963 7 ай бұрын
Thanks, Arjan! This sort of "speed dating" video is usually lame,but you did the extra work of putting in the index and the links, so it's very useful. I would suggest one improvement, though: add a one-line description (just a phrase, like "Does error logging and adds debugging capabilities') to the libraries, because the names often don't give even a tiny clue as to what they're about. You asked about using CLI. I go back to the days of punched cards, and spent a lot of my career doing embedded systems, so CLI is my "native environment". For me, GUIs are what you use to make your CLI results look pretty ;-) When I took my first run at learning Python several years ago, I tried argparse, but found it confusing because it required a fair amount of understanding of Python,especially what you can do with various data types. I'm sure I'd see it differently now, especially if I were writing code for others. But I have decades of experience with getopt, both as a user and a programmer, so I use it in Python, too.
@maazzi17
@maazzi17 7 ай бұрын
Hi Arjan. This video was really cool 👍 I'm happy I know quite a lot of those libraries 😀 Great you mentioned SQLmodel. I'm starting new project with FastAPI and I want to use it, so I can't wait for video about SQLmodel. One thing based on my experience I want to share with you. Argparse? Noo 😅 you should definitely try alternatives like click (from flask author) or typer (from fast API author). This is like comparing datetime to pendulum 😅
@aek64
@aek64 7 ай бұрын
I really like you to dive into SQLModel and combine it with a easy way to present the underlying data in some sort of templating solution. Thank you!
@PhilipJoss
@PhilipJoss 7 ай бұрын
Contrasting it with SQLAlchemy would be great too!
@hipertracker
@hipertracker 7 ай бұрын
It's not stable and documentation is not great. What about Tortoise ORM or Piccolo ORM?
@MikeOnlineable
@MikeOnlineable 5 ай бұрын
Me too, is this similar tooling that is used by low code platforms to generate the database backend?
@klimchernov9877
@klimchernov9877 5 ай бұрын
Thank you for revealing Pendulum. It helps me in my work.
@ArjanCodes
@ArjanCodes 5 ай бұрын
I'm happy to hear it was helpful!
@comedyclub333
@comedyclub333 7 ай бұрын
I use click on a regular basis. For me it's the best argument parsing library when it comes to big CLI tools.
@danilkister1650
@danilkister1650 7 ай бұрын
"Ice cream" refers to SoftICE debugger, one of the most popular DOS/Windows debugging tools of that era.
@chandanduttachowdhury8969
@chandanduttachowdhury8969 7 ай бұрын
Thank you, very useful information.
@pcsalon6591
@pcsalon6591 7 ай бұрын
Thx for your videos! I would love a video about SQLModel!! Seb.
@AndrewAkaHrun
@AndrewAkaHrun 6 ай бұрын
Very nice selection, many new to me. I actually stopped using argparse a while ago and prefer Fire instead.
@gonecoastaltoo
@gonecoastaltoo 7 ай бұрын
invoke is my go-to for building CLI tools. Hierarchical configs, zero argument parsing (!!), command chaining, self-documenting. Its so simple I build a little CLI for every project as executable documentation for processes, tasks, etc. Can't understand why invoke is not in every Python developer's toolbox. And fabric adds ssh on top so you can run invoke tasks on remote hosts. Maybe if Arjan did a video on invoke and fabric more people could enjoy the awesome.
@israrhussainrao8022
@israrhussainrao8022 7 ай бұрын
Hey man absolutely grate to learn from your videos thanks alot really, can you please suggest a usable stable supportive django library for work flow.
@davorbokun
@davorbokun 7 ай бұрын
Great list, thank you Arjan! It would be great to see comparison of SQL Model and Django ORM though.
@hobe4576
@hobe4576 7 ай бұрын
...and sqlalchemy
@jeffgruenbaum
@jeffgruenbaum 7 ай бұрын
These aren’t really comparable since Django ORM can’t be used outside of Django
@hobe4576
@hobe4576 7 ай бұрын
@@jeffgruenbaum Hey, where is the spoiler alert - this is difference one! :)
@davorbokun
@davorbokun 7 ай бұрын
@@jeffgruenbaum I'm not sure what you mean by outside of Django? It can be used without using a web server and you can access and manage your db through Django ORM in your own scripts and applications.
@papernyd
@papernyd 7 ай бұрын
I'm building CLI for the application initial setup. In addition to that, as You know, FastAPI has no built-in shell like the Django has, so I add my own commands with poetry + FastAPI + click.
@ciscodea
@ciscodea 7 ай бұрын
Very great list, this is the best channel to follow if you want to become a better python developer.
@ArjanCodes
@ArjanCodes 7 ай бұрын
Thank you!
@jon9103
@jon9103 7 ай бұрын
Ice cream is likely a pun, or rather two of them: 1. Ice cream sounds like "I scream" which hints that it's a logger, though a bit louder. 2. It's abbreviation, ic is pronounced "i see" as in, ic(foo(bar)) "I see foo bar"
@marekjkos
@marekjkos 6 ай бұрын
Excellent overview of libraries. This video has the batteries included.
@ArjanCodes
@ArjanCodes 6 ай бұрын
Thank you for the kind words, haha! Glad you enjoyed the video :)
@dakshbhatnagar
@dakshbhatnagar Ай бұрын
I am a data science practitioner and Polars, FastAPI is for sure great. Great list!
@alexanderzikal7244
@alexanderzikal7244 3 ай бұрын
Polars is really a good tip and the user manual is written very well!
@YusufTyer
@YusufTyer 7 ай бұрын
Some really cool packages in here that I've never heard of! Please do a video on SQLModel and how to do normal SQL operations such as groupby and aggregations. I tried using this in my code but I found it a lot slower than using Sqlalchemy. But I may have done it wrong. A video would really be amazing!
@adamcetinkent
@adamcetinkent 7 ай бұрын
How does it compare to SQLAlchemy?
@Epic-Poetry
@Epic-Poetry 6 ай бұрын
A comparison between SQLAlchemy and SQLmodel would be great
@Joecoolio222
@Joecoolio222 7 ай бұрын
Interested in SQLModel video and how it compares to SQLAlchemy.
@drnesr
@drnesr 7 ай бұрын
Thanks for compiling this list of 15 useful Python libraries! It would have been even more beneficial if you could have included some examples of how each library can be used. That would help beginners and even experienced developers grasp their functionality more effectively. Nonetheless, I appreciate the effort you put into the video. Keep up the good work! 👍
@DrunkinMastaRay
@DrunkinMastaRay 4 ай бұрын
I regularly create cli applications for handling batch changes in cloud applications. It is just easier/faster to use the cli than to point and click through multiple pages on a UI to manipulate ymal files and things of such. My cli module of choice these days are Typer.
@KodexAnt
@KodexAnt 7 ай бұрын
Yes, I'd like a video about SQLModel 🙂
@swannie1503
@swannie1503 7 ай бұрын
I use arg parse or py cli tools to dovetail my py modules / SDK into the build and containerization pipelines.
@RonaldPostelmans
@RonaldPostelmans 7 ай бұрын
Hoi Arjan, mooie video, het zou inderdaad leuk zijn om een keer een video te zien over het gebruik van SQLmodel met Fast api. Je hebt het in een andere video over dataclasses gehad, is dat niet een beetje hetzelfde?
@trykozmaksym
@trykozmaksym 5 ай бұрын
Sweet - picked up a few from the list for myself.
@ArjanCodes
@ArjanCodes 5 ай бұрын
Glad to hear it was helpful!
@MrJgracias
@MrJgracias 7 ай бұрын
Really enjoyed the video. And really enjoy python programming!
@ArjanCodes
@ArjanCodes 7 ай бұрын
Glad you enjoyed it!
@AbhinavKumar-mm1ys
@AbhinavKumar-mm1ys 7 ай бұрын
Thanks for this informative video, qq what do you think about Dash python Library?
@Antebios
@Antebios 7 ай бұрын
Python command-line programs is great when working with docker containers, and when working with containers that process jobs and need input parameters.
@scottmiller2591
@scottmiller2591 7 ай бұрын
tqdm is great - any iterable object can show its progress. I use it during scraping.
@moverecursus1337
@moverecursus1337 7 ай бұрын
Yes, would be great a video about SQLModel
@HugoPerrier
@HugoPerrier 7 ай бұрын
Thanks ! I suggest factory-boy to generate test cases :)
@salec7592
@salec7592 7 ай бұрын
icecream may be a word play on ICE - In Circuit Emulator, a design tool from the past (nowadays In Circuit Debuggers are the norm, because transparent hardware emulation of a fast chip is hard or impossible) for embedded systems development. ICE's were expensive, a luxury way to develop and debug.
@peterhartog1947
@peterhartog1947 7 ай бұрын
Hydra is an amazing alternative to argparse that allows you to separate the arguments to yaml files
@Jackovasaur
@Jackovasaur 7 ай бұрын
I've been using configargparse which kinda does the same, will check out hydra
@muhammadumarsotvoldiev9555
@muhammadumarsotvoldiev9555 7 ай бұрын
Thank you for your work
@ArjanCodes
@ArjanCodes 7 ай бұрын
You are very welcome :)
All Top 40 Python Libraries EXPLAINED in 20 minutes
22:04
PLEASE Use These 5 Python Decorators
20:12
Tech With Tim
Рет қаралды 80 М.
КАРМАНЧИК 2 СЕЗОН 4 СЕРИЯ
24:05
Inter Production
Рет қаралды 576 М.
NO NO NO YES! (40 MLN SUBSCRIBERS CHALLENGE!) #shorts
00:27
PANDA BOI
Рет қаралды 106 МЛН
5 Signs of an Inexperienced Self-Taught Developer (and how to fix)
8:40
Pydantic Tutorial • Solving Python's Biggest Problem
11:07
pixegami
Рет қаралды 227 М.
What is self in Python?
3:29
Python Morsels
Рет қаралды 21 М.
Python's 5 Worst Features
19:44
Indently
Рет қаралды 42 М.
7 Python Code Smells: Olfactory Offenses To Avoid At All Costs
22:10
5 Uncommon Python Features I Love
15:09
Indently
Рет қаралды 114 М.
Python dataclasses will save you HOURS, also featuring attrs
8:50
Programming Is NOT Enough | Add these 7 skills…
13:19
Travis Media
Рет қаралды 407 М.
25 nooby Python habits you need to ditch
9:12
mCoding
Рет қаралды 1,7 МЛН
Convert GUI App to Real Program -  Python to exe to setup wizard
23:27
Python Simplified
Рет қаралды 448 М.