cannot import name MAXREPEAT

When I upgraded from Xubuntu 12.10 to 13.04 today, all my existing Python virtualenvs broke! Fortunately, they're just virtualenvs and easy to replace (that's kind of the point). But don't panic if you start seeing these.


$ ipython
Traceback (most recent call last):
File "/home/catherine/ve/e2/bin/ipython", line 5, in
(more...)

Speak at PyOhio

Have you responded yet to PyOhio's Call For Proposals (due date: June 1)? You should. Here's why.

Why you should speak at PyOhio

  • We need you. We have a great group of people who contribute talks, but we don't ever want that group to become a stagnant pool - we (more...)
  • ipython-sql for multi-database comparisons

    For my newest ipython-sql trick, I needed to compare some queries run across different databases. How hard would it be to get side-by-side results into tidy IPython Notebook output?

    Not hard at all, it turns out, if you're willing to violate basic principles of human decency.

    That's an itty-bitty image, (more...)

    Linux Installfest, Dayton, Sat April 13

    Dayton folks - are you coming to the Dayton Linux User Group's Installfest tomorrow?

    The main point of our Installfests is to get everyone together for mutual help setting up and configuring computers and programs. But we like to throw in some educational talks, too, and I volunteered to give (more...)

    %sql to Pandas

    After getting %sql magic for IPython working, my next big goal was to figure out how to get those results into Pandas.

    Er, OK, not such a big goal. Even with zero Pandas experience, it took about five minutes of skimming the first page of documentation to figure out:


    In (more...)

    released: %sql magic for IPython

    Inspired and informed by discussions with the IPython developers at PyCon 2013, I've released ipython-sql, a %sql magic for IPython.

    With this, I really think the IPython Notebook will become the most amazing database tool ever. In fact, virtually every computing problem will become a lot more workable when (more...)

    The Canadian menace

    Incidentally, some people have been asking, "Wait a minute - PyCon-US in Canada? How does that work? Wouldn't it be more correct to call it PyCon-NA for North America?"

    It might, if this were a case of nations cooperating to share PyCon. However, that is not the case. You (more...)

    post-PyCon post

    You might be sick of me saying after each PyCon, "That was the best PyCon ever!", but it's not my fault if it's true.

    I hardly know where to start summing up the highlights...

    • PyPGDay was a great addition! I've had virtually no exposure to the PostgreSQL community before, (more...)

    HTSQL lightning talk slides

    Uncategorized
    | Mar 16, 2013

    I posted the slideshow from my PyPGDay HTSQL lightning talk here. Thanks to everybody involved with PyPGDay, I loved it!

    Forsooth, a dataset

    Uncategorized
    | Mar 9, 2013

    Do you ever want a demo or sample dataset that doesn't bore you to death? How about one steaming with sex, murder, and mayhem?

    I'll be giving a lightning talk on HTSQL at PyPGDay this Wednesday, and wanted to show it off with some data worthy of its awesomeness. How about Shakespeare? Yeah! Luckily, Open Source Shakespeare has published a database of all Will's works. Unluckily, they've only published it as flat text files and as a Microsoft Access database. ("Open Source" Shakespeare? In a closed-source database? And a horrible one at that? Yeah, I know.)

    So I fixed (more...)

    Dayton Python Workshop, April 5-6

    Uncategorized
    | Jan 31, 2013

    Announcing the first Dayton Python Workshop for women and their friends, April 5-6, 2013!

    tinyurl.com/day-py-workshop

    The Workshop is a free, friendly, hands-on, beginners' introduction to computer programming. In one short weekend (a Friday evening and a Saturday), participants get a real handle on programming for practical tasks, using the easy yet powerful Python language... while having a fun time with new friends!

    The primary target audience is women of all ages and backgrounds, including those who have never programmed before. Men can participate as the guest of a female attendee - that's where the "women and their friends" part (more...)

    Hooray for Columbus Python Workshop 1!

    Uncategorized
    | Jan 25, 2013

    The first Columbus Python Workshop for women and their friends was a success!

    We had about 18 students from all sorts of backgrounds, plus TAs Alyssa and Ryan from the Central Ohio Python User Group. They dived in with a will and learned an amazing amount in a short time. We all had fun and I loved having them there... there's something uniquely wonderful about teaching to faces that are smiling at you. By the end, we had several nice variants on the Color Wall.

    Food sponsorship by LeadingEdje kept us all nicely fed and caffeinated, and Pillar provided The (more...)

    PyPgDay

    Uncategorized
    | Dec 19, 2012

    I was thinking about staying home from PyCon in 2013.

    I know, that's a horrible idea. But financing the trip has gotten hard recently, and I want to spend weeks and weeks in Montreal for PyCon 2014, so I was thinking maybe I'd save up my travel money for a spectacular trip to Quebec in a year.

    But now look what they've done. PyPgDay. Postgres and Python. They've got my number. Resistance is futile.

    The CFP is out; I'll be thinking about what I can propose. Maybe this will lead to a spasm of EDD (embarrassment-driven development) on sqlpython and (more...)

    ipython_doctester 0.2

    Uncategorized
    | Dec 15, 2012

    The big improvement for 0.2 is that ipython_doctester now optionally reports test results to an instructor's webapp, http://ipython-docent.appspot.com. In a classroom setting, this helps a teacher see who needs more time or help.

    To turn on reporting, at the beginning of the IPython Notebook session,


    import ipython_doctester
    ipython_doctester.workshop_name = 'demo1'
    ipython_doctester.student_name = 'Catherine'
    from ipython_doctester import test

    The instructor should run through the notebook first, executing all cells just to register each of the function names in order. Then she can check on the class's progress at http://ipython-docent.appspot.com/workshop_name.

    You can also optionally set (more...)

    ipython_doctester

    Uncategorized
    | Nov 2, 2012

    That IPython project I was kicking around has started to mature, and I've released it into PyPI:

    ipython_doctester

    I'm much happier with using it as a decorator, it stays out of the student's way that way:

    GiveCamp

    Uncategorized
    | Oct 21, 2012

    I really enjoyed Southwest Ohio GiveCamp this year. There are lots of community events where I learn stuff and have fun, but it's especially nice when we can also look back on something good done for a good cause.

    I was on a small team that redid URS Dayton's website into a WordPress site. (The new version isn't online yet, so don't go clicking today and saying, "Ew, you're proud of that?") I'll say this for WordPress: despite having no genuinely experienced WordPress users on the team, we made a very presentable site in just an evening and a (more...)

    Columbus Python Workshop, Jan 18-19

    Uncategorized
    | Oct 16, 2012

    Happy Ada Lovelace Day!

    Announcing the first

    Columbus Python Workshop

    for women and their friends

    Jan. 18-19, 2013

    The Columbus Python Workshop for women and their friends is a free hands-on introduction to computer programming that's fun, accessible, and practical even to those who've never programmed at all before. We empower women of all ages and backgrounds to learn programming in a beginner-friendly environment.

    Thanks to Pillar Technologies for hosting the workshop in their brand-new office in Columbus' Short North!

    The workshop is the latest in a series based on the famous Boston Python Workshop; they've already introduced hundreds (more...)

    IPython Notebook tutorial with doctest feedback

    Uncategorized
    | Oct 11, 2012

    I'm increasingly amazed at IPython Notebook, and want to use it for an interactive tutorial. I'd like the notebook to be full of exercises for the student to fill out, and to get feedback from the notebook itself - a lot like CodingBat but in IPython Notebook format.

    Here's the code: ipython_doctester

    Next step - maybe - would be to finish with a scorecard cell summarizing the student's overall progress.

    And then... automatically push data on a student's progress up to a webserver on the instructor's machine? Which presents a dashboard showing her where everybody is and what everybody (more...)

    doctesting just one function

    Uncategorized
    | Oct 10, 2012
    There's no such function as doctest.testfunc. Or doctest.testclass, or, for that matter, doctest.testobj. However, you can run the doctests on a single function or class with doctest.run_docstring_examples, like so:

    doctest.run_docstring_examples(myfunction, globals=globals())
    "That's OK", I thought, "My function doesn't call any globals, so I'll just pass in an empty dictionary." Wrong. run_doctstring_examples actually needs your globals to find the object you're testing; you'll get

    NameError: name 'myfunction' is not defined
    The docs say the function is "rarely useful", but I'm finding it very useful for an IPython Notebook-based interactive tutorial I'm hoping to work up shortly!

    Indianapolis Python Workshop for women and their friends – the results

    Uncategorized
    | Apr 22, 2012

    This April 13-14, Mel Chua, Jessica McKellar, and I ran the first annual Indianapolis Python Workshop for women and their friends... and I loved it!

    We borrowed our curriculum (not to mention Jessica) from the Boston workshop, and the time they've put into fine-tuning it really shows. The participants varied from absolute first-time programmers to computer science graduate students, but the materials did a great job of not leaving anybody behind.

    I chatted with a few of the participants about their backgrounds and motivations for coming, and I was fascinated by the diversity among them. One woman was re-entering (more...)