DEV Community

Cover image for A Collection Of Python Programming Resources For Beginners
Prahlad Yeri
Prahlad Yeri

Posted on • Updated on

A Collection Of Python Programming Resources For Beginners

(Originally published on https://github.com/prahladyeri/CuratedLists/)

Python Programming Resources

Official docs and other resources

Libraries

Database Connectivity

Scientific/Statistical

  • scipy - Important python package for mathematicians and statisticians.
  • numpy - A package for scientific computing.
  • matplotlib - A 2d plotting library.
  • pandas - High performance Data Analysis library for Python.
  • nltk - Widely used Python library in the field of Natural Language Processing.

Machine Learning

  • gpt-2 - Neuralnet/AI library, Code from the paper "Language Models are Unsupervised Multitask Learners".
  • scikit-learn - A free software machine learning library for the Python programming language.
  • tensorflow - A free and open-source software library for dataflow and differentiable programming across a range of tasks.

Networking/Scraping

  • requests - A popular library for handling HTTP requests.
  • Twisted - An event driven networking engine written in python. Twisted is to python what System.Net is to C# or java.net package is to Java.
  • Mechanize - A fully-fledged web-scraping framework written in Python.

Spreadsheets/Documents

  • openpyxl - A pure python library to export/import data in Microsoft Excel format.
  • xlrd - A pure python library to read Microsoft Excel 97 (*.xls) format workbooks.
  • python-docx - Python library to write to work with Microsoft Word Documents.
  • markdown - Python library to work with markdown format.
  • Pandoc - Wonderful tool to convert document from one format to another, supports markdown, reST, doc, docx, pdf and a number of other formats.
  • BeautifulSoup - A mind-blowing XML parsing library that is widely used in web-scraping scripts and applications in python.
  • lxml - Library to process xml/html with python.

Build and DevOps

  • Twine - Utility for interacting with PyPi packaging system.
  • PyTest - Perhaps the De-facto testing module in python world.
  • sphinx - The standard documentation tool for python.

Others

  • Pelican - A static site generator that supports markdown and reST syntax. Written in python.
  • pygments - A syntax highlighting package written in Python.
  • pygame - A popular python gaming library.
  • panda3d - Python graphics library.
  • pyglet - Python graphics library.
  • Kivy - A modern GUI toolkit for building apps, works seamlessly on Linux, Android, Windows and Mac.
  • PySide - Alternative GUI toolkit in Python, the open source version of PyQt which is commercial.
  • PySimpleGUI - Another GUI toolkit similar to PyQT and tkinter.
  • Tweepy - Library to access tweets using the twitter api.
  • pytz - Library to work with time-zones.
  • tqdm - Instantly make your loops show a smart progress meter.

Web-Frameworks

  • Django - A popular web framework written in Python. Often touted as the web framework for busy journalists with deadlines, Django is very flexible and can be adapted to any web project needs.
  • Flask - A minimalist web framework. While not as popular and stuffed as Django, Flask follows a more lego block approach to development - starting from a minimal core, and keep adding as needed. An excellent framework, nevertheless.
  • Bottle - A single module web framework for Python.

Online tutorials, books, puzzles

Popular Youtube channels

Top comments (9)

Collapse
 
mikethewatchguy profile image
MikeTheWatchGuy

Since this is a list of resources for beginners, I think PySimpleGUI is an excellent choice for GUI frameworks to consider for beginners.

I don't know of many "beginners" that's have less than 9 months to a year of Python that's can pull off a Qt based program of any magnitude. Nor Flask & Django.

PySimpleGUI works on both ends of the difficulty scale, runs on multiple GUIs and has a ton of Documentation, a Cookbook, Demo Programs. In other words, an excellent resource for beginners.

Collapse
 
prahladyeri profile image
Prahlad Yeri • Edited

Thanks, I've added it to the list.

Collapse
 
mikethewatchguy profile image
MikeTheWatchGuy

Thank you!!

Collapse
 
highcenburg profile image
Vicente G. Reyes

I'm not quite a fan of Real Python; I never was able to run anything from them. Corey Schafer is the man when it comes to Python.

Collapse
 
prahladyeri profile image
Prahlad Yeri

I'd actually got it confused with Full Stack Python! Have you used that as a reference?

Collapse
 
highcenburg profile image
Vicente G. Reyes

Yes I've used it to learn React and Vue with Django and Flask.

Collapse
 
jmcp profile image
James McPherson

I'd add in stackoverflow.com, the Python interpreter REPL and suggest that if you really want to learn a new language then mucking around with it writing code is essential.

Collapse
 
grazhevskaja profile image
Alexandra Grazhevskaja

I would also add "Dive into Python" by Mark Pilgrim as a must-read for everyone learning Python.

Collapse
 
prahladyeri profile image
Prahlad Yeri

Thanks, I've added it to the list.