|
|
Get Up To Speed
A dauntingly large number of Zope and Python resources are available. The hardest choice is, "Where to begin?" We've whittled it down to the straight and narrow for you. Don't stray from this path until you've reached its end. After that, stray far and wide. You'll know where. Or check out the Additional Resources down below if you'd prefer a series of interesting but endless rabbit holes.
Special note: TriZPUG is not a substitute for primary sources. TriZPUG supports Zope and Python education, and is part of the Zope and Python communities, but does not attempt to replace the primary educational materials of the Zope and Python communities writ large. If you are brand spanking new to Python, please see the main Python community help page.
Beginner's Note
If you are coming to Python as your first programming language, you have made a good choice. There is consensus among many computer scientists: Python may rate as the best choice for learning to program. If you are finding learning how to program is more difficult than you thought, consider this good advice from the Director of Research at Google.
Additional Resources
|
Python • Zope • Plone • Important Python Projects
Python
- While you are waiting for dead tree book delivery, if you have the stamina and the courage, there's always the Official Python Tutorial written by our valiant BDFL.
- Planet Python is a comprehensive aggregator of Python blogs.
- There are many Python related email lists you can join, including the tutor list for newbies.
- The Active State Python Cookbook contains thousands of recipes. Not to be confused with a dead tree cookbook.
- Think you're smart? Some people claim you can learn Python in 10 minutes.
- Software Carpentry is an introduction to the art of software engineering using Python. Titus Brown has been working on Advanced Software Carpentry.
- Python Magazine is a new kid on the block.
- PyZine is no longer published but has a huge archive.
- Python has an official documentation center which can be pretty daunting for the novice including:
- Python Infrequently Answered Questions has answers for... infrequently answered questions about Python, including the the most elegant matrix transposition solution of any language ever.
- With the Edgewall Python Sidebar for Mozilla, the Python documentation center is never far from Firefox.
- An ocean of Python software awaits you at the Python Package Index.
- A Python 2.5 Quick Reference couldn't hurt, either.
- In fact, trade and create your own Python Cheat Sheets
- Data Structures and Algorithms with Object-Oriented Design Patterns in Python is an essential and monumental tome of computer science.
- David Mertz wrote a series of indispensable columns for IBM Developerworks called Charming Python as well as a fantastic free online book called Text Processing in Python.
- Python Programming: An Introduction to Computer Science (draft version) is a well regarded Python textbook for university level computer science by John Zelle.
- David Goodger, a Director of the Python Software Foundation, can show you how to Code Like a Pythonista.
- Alex Martelli, Uber-Technical Lead at Google and author of the very necessary reference book Python in a Nutshell, makes excellent presentations:
most of which you can find on Google Video.
- Show Me Do is a place for Python video tutorials.
- Python 411 has a list of hundreds of Python tutorials, book reviews, podcasts, and screencasts.
- Useless Python has a list of Python tutorials.
- The O'Reilly Python Devcenter has a few articles to note.
- The Python Enterprise Application Kit (PEAK) is an important bridge to the future.
- The IEEE Computer Society often prints Python articles in their journal Computing in Science and Engineering:
- See how you can run your own Python MPI 20-node computing cluster for only $2/hour.
- Make Python go fast.
- Learn about Python and CGI from UVA or the BDFL.
- The author of our preferred book Python for Dummies show you how to use threading in Python (but only if you have to).
More Python threading resources:
- How about a Python course in Bioinformatics?
-
Some recommended alternative books for learning Python are:
Zope
- Planet Zope is a comprehensive aggregator of Zope blogs.
- Baiju Muthukadan has written a very accessible introduction to the Zope Component Architecture.
- Grok makes Zope3 so easy, even a caveman can use it.
- Phillip von Weitershausen, who wrote the Zope3 book recommended above, runs a Zope3 tutorial clearing house called World Cookery.
- There are hundreds of Zope2 recipes over at Zope Labs.
- Zope Magazine is no longer published but has a huge archive.
- The Zope community site has:
- Upfront Systems has an online Zope Course.
Plone
- Planet Plone is a comprehensive aggregator of Plone blogs.
- Alex Clark of ZPUGDC ressurected work started by Raphael Ritz to document the entire API for Plone, Archetypes, and CMF for all versions of Plone since 2.05.
- Trac instances for Plone, Archetypes, and The Collective let you follow product development.
- Plone.net is a clearinghouse for Plone service providers, websites, success stories, and media coverage.
- There are all kinds of interesting Official Plone websites traffic data.
- Plone has an awesome Help Center. So awesome that it is crammed with more incredible material than you would know where to start. Here are some of the more importants how-tos and tutorials in the Plone Help Center:
- The Plone community meets to discuss the state of the art:
-
- If you haven't seen Joel Burton's presentation Buildling a Humane CMS with Plone, then you have missed a lot.
- Plone has a built-in AJAX manager that doesn't require you to know anything about Javascript: Kinetic Style Sheets.
- Upfront Systems has an online Plone Course.
- At your earliest opportunity, you should go to a Plone Boot Camp, the best technical training you will ever experience and ridiculously affordable.
- Learn Plone is geared more towards content creators, editors, and site managers.
- In Small Steps is a well organized website about creating websites with Plone.
- The free online version of Andy McKay's book about Plone 2.05, The Definitive Guide to Plone is still available.
- UML sequence diagram showing what happens in Plone between an incoming HTTP request and an outgoing HTTP response.
- How to hotshot profile a Plone site with bstats.
- Online manuals for training Plone 2.5 and Plone 3 content contributors and editors.
-
A book for training Plone content contributors and editors (updated to Plone 2.1 only; new edition in the works):
Important Python Projects
A productive language like Python spawns many important software projects you should know about. You can learn a lot by joining one of these projects. This list is no way comprehensive (that would be many thousands of important projects) but is instead here to give you a flavor or where Python gets used and for what.
- Subversion is a version control system.
- Bazaar is a version control system.
- Mercurial is a version control system.
- Trac is lightweight through the web project management system which works well with Subversion.
- Roundup is an issue tracker.
- SCONS is a superior alternative to Make.
- SciPy is a collection of Python scientific packages.
- Scientific Python is a collection of Python scientific packages.
- NumPy is a collection of Python array processring packages.
- Matplotlib is a collection of 2-D plotting packages including a complete Python replacement for Matlab.
- IPython is an enhanced Python shell for distributed and parallel computing.
- Twisted is an event-driven networking engine.
- Paramiko is an implementation of the SSH2 protocol for secure connections to remote machines.
- Pylons is a lightweight web framework
emphasizing flexibility and rapid development.
- Django is a high-level web framework encouraging rapid development and clean, pragmatic design.
- Turbogears is an Ajax-powered web megaframework.
- web2py is a WSGI-compliant zero-install MVC.
- CherryPy is a pythonic, object-oriented HTTP framework.
- mod_python embeds Python in the Apache HTTP server.
- Web Server Gateway Interface (WSGI) is a specification for web servers and application servers to communicate with web applications.
- Paste is a system for finding, configuring, and serving WSGI applications.
- mod_wsgi is an Apache module which turns Apache into a WSGI-compliant web server.
- Deliverance is lightweight WSGI middleware which applies a theme to content according to a set of rules.
- Repoze enables deployments of Zope and Plone into a WSGI environment ando ther Python WSGI applications to use Zope technologies as middleware.
- SQLAlchemy is a SQL toolkit and Object Relational Mapper.
- SQLObject is an object relation manager providing substantial database independence for applications.
- Storm is an object-relational mapper (ORM) for Python which powers Canonical's Launchpad online project management service.
- Enthon is a Python distribution with many scientific packages pre-configured for Windows.
- MacPython is a Python distribution and set of packages pre-configured for Mac OSX.
- Stackless is an enhanced version of the Python emphasizing threading.
- Parallel Python is a python module which provides mechanism for parallel execution of python code on SMP (systems with multiple processors or cores) and clusters (computers connected via network).
- IronPython is an implementation of Python running on .NET.
- Jython is an implementation of Python written in 100% Pure Java
- PyPy is an implementation of Python written in Python itself which somehow turns out to be faster than Python written in C.
- VPython is a module for producing real-time 3D scenes with Python.
- Blender is a 3D modeling and animation system with a huge community of users.
- PyGame is a set of Python modules designed for writing games.
- VRPlumber is a clearinghouse for Python virtual reality, ray-tracing, and 3D rendering applications of many kinds.
- BioPython is a collection of Python packages for computational molecular biology.
- PyMol is a Python molecular visualization system.
- PyDap is an implementation of OPeNDAP services.
- PAIDA is a scientific analysis package supporting AIDA (Abstract Interfaces for Data Analysis).
- MayaVi provides interactive visualization of 3D data.
- PyGlobus is a Python interface to the Globus grid computing toolkit.
- DIANE is a lightweight distributed framework for GRIDS.
- Ganga is a Python frontend for job definition and management of ATLAS and Large Hadron Collider beauty experiments.
- Thuban is an interactive geographic data viewer.
- Python Cartography Library (PCL) is a package of modules for rendering GIS data from a variety of backends into maps.
- Visualization ToolKit (VTK) is a system for 3D computer graphics, image processing, and visualization.
- SimPy is an process-based discrete-event simulation language based on standard Python.
- MODELLER is used for homology or comparative modeling of protein three-dimensional structures.
- PyChem is a multivariate analysis package for chemometrics.
- RPy is a Python binding to the R statistical language.
- PyNGL is a Python interface to the NCAR command language.
- PyClimate is a package for operations with COARDS-compliant netCDF files, EOF analysis, SVD and CCA analysis of coupled data sets, some linear digital filters, kernel based probability density function estimation and access to DCDFLIB.
- AstroPy is a clearinghouse for Python applications in astrophysics.
|
|
Upcoming Events
TriZPUG May 2008 Meeting: TBD
Duke University, North Pavillion, 2400 Pratt St, Durham, NC 27705,
2008-05-22
Plone Boot Camp 2008
Research Triangle, NC,
2008-07-28
Plone 3 Techniques Boot Camp
Research Triangle, NC,
2008-08-04
TriZPUG August 2008 Meeting: TBD
Duke University, North Pavillion, 2400 Pratt St, Durham, NC 27705,
2008-08-28
|
«
|
May
2008
|
»
|
| Su |
Mo |
Tu |
We |
Th |
Fr |
Sa |
|
|
|
|
|
1 |
2 |
3 |
| 4 |
5 |
6 |
7
|
8 |
9 |
10 |
| 11 |
12 |
13 |
14 |
15 |
16 |
17 |
| 18 |
19 |
20 |
21 |
22
|
23 |
24 |
| 25 |
26 |
27 |
28 |
29 |
30 |
31 |
|