The Grand Rapids
Python Users Group
GRPUG: Upcoming and Past Meetings
Sourceforge's newish forge platform, Allura, is maturing nicely. Dave Brondsema will help us get started with Allura development. We'll have more details about this talk as the meeting date approaches.
We haven't selected a topic or presenter for June. If you'd like to volunteer, contact info@grpug.org.
Richard Nienhuis will be talking about serial communication using the PySerial module. He'll have a few serial devices on hand to demo and mess around with.
Steve Romanow will be enhancing our virtualenv usage with an introduction to virtualenv-wrapper. He will also be talking about Bruce, The Presentation Tool.
Dave Brondsema will be giving us a recap of some of his favorite talks from PyCon 2012.
BeautifulSoup is a Python module for scraping web pages. Ben Rousch will be walking through the code he used to migrate GRPUG's meeting info to the new website.
Ben Rousch will also be talking about BotBrew, an awesome new way to get Python (and other stuff) running natively on your rooted Android device.
In case you haven't heard yet, one of our own members is going to be speaking at PyCon 2012. For years now the GRPUG has had the privilege of tapping into Dave Brondsema's vast keg of awesome, and now he has the opportunity to pour a little of it into the eager, frosty mugs of the rest of the Python community. To help him prepare for this momentous event, Dave has offered to give us an early-access sneak-peek at his presentation - for absolutely free - at the regularly scheduled February GRPUG meeting. In return, Dave asks only that we offer him opinions on and suggestions for his presentation. For more information about Dave's presentation, visit https://us.pycon.org/2012/schedule/presentation/131/.
If we have some time left over Ben Rousch will show a few reasons you should be using Virtualenv and Pip. It's totally blowing his mind.
We will be giving away a copy of "The Quick Python Book, 2nd Edition" from Manning Publications.
Also, in cooperation with our meeting, Matt Harrison has agreed to offer his new Kindle Book "Guide to: Learning Python Decorators" for free today. So pick up your copy now!
Steve romanow will introduce us to Iterpipes, which let you use shell pipelines in Python using a shell-like syntax.
Python is a good choice for many software tools, but it lacks clarity and simplicity of command shells when it comes to running command pipelines from scripts. The standard subprocess module provides basic inter-processing tools, but it requires lots of lines to express a single shell line. Iterpipes is trying to overcome this limitation by representing a shell command pipeline as a function over iterables, similar to functions from the standard itertools module.
We will also be joined by Jonathon Kumar of Food Circles, which is a very cool local startup/charity. Jonathan is not a programmer, but he's hoping we can help him with a few Django issues. Hopefully we can at least identify the problem and get him on the right track to a fix.
Adam Tauno Williams will be talking about a few Python modules that provide you with a simple means to construct various types of diagrams, such as block, activity, sequence, and network diagrams. The diagrams can be output in a variety of formats including SVG and PNG. All you have to do is code to produce the diagram description and all the plotting is done for you.
Roger Roelfs is the lead programmer for MH Village "America's #1 Marketplace to Buy, Sell, or Rent Manufactured Homes". I don't know much about Roger, but I know he's an elite programmer because he presented on JQuery at West Michigan's poshest venue - a GRWebDev meeting. And I know he's an all around awesome person because he hangs out in the GRLUG IRC channel. Sure, he mostly uses PHP, but nobody's perfect. Roger recently had the otherworldly delight of using Python for the first time, and I have badgered him into talking to us about the site and the Python project. He's also offered to let us beat him with the PEP8 rubber Python as long as we don't leave bruises.
We'll follow up with the usual food and drinks at Old Chicago afterwards.
Ben Rousch will be taking you on a tour of his ultra-mega-awesome futuristic Python3 web framework based on CherryPy, Mako, and SQLAlchemy. He will also give you the low-down on his plans for his Python talk at GRDevDay.
In keeping with the PyOhio-2011-was-awesome meme Adam Tauno Williams will talk about Cmd/Cmd2 and demonstrate snurtle which is a command-line interface for OpenGroupware Coils.
Due to low attendance, today's meeting is CANCELLED.
See you all at BarCampGR.
Due to 80% of our regular meeting attendees going to PyOhio, we will not be holding a meeting on Monday, August 1, 2011. The next meeting is scheduled for Monday, August 15, 2011. Please join us then for a PyOhio recap.
Ben Rousch will be giving you a preview of his PyOhio presentation. Comments, questions, and heckling will be welcomed.
Ben Rousch has been working on an online version of the session grid for the upcoming BarCamp Grand Rapids. He will be talking about the server component, which is a fairly simple Flask application hosted on Amazon EC2.
Adam Tauno Williams has signed up to give us a quick presentation on the tarfile module. The tarfile module makes it possible to read and write tar archives, including those using gzip or bz2 compression.
Tonight's meeting is cancelled due to so many people being busy or out of town.
Nathan Oostendorp is working on a new startup out of Ann Arbor called Ingenuitas which is working to create open source tools for the manufacturing sector. Their first project is an open source part inspection appliance, and of course it's being developed with Python using OpenCV and Pylons.
For the last month or so, Nate has been working on a super-library to wrangle a bunch of the open source machine vision libraries and provide a consistent Pythonic interface -- called SimpleCV. He will be demoing some of its functionality and hopes to get some feedback from you on its interface and conventions.
Dave Brondsema, a Sourceforge International Man of Mystery, will be giving us tips for making sure our applications are translatable to other languages. We'll follow up with socializing, food, and drinks at Old Chicago. Yeah, baby!
Dave Brondsema of Sourceforge will be giving us a tour of their new open source project management platform. Allura is an open source implementation of a software "forge", a web site that manages source code repositories, bug reports, discussions, mailing lists, wiki pages, blogs and more for any number of individual projects. It is written in Python and leverages a great many existing Python packages, including Pylons.
As usual, we'll follow up the meeting with socializing, food, and drinks at Old Chicago.
Tonight's meeting has been cancelled due to so many regulars being unable to attend.
Please join us on April 18 when Dave Brondsema will give us a personal tour of Sourceforge's new open source platform, Allura.
That lucky dog Dave Brondsema is heading to Pycon 2011. He'll be back in the time for the meeting and has offered to shower us with whatever newfound knowledge, tips, tricks, and modules he discovers there.
We're going to cozy up with the Grand Rapids Testers group at their scheduled meeting. Make sure you note the different venue and time.
The next meeting of the GR Testers will be held on Monday, March 7th at 6:30pm. We will again be meeting at:
ISD Corporation
8436 Homestead Drive, Suite 100
Zeeland, MI
Kristin and Peter will be giving a sneak peak of the presentation they will be delivering in Nashville at the STP Conference on March 23rd, No Box Mixes: Building a Test Group from Scratch.
More information to follow about dinner plans.
The prolific Adam Tauno Williams will be talking about Imbolc - his new OpenGroupWare COILS-related desktop project. He'll also discuss developing a PyGtk application using Glade that includes HTTP access, background threads, and ListStores.
Ben Rousch will see if he can get PyGtk running on Windows using a new unified installer.
Due to so many regulars dropping out today, the PyGTK presentations have been postponed until the Feb 21 meeting.
Steve Romanow will be working through a Ctypes program and we'll be talking a little bit about decorators.
We will pre-empt our usual meeting to join a special meeting of the Grand Rapids Linux Users Group. Al Tobey will be talking about Linux at scale, infrastructure as code, devops, and more.
Ben Rousch will be introducing us to SVG by showing us his program for creating boxes with rounded corners. He will also demonstrate a similar program using just the Python Imaging Library.
Adam Tauno Williams will be demonstrating ElementFlow, a Python library for generating XML as a stream without first building a tree in memory.
Ben Rousch will also be giving the 2010 GRPUG presenter's prize - recipient to be chosen at random from among anyone that presented at GRPUG in 2010. Each presentation generated one entry into the drawing.
Ben Rousch will be showing us djangoappengine, the less-intrusive, currently-recommended way to use Django on Google App Engine.
We'll be meeting at Mutually Human's swanky office this week. Dave Brondsema will be giving us an update on his DataDiff project and also how to make awesome docs with Sphinx. Also bring your news, questions, and a project you're hacking on while we hang out. We'll go out for food and drinks at a downtown or west side location (Founders?) afterwards.
There are no scheduled presentations, so bring your pet project, question, or interesting news tidbit to discuss.
Note the new room number!
GRPUG's next meeting will be Monday, Nov 1 starting at 6PM. We will be in the usual North Hall at Calvin College and on the same floor as before, but we have been assigned a fancy new room: #251. I think it's right next door to our old room.
Adam Tauno Williams will be discussing his Python project OpenGroupware Coils / OIE which includes working with numerous Python modules including SQLalchemy, VObject, XML-RPC, and using AMQP / RabbitMQ with Python. He'll also be explaining the concept behind OIE which is used to automate ETL and other types of routines and allow for simple management of 'background' tasks.
Adam's enterprise-grade system should be a good contrast to the little interface I showed at the last meeting.
Our next GRPUG meeting will be held at The Garage, which is ElevatorUp's Zeeland coworking facility. I haven't been out there, but I've heard it's a nice place. As our Holland/Zeeland membership has recently grown, I'm hoping the location will enable more of them to attend a meeting, and if it works out we may be able to hold meetings there regularly. To help accommodate our Grand Rapids members, we'll begin socializing at 6:00PM, but we won't start any presentations until 6:15PM.
Speaking of presentations, we don't have anything scheduled, but I will talk about a project I'm just starting this week: using SQLAlchemy and CherryPy to put an XML-RPC interface on some Windows-only databases. I'm not sure how far along I'll be, but I'll welcome any criticism or suggestions you have for me. I was hoping to code this is Python 3, but I couldn't even get 'import sqlalchemy' to work, so I'll be sticking with Python 2.7. I have to develop this project on Windows, so if you're interested in Python on Windows this talk might also be interesting to you.
Unless someone has a better suggestion, we'll head over to the New Holland Brewing Company for our usual drinks and dinner afterwards.
Steve Romanow will introduce us to web2py, a small web framework with good portability.
After a month or so off due to BarCampGR and Labor Day, we'll be back in action on September 20.
Ben DeMott will be talking about Matplotlib and Shapely. Matplotlib is a tool for plotting in Python. Shapely is a tool for dealing with geometric calculations and is essentially a Python interface to the GEOS library.
The first part of his presentation will be dealing entirely with Shapely and what Shapely can do. He intends to show this through a series of examples and source code that he will make available to everyone.
The Shapely Examples will include:
- Our first shapely program
- Using Shapely to define basic "shapes"
- Performing operations against Shapely Objects / Shapes
- Complex Shapely Objects (Complex Lines, or Merged Structures)
The second part of the presentation will build on the first parts examples but will help us Plot Shapely.
- Plotting a Radius Search in Shapely
- Plotting a Matrix of lines and intersections created with Shapely - Adding Annotations
- Plotting Dijkstra Shortest-Path Algorithm on our Matrix
- Using an Rtree Index with Shapely to search our objects quickly.
Time permitting, he will also discuss how Matplotlib is capable of producing animated plots by outputting to a GTK window or using Tkinter
No DeMP is scheduled yet. Feel free to volunteer!
This meeting is canceled due to Labor Day. September 20 will be the next meeting.
This meeting is canceled due to everyone being at or recovering from BarCampGR.
Ben Rousch is giving a PyOhio wrapup, and is showing some nifty koans from the conference.
Adam Tauno Williams is talking about the APScheduler.
Steve Romanow is showing off the PDBG debugger in Vim
We will be having an open discussion this week. Bring an opinion, project, idea, or question and we'll jibber-jabber until we get hungry!
We will be having an open discussion this week. Bring an opinion, project, idea, or question and we'll jibber-jabber until we get hungry!
Also, Adam Tauno Williams will be giving a DeMP on Vobject.
---
DeMP: Yolk
Command-line tool querying PyPI and Python packages installed on your system.
---
Main Presentation: Virtualenv
Virtualenv is a tool to create isolated Python environments.
The basic problem being addressed is one of dependencies and versions, and indirectly permissions. Imagine you have an application that needs version 1 of LibFoo, but another application requires version 2. How can you use both these applications? If you install everything into /usr/lib/python2.4/site-packages (or whatever your platform's standard location is), it's easy to end up in a situation where you unintentionally upgrade an application that shouldn't be upgraded.
Or more generally, what if you want to install an application and leave it be? If an application works, any change in its libraries or the versions of those libraries can break the application.
Also, what if you can't install packages into the global site-packages directory? For instance, on a shared host.
In all these cases, virtualenv can help you. It creates an environment that has its own installation directories, that doesn't share libraries with other virtualenv environments (and optionally doesn't use the globally installed libraries either).
---
Ben Rousch is the whole IT Department for Van Dam Iron Works, a steel stair and railing manufacturer in Grand Rapids, MI. He has been administering and programming on Windows using VBA for more than a decade. More recently he has taken up Linux and started the Grand Rapids Python Users Group to learn this wonderful language. You can catch up with him on his blog or follow him on Twitter.
Rosetta Code is a programming chrestomathy site. The idea is to present solutions to the same task in as many different languages as possible, to demonstrate how languages are similar and different, and to aid a person with a grounding in one approach to a problem in learning another. Rosetta Code currently has 396 tasks, and covers over 200 languages, though they do not (and cannot) have solutions to every task in every language. (Though you can help with that!) A variety of tasks are listed, and visitors to this site are invited to solve the tasks in the language of their choice. The tasks cover everything from the mundane Empty Program to the classic Towers of Hanoi, the practical User Input, the mathematically-inclined Lucas-Lehmer test, and the involved yet entertaining RCRPG.
Michael Mol will be giving us a quick overview of the site and how it runs, a summarized history of Python's experiences on the site (which are relatively unique), some of the Python-specific stuff going on right now, and all the bits of infrastructure Python enjoys, along with all the other languages.
Michal Mol founded Rosetta Code, contributed the first tasks and examples, went on a promotion drive, and now primarily provides guidance, administrative and hosting services and maybe a line of code here and there. Rosetta Code was an idea he'd had during a Christmas vacation, before he'd heard of other programming chrestomathy sites. He currently has blogs on Multiply and Livejournal and Slashdot.
"Eggs" are a simple single-file distribution method for Python modulesand applications. Eggs are much like what an Assembly is in .NET or aJAR in Java. Or Eggs are the RPM [yum/zypper] for Python since Eggsallow Python applications to simple be installed via the easy_installcommand. Eggs don't just include Python code; they can also includemeta-data such as licensing as well as required data files. Thispresentation will cover the basics of Eggs as well as how to create anEgg using "setuptools" for a non-trivial application [most examplesfound on the Interwebs are frustratingly trivial].
Adam Tauno Williams has been the jack-of-all-IT-trades for Morrison Industriesfor ~15 years; performing system and network administration to provideuser's with services utilizing a mostly Open Source application stack.He also doubles as an Informix and PostgreSQL DBA. In his free time heis a developers in the OpenGroupware project and lead developer of theMIT/X11 licensed Python implementation OpenGroupware Coils
Google's AppEngine can enable developers to build awesome apps quickly. However, building on AppEngine means you have to work with the Datastore, and you can get into trouble quickly if you don't understand how it works. The rewards are great, but so is the learning curve. This is especially true if you've never worked with a NoSQL database before. AppEngine forces you to consider scaling from the beginning and the API's can range in available functionality. There are important differences between both the Python and Java implementations and the imposed limitations can seem arbitrary at first. All of this can be daunting, so join me as we dive deep into the AppEngine::Datastore and discover all the power it has to offer.
Bio: Ryan Montgomery is a local Grand Rapids web developer who has years of experience building web based applications in .NET for the Material Handling industry. In more recent years Ryan has migrated his attention to building apps with Python and JRuby on Google's AppEngine. You can discover the Meaning of it all on his blog or catch him at the GR Python Users Group.
Django CMS is an open-source project from Switzerland. The content management system is based on the web framework Django and is written in Python.
Due to a scheduling snafu, we will not be having a presentation this meeting. Instead we'll be socializing at our usual post-meeting location, Old Chicago.
From the Grand Rapids Drupal Users Group website:
March GRupal madness! John Chaffer is going to be talking up JQuery. It's going to be sweet.
John Chaffer wrote the book on learning jQuery, and that kind of opportunity means we're crashing the Drupal users group in lieu of our regularly scheduled programming.
Multiprocessing in Python implements a thread-like API but sub-processes executeas individual processes avoiding the complexity of threading and the Python Global Interpreter Lock. A variety of IPC mechanisms are provided including pipes, queues, listeners, and shared-memory objects.
Steve Romanow will be proudly showing us his latest whiz-bang Python Excel project, and Dave Brondsema will be making us better programmers by introducing us to testing.
Ben Rousch will be bragging about all of the upcoming projects for which he will be using Python, and will be demoing a couple of those projects which are using the Python Imaging Library. Spoiler alert: the PIL is really easy and nice to use.
We know it's been a while since ya'll could get yer pyth-on good and proper, but we've got the cure for what's ailin' ya on Monday, January 11, 2010 at 6PM. That's right, the Grand Rapids Python Users Group is back! And just in case your candy cane addled brains forgot where we meet: Room 253, North Hall, Calvin College, Grand Rapids, MI
Adam Tauno Williams will be learnin' us some cyber-socializin' with the Twitter Python API. Then we'll be hittin' the Old Chicago for brews and meat-space socializin'.
We hope to see ya'll there!
We'll talk about Unicode and hopefully help Ben Rousch sort out his Google Wave Unicode woes.
There is a GRPUG meeting planned for Monday, Nov 30 at the usual time and place. We do not have a topic for this meeting, but we do have four big ole "Learning Python 4th Edition" and one "Python for Linux Administrators" books to pass out to those of you who requested them. We're sure we'll play with the web site a while, and if anyone has something else they'd like to hack on, please bring it along.
Dave Brondsma will be giving a presentation on MongoDB. Then we'll poke around the web site a little bit.
Ryan Montgomery will be leading us through some work on the budding GRPUG web site.
Adam Tauno Williams will be showing off the progress he's made with COILS server, a rewrite of OpenGroupware in Python.
We'll also be discussing an official GRPUG web site to hack and learn on, so bring your ideas about what you'd like to see!
Ryan Montgomery will be showing us all that is awesome about the Google App Engine. Beers and eats will follow at the Grand Rapids Brewing Company.
Adam Tauno Williams has offered to introduce us to LDAP and using it with Python.
Ben Rousch will show a small application created using Dabo, a wxPython desktop database framework.
Dave Brondsema will be giving us an introduction to the Logging module in Python.
Brian Tol will be giving us an Intro to Django.
We will also probably do a few more "Favorite Python Features", which Dave Brondsema ran last week. It was a great way to learn how to code Pythonically, without overloading your brain.
Ben Rousch will have an intro to Google App Engine, and Dave Brondsma will walk us through some interesting Python features from a thread on StackOverflow.
Ben Rousch will be showing a few small pieces of code he's been working with.
Steve Romanow will give us a glimpse into working with XLS from Python.
Adam Tauno Williams will talk about his current dabblings in SQLAlchemy.
And don't miss Dave Brondsma as he walks us through a few of Python's best hidden features.
Adam Tauno Williams will be giving a presentation on py-xmlrpc.
Ben Rousch has a semi-stable XMPP Multi-User Chat bot to show off.
We have the first meeting of the GRPUG tonight at 6PM at the Grand Rapids Brewing Company. To kick things off, we'll be demonstrating a few different Python editors and IDEs. We might also have a few science professors from Calvin visiting us, as they are phasing in Python as part of their science curriculum.


