Difference between revisions of "Python Resources"
From Simson Garfinkel
Jump to navigationJump to search
m |
m |
||
Line 68: | Line 68: | ||
===Printed Materials=== | ===Printed Materials=== | ||
* [http://diveintopython3.org/ Dive Into Python 3] (book) | * [http://diveintopython3.org/ Dive Into Python 3] (book) | ||
==Building Web Applications== | |||
You basically have two options: | |||
* cgi module (slow) | |||
* Some sort of [https://en.wikipedia.org/wiki/Web_Server_Gateway_Interface Web Server Gateway Interface] (WSGI) | |||
WSGI options: | |||
* Flask (can run on Apache with Passenger, but needs its own domain name) | |||
Examples and resources: | |||
* https://github.com/MichaelPereira/webhooks-demo-application | |||
* https://mattcarrier.com/flask-dreamhost-setup/ | |||
* https://help.dreamhost.com/hc/en-us/articles/215769578-Passenger-overview | |||
==Python Installation== | ==Python Installation== |
Revision as of 13:49, 24 September 2017
Numerical Analysis
- numpy - numeric analysis in python (needed for matplotlib)
- tabulate - create tables easily
- jupyter notebook
Graphing, Graphics and Games
Graphing
- matplotlib - a handy system for plotting in python.
- geopy - geocoding
- dateutil
- PyX - A Python PS and PDF graphing package
- pygame - a Python game development system
- iCalendar package for Python
- PEAK Easy Install
Python Graphics (mostly with graphics.py)
- http://mcsp.wartburg.edu/zelle/python/graphics.py
- http://mcsp.wartburg.edu/zelle/python/
- http://mcsp.wartburg.edu/zelle/python/graphics/graphics.pdf
- http://cpsc110.umwblogs.org/installing-python-graphics-library/
- http://anh.cs.luc.edu/python/hands-on/3.1/handsonHtml/graphics.html#
Alternative:
- http://plotdevice.io/
- http://www.cc.gatech.edu/classes/AY2013/cs1301_summer/presentations/calico_graphics.pdf
Image Manipulation
Use Pillow, the Python2/3 fork of Python Image Library (PIL)
On Mac, install with:
% sudo port install py27-Pillow py33-Pillow
Links:
- http://jeremykun.com/2012/01/01/random-psychedelic-art/
- http://pythonvision.org/basic-tutorial
- http://stackoverflow.com/questions/138250/read-the-rgb-value-of-a-given-pixel-in-python-programatically
Games
- Crystal Space 3D
- VPython - 3D Programming in Python
Python GUI Options
I need to write some programs that use GUI.
- tkinter - built in
- pyqt
- wxwidgets
- wikibooks has a page on Python Program/GUI Programming options
- Uses FLTK, the Fast Light Toolkit
Resources for Tkinter
- Chapter 18 of Core Python Programming discusses GUI Programming with Tkinter
- Programming Python, 2nd Edition, Chapter 7 and 8
- reddit has a page on Python 3.x books for Tkinter
- Introduction to Tkinter on effbot.org
- Python 3.2 tkinter doc
- Thinking in Tkinter
- Python wiki 'GUI Programming in Python'
- Python 2.7 Tkinter Doc
- Original 'An introduced to Tkinter' by Fredrik Lundh
Python Training
I've seen these and highly recommend them:
- Advanced Python or Understanding Python, Thomas Wouters, Google Tech Talks, February 21, 2007.
Printed Materials
- Dive Into Python 3 (book)
Building Web Applications
You basically have two options:
- cgi module (slow)
- Some sort of Web Server Gateway Interface (WSGI)
WSGI options:
- Flask (can run on Apache with Passenger, but needs its own domain name)
Examples and resources:
- https://github.com/MichaelPereira/webhooks-demo-application
- https://mattcarrier.com/flask-dreamhost-setup/
- https://help.dreamhost.com/hc/en-us/articles/215769578-Passenger-overview
Python Installation
If you are using a Mac, you almost certainly want to ditch Apple's python implementation and instead install your own from:
If you want everybody to be able to use your GUI, you probably want to write it in Tkinter (Python's Tcl/Tk bindings). If you want to actually enjoy what you are writing, you want to use wxpython.
On the Mac, you can install matplotlib with this command using MacPorts::
% sudo port install py-matplotlib py-ipython