I am a proficient Python coder whose learning has plateaued. Any really useful libraries I should look into learning? Taking recommendations.

This page summarizes the projects mentioned and recommended in the original post on /r/learnpython

Our great sponsors
  • WorkOS - The modern identity platform for B2B SaaS
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • SaaSHub - Software Alternatives and Reviews
  • filprofiler

    A Python memory profiler for data processing and scientific computing applications

  • And if you work with a lot of data (which I understood you do), you can even profile the memory you use to optimize it if needed. There is a great tool for this : https://github.com/pythonspeed/filprofiler

  • black

    The uncompromising Python code formatter

  • For cleaner coding, you might want to use a linter such as black (https://github.com/psf/black) or whatever floats your boat. I would argue, using git and continuous integration for unit testing and checking your code style with black helps as well. Once you have unit tests you have to pass for an upload or merge, you start to think about breaking up your code in small enough chunks that are easy to understand and test.

  • WorkOS

    The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.

    WorkOS logo
  • panel

    Panel: The powerful data exploration & web app framework for Python (by holoviz)

  • Not really for cleaner code, but for fast and interactive searching through your data: holoviews or hvplot for plotting stuff using matlotlib or bokeh as backend + panel (https://panel.holoviz.org/) + jupyterlab (or jupyterHub, I guess) This way you can use your browser and create widgets in Python to search through your data.

  • nimpy

    Nim - Python bridge

  • And for funsies, extend python at the speed of C without using C with Nim and nimpy

  • Nim

    Nim is a statically typed compiled systems programming language. It combines successful concepts from mature languages like Python, Ada and Modula. Its design focuses on efficiency, expressiveness, and elegance (in that order of priority).

  • And for funsies, extend python at the speed of C without using C with Nim and nimpy

  • awesome-python

    An opinionated list of awesome Python frameworks, libraries, software and resources.

  • I suggest looking at this and this github links which group many of the most used/useful python libraries by their category of use.

  • best-of-python

    🏆 A ranked list of awesome Python open-source libraries and tools. Updated weekly.

  • I suggest looking at this and this github links which group many of the most used/useful python libraries by their category of use.

  • InfluxDB

    Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.

    InfluxDB logo
  • algorithms

    Minimal examples of data structures and algorithms in Python

  • Here are some that might answer your question: - algorithms is a library which contains many of the most useful algorithms for sorting, searching, working with trees, math algorithms like factorials, prime finders and many more - data classes to save you the trouble of writing everytime special methods in a class like init, repr, set, get - box allows the use of dot on dictionaries to access the keys - more-itertools for more routines to operate on iterables than those itertools provide.

  • Box

    Python dictionaries with advanced dot notation access

  • Here are some that might answer your question: - algorithms is a library which contains many of the most useful algorithms for sorting, searching, working with trees, math algorithms like factorials, prime finders and many more - data classes to save you the trouble of writing everytime special methods in a class like init, repr, set, get - box allows the use of dot on dictionaries to access the keys - more-itertools for more routines to operate on iterables than those itertools provide.

  • more-itertools

    More routines for operating on iterables, beyond itertools

  • Here are some that might answer your question: - algorithms is a library which contains many of the most useful algorithms for sorting, searching, working with trees, math algorithms like factorials, prime finders and many more - data classes to save you the trouble of writing everytime special methods in a class like init, repr, set, get - box allows the use of dot on dictionaries to access the keys - more-itertools for more routines to operate on iterables than those itertools provide.

  • tqdm

    :zap: A Fast, Extensible Progress Bar for Python and CLI

  • And here are some libraries that might pique your interest although they don't strictly answer your question: - tqdm for adding a progress bar on for loops (it comes with useful information like iteration per second and estimated time needed to finish) - alive_progress adds a progress bar like tqdm, but it works even with generators and while loops which I don't think tqdm does. -timebudget, with just a decorator as soon as a function is completed it prints the time taken to execute it - send2trash for sending files to the trash bin instead of permanently deleting them - keyboard for sending keyboard inputs or check if a key is pressed - mouse same as keyboard but with mouse buttons - textract for extracting text from many types of file with a single interface. It supports documents, powerpoint presentations, csv, excels, images, gifs, audio, and many more

  • alive-progress

    A new kind of Progress Bar, with real-time throughput, ETA, and very cool animations!

  • And here are some libraries that might pique your interest although they don't strictly answer your question: - tqdm for adding a progress bar on for loops (it comes with useful information like iteration per second and estimated time needed to finish) - alive_progress adds a progress bar like tqdm, but it works even with generators and while loops which I don't think tqdm does. -timebudget, with just a decorator as soon as a function is completed it prints the time taken to execute it - send2trash for sending files to the trash bin instead of permanently deleting them - keyboard for sending keyboard inputs or check if a key is pressed - mouse same as keyboard but with mouse buttons - textract for extracting text from many types of file with a single interface. It supports documents, powerpoint presentations, csv, excels, images, gifs, audio, and many more

  • timebudget

    Stupidly-simple speed measurements for Python.

  • And here are some libraries that might pique your interest although they don't strictly answer your question: - tqdm for adding a progress bar on for loops (it comes with useful information like iteration per second and estimated time needed to finish) - alive_progress adds a progress bar like tqdm, but it works even with generators and while loops which I don't think tqdm does. -timebudget, with just a decorator as soon as a function is completed it prints the time taken to execute it - send2trash for sending files to the trash bin instead of permanently deleting them - keyboard for sending keyboard inputs or check if a key is pressed - mouse same as keyboard but with mouse buttons - textract for extracting text from many types of file with a single interface. It supports documents, powerpoint presentations, csv, excels, images, gifs, audio, and many more

  • send2trash

    Python library to natively send files to Trash (or Recycle bin) on all platforms.

  • And here are some libraries that might pique your interest although they don't strictly answer your question: - tqdm for adding a progress bar on for loops (it comes with useful information like iteration per second and estimated time needed to finish) - alive_progress adds a progress bar like tqdm, but it works even with generators and while loops which I don't think tqdm does. -timebudget, with just a decorator as soon as a function is completed it prints the time taken to execute it - send2trash for sending files to the trash bin instead of permanently deleting them - keyboard for sending keyboard inputs or check if a key is pressed - mouse same as keyboard but with mouse buttons - textract for extracting text from many types of file with a single interface. It supports documents, powerpoint presentations, csv, excels, images, gifs, audio, and many more

  • keyboard

    Hook and simulate global keyboard events on Windows and Linux.

  • And here are some libraries that might pique your interest although they don't strictly answer your question: - tqdm for adding a progress bar on for loops (it comes with useful information like iteration per second and estimated time needed to finish) - alive_progress adds a progress bar like tqdm, but it works even with generators and while loops which I don't think tqdm does. -timebudget, with just a decorator as soon as a function is completed it prints the time taken to execute it - send2trash for sending files to the trash bin instead of permanently deleting them - keyboard for sending keyboard inputs or check if a key is pressed - mouse same as keyboard but with mouse buttons - textract for extracting text from many types of file with a single interface. It supports documents, powerpoint presentations, csv, excels, images, gifs, audio, and many more

  • mouse

    Hook and simulate global mouse events in pure Python

  • And here are some libraries that might pique your interest although they don't strictly answer your question: - tqdm for adding a progress bar on for loops (it comes with useful information like iteration per second and estimated time needed to finish) - alive_progress adds a progress bar like tqdm, but it works even with generators and while loops which I don't think tqdm does. -timebudget, with just a decorator as soon as a function is completed it prints the time taken to execute it - send2trash for sending files to the trash bin instead of permanently deleting them - keyboard for sending keyboard inputs or check if a key is pressed - mouse same as keyboard but with mouse buttons - textract for extracting text from many types of file with a single interface. It supports documents, powerpoint presentations, csv, excels, images, gifs, audio, and many more

  • textract

    extract text from any document. no muss. no fuss.

  • And here are some libraries that might pique your interest although they don't strictly answer your question: - tqdm for adding a progress bar on for loops (it comes with useful information like iteration per second and estimated time needed to finish) - alive_progress adds a progress bar like tqdm, but it works even with generators and while loops which I don't think tqdm does. -timebudget, with just a decorator as soon as a function is completed it prints the time taken to execute it - send2trash for sending files to the trash bin instead of permanently deleting them - keyboard for sending keyboard inputs or check if a key is pressed - mouse same as keyboard but with mouse buttons - textract for extracting text from many types of file with a single interface. It supports documents, powerpoint presentations, csv, excels, images, gifs, audio, and many more

  • SaaSHub

    SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives

    SaaSHub logo
NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts