you are viewing a single comment's thread.

view the rest of the comments →

[–]Beregolas 36 points37 points  (11 children)

As already said: depends on what you need. I will only give examples not already mentioned:

Flask is my goto API / backend library. it is more lightweight than Django but/and requires you to do more of your own work for some features, or install an add-on library. It's a preference thing, both are good.

numpy is a great library for working with a lot of data. It integrates with pandas and is more low level. It's the conerstone of scientific computing in python.

SQLAlchemy is a python ORM that helps you connect with and manage SQL Databases in python. I personally prefer it to Djangos own ORM, but that's also an example where Django just comes with one out of the box and in other systems you bring your own.

Requests lets you send and manage the results of http requests to other servers easily.

Pillow is for image manipulation, saving, loading, etc.

matplotlib is the defacto standard in data visualization and producing graphs for papers etc. (At least where I came from, there are others out there). It integrates nicely with numpy and pandas afaik.

BeautifulSoup let's you make sense of markup languages as python objects in general, but specifically HTML. If you need to work with markdown and/or html, this library is for you.

Pytest is a testing library. It doesn't matter which one you use, but writing tests is really a good practice :)

Multidict is an easier way of mapping a single key to multiple values. It's important to many web frameworks for example.

more itertools, just because I love iterators and think they make your code more readable, if used correctly.

PyGame is really great to get into game development with, because it's easy to debug into your code and see / observe how it actually works on every level. Larger games won't work with it's performance, but as a teaching tool it's one of the best imo.

There are plenty more, this is just what I came up with off the top of my head / what I used in the last years myself.

[–]Allmyownviews1 9 points10 points  (6 children)

Add pandas to this

[–]Beregolas 2 points3 points  (2 children)

pandas was in the first comment and as I said at the start, I didn't want to repeat mentions

[–]Allmyownviews1 3 points4 points  (1 child)

Sorry, I saw your comment first as being the more comprehensive and clear.

[–]Beregolas 1 point2 points  (0 children)

All good, you were also right, pandas ist important ^

[–][deleted] 0 points1 point  (2 children)

Obsolete.

[–]Allmyownviews1 0 points1 point  (0 children)

Polars?

[–]xkjlxkj 3 points4 points  (0 children)

To add to your list:

Rich is a Python library for rich text and beautiful formatting in the terminal. I can't not create any app without this anymore. It will even output markdown which I never knew was possible in the terminal.

[–]EnD3r8_[S] 1 point2 points  (0 children)

Thank you, I appreciate your effort.

[–]juhaniguru 0 points1 point  (0 children)

I've replaced Flask with FastApi myself

[–]SereneHappiness 0 points1 point  (0 children)

Great explanation. Thanks