Python
Very cool Computer Programming language: http://www.python.org/
- cross-platform, Open Source
- managed, interpreted, Scripting Language, Dynamic Language : no memory management, builds, etc.
- easy to read (uses indents, no stupid punctuation)
Packaging, virtual environments, etc.: use (2023-03-27) BiteCode on Python installation and packaging esp on Mac
RemoteWikiURL:http://wiki.python.org/moin/
Bill De Hora in 2004 on the ubiquity of Python and the passing of objections
Where is Python used?
- http://www.python.org/about/success/
- http://www.python.org/about/quotes/
- http://brochure.getpython.info/newsletter/learn-more
- http://en.wikipedia.org/wiki/List_of_Python_software
Biggest Python Open Source apps (defined as GitHub repositories with the most forks)
- Django
- Flask
- Sci Kit (SciPy)
- Ansible (Configuration Management)
- Scra Py (Web Crawler)
- Tornado
- Requests (easier-to-use layer on top of httplib/urllib)
- Odoo/Open Erp (includes Odoo Project Management Software which includes Kanban)
- Package Control default channel
- Zen Deck API wrapper
- RackSpace Cloud wrapper
- Go Agent a gae proxy forked from gappproxy/wallproxy
- CMS plugin for Django
- Dev Ramp Up challenge
- BitCoin API
- (below are some random choices, from slightly different GitHub query)
- httpie CLI HTTP client; user-friendly cURL replacement
- IPython
Learning (or Learning Programming) materials:
- http://linkmingle.com/list/List-of-Free-Online-Python-Books-freebooksandarticles
- Python:PythonBooks has some interesting fringe titles
- links to tutorials on various topics http://www.awaretek.com/tutorials.html
- Lots of online docs available at http://www.webdocs.org/
- chapters online from EffBot's guide to the standard library. Plus various targeted guides
- official PEP-8 style guide http://www.python.org/peps/pep-0008.html
- old Yahoo internal document on Python Coding Standards (by Dave Jeske of eGroups)
- other guidelines and idioms
- Jeffrey P Shell recommends some Source Code worth reading.
- some recommend Peter Norvig's Sudoku solver
- InfrequentlyAnsweredQuestions by Peter Norvig - lots of bits on dictionaries, types, etc.
- http://mcsp.wartburg.edu/zelle/python/ course materials
- http://www.diveintopython.org/ Dive Into Python by Mark Pilgrim
- http://www.byteofpython.info/ Byte Of Python
- http://www.ibiblio.org/obp/thinkCSpy/ How to Think like a Computer Scientist
- How to think like a Pythonista
- approaches to Large Scale Python app development: <http://www.egenix.com/files/python/Euro Python 2004-Developing-large-scale-applications-in-Python.pdf>
- PyProtocols give Wouldn't it be nice if you could just declare "I want this object to have this behavior" and magically convert whatever value you have, to the type you need? PyProtocols lets you do just that, cleanly, quickly, and robustly - even with built-in types or other people's classes. (works with Zope)
- David Mertz article on PyProtocols (which is part of PEAK - Python Enterprise Application Kit, which is a child of Trans Warp, all by Phillip J Eby)
- Ian Bicking in 2007 on raising Exceptions
- Intermediate Python free ebook 2015 - http://pythontips.com/2015/08/17/intermediate-python-released/
- more advanced structures/patterns to learn: IterTools, lambda, etc.
FSQuery library by Phil Jones to query filesystem and batch-process matches, etc.
Provisioning/deployment tools (2011): http://agiletesting.blogspot.com/2011/03/deployment-and-hosting-open-space-at.html
- also: I had to leave towards the end of the meeting, when people started to discuss the hosting aspect, so I don't have a lot to add here -- but it is interesting to me to see quite a few companies that have Platform-as-a-Service (PaaS) offerings for Python hosting: Django Zoom, ep.io, Gondor (ep.io can host any WSGI application, while the Django Zoom and Gondor are focused on Django).
From 2004: Since my focus is web/net development, I'm working with Zope mainly right now.
IDE-s (see also Folding Text Editor On Mac)
- Active State IDLE editor has some value - now also for MacOs X?
- Active State Kom Odo: if you're doing "commercial" work you're supposed to buy the Professional version for $300 instead of the Personal $30 version
- Dr Python IDE http://drpython.sourceforge.net/ (uses WxPython)
- SPE http://spe.pycs.net/ (uses WxPython)
- David Mertz Dec'03 article on JEdit, IDLE, LEO
- 2009 Stack Overflow thread
- 2005 discussion thread
debugging:
- Python Win
- pdb/ddd, which does run on MsWindows with cygwin, etc.
- pdb
- insert line where you want to trigger stop:
import pdb; pdb.set_trace()
- type
s
orn
forstep
ornext
- (The difference between next and step is that step stops inside a called function, while next executes called functions at (nearly) full speed, only stopping at the next line in the current function.) - type
c
to continue (forever, or until next break) - ooh, you can jump into IPython by using ipdb.
- insert line where you want to trigger stop:
http://www.onlamp.com/pub/a/python/2005/09/01/debugger.html
IPython enhanced Interactive Python shell
one guy's dev setup
see Unit Test
how to write 'main()' functions
Logging (new module in 2.3)
- http://python.org/doc/current/lib/module-logging.html
- http://www.oetrends.com/news.php?action=view_record&idnum=311
- http://sourceforge.net/tracker/index.php?func=detail&aid=668905&group_id=5470&atid=355470
- Log Wrap http://www.kazmier.com/computer/logwrap/
Text parsing - Paul Mc Guire's PyParsing http://pyparsing.sourceforge.net/
Documentation generation:
- PyDoc http://lists.osafoundation.org/pipermail/design/2003-March/002135.html is in the standard library
- Simon Willison note on web interface
- DocUtils http://docutils.sourceforge.net/ may replace it - uses Re Structured Text formatting
- Happy Doc http://happydoc.sourceforge.net/ seems to be used by Zope, or pieces of it
- comparison http://epydoc.sourceforge.net/relatedprojects.html
PyChecker, trace.py
Python vs Java (2001):
- market for developers: http://mail.python.org/pipermail/python-list/2001-May/044922.html
- J2EE vs Zope: http://mail.python.org/pipermail/python-list/2001-May/044965.html
- note existence of Jython
Job listings
PIL Python Imaging Library article
persistence - see Data Store, Transparent Object Persistence
String calculation performance - http://www.skymind.com/~ocrow/python_string/
Template approaches (generating email or web page with a template file and simple variable substitution) (2003)
- Simon Willison simple example
- Simon Willison on PyMeld library
Some references: 2003-01-30-BpFsmRest
Edited: | Tweet this! | Search Twitter for discussion