Difference between revisions of "Python Resources"

From Simson Garfinkel
Jump to navigationJump to search
Line 20: Line 20:
===Numerical Datas===
===Numerical Datas===
* numpy - numeric analysis in python (needed for matplotlib)
* numpy - numeric analysis in python (needed for matplotlib)
* tabulate - create tables easily
* jupyter notebook
* jupyter notebook
* pandas or SparkSQL
* tabulate - create tables easily (but see my tytable replacement)


===Date Data===
===Date Data===
* [http://labix.org/python-dateutil dateutil]  
* [http://labix.org/python-dateutil dateutil], part of Conda
* [http://codespeak.net/icalendar/ iCalendar] package for Python
* [http://codespeak.net/icalendar/ iCalendar], package for Python, generates calendears


===String Formatting===
===String Formatting===

Revision as of 12:08, 11 April 2019

For Learning Python

I've reviewed these resources and highly recommend them.

If you have never programmed with Python before, you may want to start with DataCamp's Learn python by example:

If you want to just read, I recommend starting with the Python Tutorial:

If you have not programmed before, you may try:

If you have programmed before, at this point I recommend:

Data Representation

Numerical Datas

  • numpy - numeric analysis in python (needed for matplotlib)
  • jupyter notebook
  • pandas or SparkSQL
  • tabulate - create tables easily (but see my tytable replacement)

Date Data

String Formatting

Text Processing

See Text processing notes.

Graphing, Graphics and Games

Graphing

Easy Graphics

Games

Image Manipulation

  • Use Pillow, the Python2/3 fork of Python Image Library (PIL).

Fun examples:

Python GUI Options

I need to write some programs that use GUI.

  • tkinter - built in, but not recommended
  • pyqt - Use PyQT5 (it's part of Anaconda)
  • wxwidgets - It's okay, but use PyQT5
  • wikibooks has a page on Python Program/GUI Programming options
  • FLTK, the Fast Light Toolkit

Building Web Applications

You basically have two options:

Examples and resources:

WSGI options

  • Flask (can run on Apache with Passenger, but needs its own domain name)
  • CherryPy

Notes on Flask

   $ touch tmp/restart.txt         # reload your program

Using Passengers on Dreamhost

Python Installation

If you are using a Mac, you almost certainly want to ditch Apple's python implementation and instead install your own.

I now recommend the Anaconda Python distribution, because it has almost everything that you need, and it's easy to add new modules.

If you want to write a Python program with a GUI that can be run on any system, you'll need to use Tkinter (Python's Tcl/Tk bindings). If you want to actually enjoy what you are writing, you want to use PyQT5..