(Originally published on https://github.com/prahladyeri/CuratedLists/)
Python Programming Resources
Official docs and other resources
- Python Official docs
- PEP-8 - Guidelines for writing python code
- Python Package Index - The official python package repo
- /r/learnpython wiki
- Unofficial Windows Binaries for Python Extension Packages - Must have resource for Windows users of Python. Provides all the compiled package files in pip installable(*.whl) files.
- Python Zeef List
Libraries
Database Connectivity
- mysql-connector-python - Official mysql client library by Oracle.
- PyMySQL - A pure-Python MySQL client library, based on PEP 249. Apparently faster than the official driver
-
mysqlclient - Another mysql client library implementation. Apparently, the fastest implementation as it is C based. Django's recommended, also used by debian and ubuntu repos for
python3-mysqldb
package. - psycopg2 - Most popular postgresql driver for python.
- SQLAlchemy - The "bread and butter" ORM library in the python world. Extremely versatile and flexible enough to work with almost any RDBMS known to mankind.
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
- Dive Into Python - Mark Pilgrim - Must read for all python learners and enthusiasts.
- Web Scraping 101 with Python
- Writing a Virtual Machine in Python
- Coding Bat - Python
- Simple Python Programs
- Beginners Guide to Python
- Learn Python, Break Python - A beginners guide
- Automate boring stuff with Python
Top comments (9)
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.
Thanks, I've added it to the list.
Thank you!!
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.
I'd actually got it confused with Full Stack Python! Have you used that as a reference?
Yes I've used it to learn React and Vue with Django and Flask.
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.
I would also add "Dive into Python" by Mark Pilgrim as a must-read for everyone learning Python.
Thanks, I've added it to the list.