Third Party Libraries

Python has so many third-party libraries.

Students often ask me “how do I do INSERT THING HERE with Python?”

This page is my attempt to address these common inquiries.

Working with Excel Files

I would recommend trying openpyxl or using pandas.

Also see the specific formats processing section of the Python awesome list.

Check out https://www.python-excel.org as well.

Plotting / Charting

  • matplotlib: create charts as images

  • seaborn: higher-level wrapper around matplotlib

  • plotly: another library for interactive graphs and charts

  • bokeh: interactive charts in the browser, with dashboard abilities (comparison to plotly)

  • altair: a bit more advanced than seaborn, but maybe not quite as simple

  • And so many more…

Want to see an example of using matplotlib?

See monthly_usage.py and the usage-apr-sep-2025.csv CSV file it can run against. Or see monthly_usage_with_pandas.py for an even shorter version that uses pandas.

Graphical User Interfaces

For a native look on each platform, check out:

For an interface that doesn’t look native but looks the same on every platform, try:

You may also want to take a look at out:

Also see the GUI development section of the Python awesome list.

Web Scraping

For manipulating HTML, see BeautifulSoup & other Python awesome list recommendations.

For web crawling/scraping, see scrapy and other Python awesome list recommendations

For controlling a full-fledged web browser, you could use Selenium or Playwright. For examples, see this playwright script or this selenium script which both open up the class website, enter the password, and scrape the resources from each page of the site.

Working with Databases

You will need to use a low-level database driver that’s meant for your database. See the database drivers section of the Python awesome list for those.

If you would also like a user-friendly high-level interface, often called ORMs (object-relation mappers), see the ORM section of the Python awesome list.

My favorite ORMs are:

  • Django: if you’re making a web application

  • SQLAlchemy: it’s popular and powerful and works great for web frameworks as well

  • peewee: it’s Django-like and very portable

  • SQLModel: higher-level than SQLAlchemy

Creating Web Applications

For traditional web applications:

  • Django: a “batteries included” web framework

  • Flask: a micro-framework (some assembly required)

For making an API, look into:

Creating Installable Python Libraries

To create an installable Python package, see the Python Packaging Authority’s tutorial on Packaging Python Projects and guide on Building and Publishing.

Creating Standalone Apps

Want to create a standalone application for your coworkers who do not have Python installed?

You can use briefcase for that.

Alternatively, if you are comfortable installing Rust, you could try the less well-known pyapp.

Working with PDF Files

For working with PDF files, consider looking into:

Image Processing

Pillow is the tool to reach for in most cases. It’s been around for many years so StackOverflow and LLMs should be pretty good at answering your questions around how to do what you need to do

Also see the image processing section in the Python awesome list.

Creating ML Models

See: