Skip to content

Latest commit

 

History

History
102 lines (88 loc) · 9.29 KB

python.md

File metadata and controls

102 lines (88 loc) · 9.29 KB

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.
  • PyPDF2 - Handly PDF library for reading text from PDF documents and writing to them, upgraded from the old PyPDF library to work with Python 3.
  • pdfminer - Another PDF read/write library, alternative to PyPDF2 which works slower but apparently is more reliable for fetching text from PDF.
  • 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.
  • PyYAML - The next generation YAML parser and emitter for Python.

Build and Tooling

  • 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.
  • readthedocs.org - Online document hosting facility for pythonistas, based on Sphinx and integrates with github repositories and hooks.

Graphical User Interfaces

  • PySide - Alternative GUI toolkit in Python, the open source version of PyQt which is commercial.
  • Kivy - A modern GUI toolkit for building apps, works seamlessly on Linux, Android, Windows and Mac.
  • pyglet - Python graphics library.
  • PySimpleGUI - Another GUI toolkit similar to PyQT and tkinter.
  • pyinstaller - Freeze (package) Python programs into stand-alone executables.
  • cx_Freeze - Create standalone executables from Python scripts, with the same performance and is cross-platform.

Others

  • cookiecutter - A command-line utility that creates projects from cookiecutters.
  • 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.
  • 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.
  • faker - Package to generate fake data to test your python apps.
  • Google API Python Client - Goole API client for Python.
  • Google API Python - OAuth2 library - Goole API client for Python.
  • Flatlib - Astrology library written in pure Python (supports both tropical and siderial systems).

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, articles, books, puzzles

Popular Youtube channels