The Great Python.org Redesign

by jesse in ,


Preamble

What follows is an edited-for-my-blog version of the blog post I wrote for the Python Software Foundation. I have maintained some of the structure and form but added my personal thoughts along the way.

It is with great pride that on behalf of the Python Software Foundation and the community as a whole, I am please to announce that the official Python.org website, subsites and back end architecture are getting a total makeover.

To me, personally - this has been a long labor of love. I became a PSF member in 2009, a director of the foundation in 2010 - it's been a long ride for me. Not as long as many others, but four, almost five years means a lot of change and a lot of plans, some coming to fruition, others lying in dormancy.

The complete and total overhaul of the Python.org front end, IA/UX/UI and the back end - moving to a modern and user friendly content editing and addition system, etc has been something I have privately been working on since early 2009 - actually, before I became a PSF member proper.

I have emails dated back to early 2009 conspiring/planning on the overhaul of the site. My sincere personal wish has not just to make something new and shiny. It has been to give Python, a language and community I love a whole new presence. The ability to make portals dedicated to the foundation, education, core development and more. The ability to easily and rapidly add new content or update the style to fit with the times and changing world around us.

This has been a project for me going on 5 years - for me, it's as old as my oldest daughter Abby. And it is with great humility, pride and happiness I get to announce that this plan is finally coming to fruition.

Introduction

Python has grown significantly in the last decade, both in terms of audience and the amount of information about it. This abundance of information has outgrown the current website’s taxonomy and fundamental design. You can see the growth of the site over time - for example 1997 19992006, and 2011. You can see the growth of focus, audience and information reflected in what was added, how it expanded. Since the last major update, not much has changed though.

When I sat and looked at this with my fresh, naive set of eyes, already inspired by the community and the language, I knew that more could - should - be done to showcase the wealth we have to offer. Education, the Foundation, everything. We could showcase the community user groups, conferences from EuroPython, to PyCon, to PyArkansas, PyTexas and more. 

The key goal of the redesign project is to update Python’s official web presence with an eye to better organizing the information we have today (and expect to add in the future).

The end result should help our audience find the information they need, whether it’s official information like downloads and documentation, or resources from our vibrant community.

That's my speak for what I outlined above - not to mention the fact we know how to tailor information to specific types of uses - see the audiences section of the RFP - Python is over 22 years old now, and some people might think that it's just getting old. I see it completely different. I program in Python because I enjoy it. It's what made me want to be a programmer. Now, with projects like the Raspberry Pi, and more and more Python in education, we can inspire a whole new generation with something clean, approachable and vibrant.

Although the current implementation of the Python web site has served its purpose over the years, the time has come for the site to progress and complement the growth and maturity of the language itself as well as the vibrancy of the community.

The back end has not aged well - though there is something be said about what-was-old-is-new-again - I think it's one of the first code bases I remember doing just regular old <input> to <static html> - go, take a look for yourself. If looking through that you're not slightly daunted at the prospect of adding sites, content, etc to it, you're a better man than I. And many better people have spent thousands of man hours doing just that to keep what information is there alive.

There’s a lot we - I - want to achieve

  • Modern design and experience
  • Concise and intuitive navigation
  • Showcase the simplicity and elegance of the language
  • Attract and convert potential Python users and Python Software Foundation sponsors
  • Represent our vibrant, active community
  • Make it easy for a wide range of contributors to add content
  • Enhance the visibility of the PSF and its sponsors
  • Provide examples of success stories
  • Enhance the visibility of alternate implementations
  • Stable and scalable infrastructure

The redesign involves some tall tasks. From the fresh and modern UI/UX to the online and offline content editing features, no aspect of the project is to be taken lightly, or even incrementally. Such approaches have stalled and ultimately failed in the past, and rapidly outstrip the free time our community of volunteers can dedicate to the project.

See my introduction - I've been involved in at least 6 skunkworks efforts to redesign the site and its back end. I went so far as to register python-lang.org/.com and others in an intent to fork it due to the constant uphill battle it became. Time and time again I would get friends to join me on my wild crusade and we would crash into the rocks on the shore of stop energy. Time and time again I would see people lose what free time they had fighting and discussing and debating rather than creating.

I could not, in good conscience do that, or ask that of anyone again. Hence, the RFP, hence, getting the board to accept the RFP for publishing publicly stating "we will do this" and eventually pushing through to a vote of approval.

The Process

This is a process that started over two years ago with the starting of the of the Request For proposals. This year we issued it publicly, and since that time the psf-redesign team including Nick Coghlan, Doug Hellmann, Idan Gazit, Steve Holden, Brian Curtin, Andrew Kuchling, Issac Kelly, Katie Cunningham, Noah Kantrowitz and others.

I can not thank the team and the board enough - everyone has put in countless hours of thankless work to help me scratch and itch thats been bothering me personally for 5 years. I can not say thank you enough to all those who helped me or supported me in the past skunkworks projects that died in utero. 

This was a herculean effort - and we're still not done.

The team received seven bids in total - all of them which included strong points and compelling stories. The team deliberated, ranked, discussed, and asked questions of the bidders, working through the bids for several months. We were constantly impressed by the high quality, well thought out, professional work that the community members submitted to us.

After the review period came to a close, we had a single bid which ranked higher than any of the others, based on experience, references, and overall quality of the proposal. They'll be working with the second highest rated bid, which contained UI/UX and IA that absolutely floored the reviewers.

The first bid, submitted by a joint effort between Project Evolution and Revolution Systems, was the overall highest ranked bid. The team was unanimous in our recommendation to proceed forward with this bid based on the credentials of the team, quality of the proposal, and their deep understanding of how to work with volunteer organizations, oversight and the community as a whole.

This bid provides a clear project management and accountability system as well as detailing how they wish to work with the community as a whole to achieve the project goals.

You might know of Revsys for example - Frank Wiles and Jacob Kaplan-Moss ring any bells? These guys know what they're doing when it comes to the back end architecture. Seth, and the crew from Project Evolution have been equally impressive in their front end work, working with the team and being understanding with us all along the way.

Second, we had the Divio.ch team bid. The IA/UX/UI work which they poured over 120 hours into as a company impressed us a great deal. We were quite literally floored by the amount of thought, planning, and work invested in the visual and IA aspects of the Divio bid.

Divio's proposal blew me away - the amount of work they put into rethinking the IA/UX/UI and consideration for audiences and so much more in a proposal stunned me. Without the team to keep me honest and pegged to the floor, I would have danced away. 

Together with Project Evolution and Revolution Systems leading the project, and the stellar Divio team consulting on the visual/IA aspects of the project the redesign team and the board is sure that we will be able to deliver a next generation experience and architecture that will achieve all of the goals we set forward when we went down the path of drafting the redesign RFP.

On September 26th, the Python Software Foundation board of directors unanimously approved the combined bids:

RESOLVED, that the Python Software Foundation accept the Python.org site redesign proposal set forth by Project Evolution / Revolution Systems and Divio with a budget not to exceed $70,000 in total without further board approval.

Overview of the Accepted Bids

The redesign project will completed by the three teams, Project Evolution, RevSys, and Divio, with a division of labor using the best aspects of each team. The project plan and the back end will be handled by members of Project Evolution and RevSys. Members of Project Evolution will handle the front end work, incorporating the guidance of the Divio team.

The accepted bids from the three entities can be found below:

Project Evolution

Project Evolution (PE) is a design driven development team founded in 1999 with clients ranging from school districts to Fortune 1000 fashion conglomerates with international holdings. The 12-person team includes creative leads, front-end and back-end developers and associated support staff all committed to open-source technology.

Revolution Systems

Revolution Systems, LLC., based in Lawrence, Kansas, was formed in 2002 by Frank Wiles to help businesses benefit from open source software. While many large orga- nizations use open source software internally (sometimes without their knowledge), he realized that many organizations did not know how to properly take advantage of this revolutionary type of software.

Divio

Divio, a web agency located in Zürich, builds web applications and is specialised in the areas of design and development. For the production Divio uses the modern Webframework Django and is heavily involved in the development of the successful open source projects django CMS and django SHOP.

The company relies on the agile SCRUM-methodology for its projects.

Screenshots, Maybe?

Since I can cheat a little - here's a bevy of screen crops/captures to expand on the next generation site we can look forward to:

Docs intro

Oh, what will it look like on mobile?

IDevices

Psf homepage

Super nav

Screen Shot 2012 11 27 at 10 09 00 PM

 

There's a lot more coming, obviously - we've just approved running with the color scheme and mocks we've gotten, and haven't started the next round of feedback. The back end is progressing - and man, do we have surprises there (with any luck). A full online CMS for people, plus an HG backed offline editing system with automatic updates to the site?

Heck. Yeah.

In Closing

I am sincerely proud, as both a Python Community member, and PSF director to have been part of this process. The entire review team, every single submitted bid and the Foundation's board works tirelessly for a great deal of time pulling together what is already turning out to be an impressive and surprising redesign. I'm sincerely proud to be working with this team.

This has been a long time in coming - but maybe 5 years isn't a lot in the grand scheme of things. Maybe it's just been me obsessing about this one thing for so long that's colored my vision and made me giggle like a little kid every time I see new mocks, or know that we're funded by the PSF and this thing is really happening.

By contrast, PyCon is almost second nature to me now - it's a ton of work, and I'm pouring more of myself into 2013 than I have any previous year, but seeing that come together like a well oiled machine, and then this dream of mine coming to fruition (it's one of a few … I've got some other big plans) is like Christmas day for the community member in me.

 So thank you - thank you to everyone that's making this happen. You're making a lot of people very happy, and very proud. 

We've got a bright future. Let's show it off.

Jesse

Comment

Rest In Peace: John Hunter, matplotlib author, father has passed away.

by jesse in ,


I was extremely sad in hearing about this this morning - John Hunter, author of matplotlib and tireless open source/Python community contributor has passed away after an intense and short battle with cancer. He is survived by wife and three daughters.

John hunter crop 2

Many of us - both professionally and personally have benefited from John's work in the open source and Python community. Just a few weeks ago he delivered a keynote at the SciPy 2012 conference, shortly upon his return from that he was diagnosed with advanced colon cancer and passed away from treatment complications.

It is, in fact, a sad day for all of us in the community - but most of all, a terrible day for his family. 

Fernando Perez has posted a heartfelt and detailed post on John and his contributions - Gael Varoquaux has also posted a moving statement on John's contributions, quoting:

A man who gave a lot, not asking for anything in return

And:

Many have benefited from the silent efforts of John, and are not fully aware of how he generously invested his time and talent for the benefit of others. Matplotlib, the Python plotting library that he created in 2002, has propelled Python as a major tool for scientific research and engineering. The impact of John’s efforts go well beyond Matplotlib.

And quoting Travis Oliphant from the memorial webpage:

Those who contribute much to open source, as John did, do so at the expense of something - often it is time with family.

I can not add anything beyond that this is a terribly sad day for many. 

Please consider donating to his memorial fund put together by the Numfocus group - All donations will be sent to a fund that will be established for the care and education of Clara, Ava, and Rahel. I encourage companies who have benefited from his works to do the same.

As a parent, and a Python programmer, I have no words except to pass my condolences on to his family and friends. I was never lucky enough to meet John except through his works, but I consider him a friend nonetheless.

Comment

Stompy: The Giant, Rideable Walking Robot

by jesse in


Meet Stompy - an open-source 18ft wide, 4000 pound 6 legged robot...

You can ride.

This is pretty cool - the team - Project Hexapod - is located in Somerville MA, just up the road from me. Now, you're like "oh that's cool, but what the heck does it have to do with me - or Python? Quoting James Whong, one of the project leads:

We use python extensively - almost exclusively - on this project.  We decided to put as much of the codebase as we could get away with in Python to lower the barriers to contribution among our students, many of whom are not programmers professionally.  We see Python as one of the big enablers of our aggressive timeline and collaborative development process.

I've said it before - and I'll say it again - Python can scale down to the lowest level - kids, students, people just learning to program and up to large scale distributed systems, websites, etc. Projects like Stompy - and the Raspberry Pi project bring together the world of software and hardware in ways that can inspire and invigorate.

Python really is everywhere - it can lower barriers for people to enter into the world of programming (and robotics) in ways that are becoming more and more apparent. 

If I had the cash I'd feed that kickstarter like a boss and get the lovely Python logo on a leg that gets imprinted on the ground at every step. 

Heck yeah. Robots!

Comment

Python.org Redesign Proposals: Due in 7 days.

by jesse in , ,


I hope you didn't miss all the posts, but if you did, the Python Software Foundation opened a Request For Proposals for the complete overhaul and redesign of Python.org a little while ago. The deadline for proposals is July 21st 11:59pm - that means you have 7 days left to submit proposals/bids.

If your team/organization is planning on submitting a proposal; and might need a little time, it would be good to let the us know that ASAP - you can send email to jnoller@python.org or the team at psf-redesign@python.org.

Comment

Python.org Redesign Request For Proposals

by jesse in ,


Well, it's official - a labor of love from myself and many others - with special thanks to Andrew Kuchling for getting it over the finish line. The Python Software Foundation has officially announced a call for proposals for the redesign of the Python.org site and properties.

You can see the RFP here: http://pythonorg-redesign.readthedocs.org/en/latest/

It's taken me several years of false starts, other attempts (including skunkworks attempts), political and social discussions, and the hard work of many to make this come to fruition. Now, we can only sit back and hope that we see some amazing proposals from the community and others.

I sincerely hope this will be successful, and that we will see a modern, well designed Python.org that showcases not only the language, but the vibrant, open, welcoming and active community we are all part of. 

Comment

PSF Grants, and some additional color

by jesse in , ,


Doug Hellmann and Mike Driscoll put up an excellent post on the Python Software Foundation blog about most of the grant-type work that the foundation performed over the 2011 year. To add some color to it - reviews and discussions about grants and awarding this comprises quite a bit of the board-level work that goes on (excluding individual committees).

You can see from the post quite a bit of the capital spent goes to support other conferences - as I've stated before, money that comes into the foundation in the forms of donations and PyCon "revenue" goes back into the system to be issued out to things like this.

This is why I am so hot to encourage grants around Porting to Python 3 - I think that the PSF can, in the next year, increase grant work for conference and outreach as well as developer work (such as porting libraries and other projects). None of these things should be solely focused on CPython alone - PyPy, Jython, etc should all be recipients of grants.

And therein lies the rub.

The PSF does not "go looking" for places to issue grants - the PyPy grant at PyCon 2011 was a bit of an aberration in that I proposed it to the board directly.

We need applications from the community! We can do things such as cover meetup fees for user groups, or help fund conferences, or development work. Jessica McKellar, I and others recently revamped the PSF grants page to hopefully provide a better outline of how grants work.

If you have more questions - feel free to ask me here or via email - the PSF's mission is happily broad, and we're here to serve and represent the community as best we can. But we do need to hear from you!

 

 

Comment

2011 In Review: The Python Portion

by jesse in , , ,


As I said in my post this morning - "2011 in Review: The Personal Portion" - it's that time where we're all taking stock and reflecting back on 2011.

In this post's case, I'm taking stock of the things that changed for me - things that stick out in my mind and projects I've either started, floundered or run completely into ground.

Design and Experience Matter

Perhaps the biggest shift for me in Python-as-a-whole is a movement more towards the social / management aspects. I'm a Python Software Foundation board member, so obviously me needing to take a "bigger view" isn't that surprising. What has been surprising to me is that everywhere I turn, I see things we as a whole can do better.

Now, before you think I'm about to go off the deep end; let me assure you - I wouldn't trade the community I'm lucky to be part of for anything, as I've said more eloquently before. However, only a fool believes that anything is perfect, and only the insane only focus on the flaws.

Taking a step back, I've seen more and more things that I think we can do a better job at, and these realizations all revolve around my continued "transition" from more back-end to more front-end design and coding. As I've become more focused on the users/community and those who are new, I've grown to internalize the fact that design and experience matter not only in code, and in a GUI, but they matter to a community and language as a whole.

I've spent the better part of this past year focused on issues around this - encouraging people to get involved in the "softer" side of things - helping out with documentation, mentorship and education, trying to get people to think more about one another and those just getting started and introduced to things.

I think that we as a community - and I mean everyone - from Django to Plone, from Twisted to Tornado, from PyPy to cPython can take a look at the "more human" aspects and find things to improve. Sometimes it requires fresh eyes to show you what's broken - people who do code reviews regularly know this.

For an example, look at Kenneth Reitz' Requests module - billed as "HTTP for Humans" - this might be a perfect example of the point I'm trying to get across. Built on top of "less friendly" libraries, it's API is a joy to use. It's simple, it's clear - the documentation is well done and the entire project feels very welcoming. Perhaps "Welcoming" is the best word for what I'm looking for.

I get stuck in wanting to fix "all the things" - and I can't help but get mired down in the details of how we make everything more welcoming and the experience better, how do we lower the barrier and reduce friction. The result is that I've broken my promises to myself and taken on more things than I can possibly hope to do justice.

How do we make things more welcoming, how do we help the new people, how do we help those of us growing stuck in our ways to find and explore new things? How can we do this as a community to lift us all up? What I think we need is a series of small, positive changes. Little things like, say:

  • User friendly READMEs and Documentation. Yes - I said friendly - don't assume your users are magical super smart engineers and users. While the article is more web focused, I enjoyed "The Myth of the Sophisticated User" - please don't assume people are running bleeding edge version of everything, and please don't assume everyone knows 20 years of Python package development.
  • Mentorship! Set up something within your project or team that is focused on mentoring people to a point where that person is comfortable to be a contributor.
  • Stop the vitriol. If you find yourself angry when you're typing that reply to a mailing list; walk away. If you see others being hostile or just flat out rude, call them out on it (privately first, no reason to be a jerk). Aim to be polite and welcoming.
  • The next time you're putting something up on the web? Take a moment to think about or learn about making something - yes - pretty and usable. Even if it's something simple, take a moment to realize that you're building something that may be your future user's first experience with you. It may be as simple as picking up "Design for Hackers" (which I quite liked) or just going with something with sane defaults - like twitter bootstrap.
  • Speaking of sane defaults - please be opinionated. When a new user wants to install something, don't give them the complete history of packaging, just gently explain to them how to do it. Even if I don't agree with the way you do that, it's a far cry from 20 years of development history being dumped on someone when a simple pip install <blah> could work. The same goes for your software: Pick sane, rational defaults and abstract away as much as you can. Put examples of usage before the API in documentation.
  • APIs and syntax matter: your communications channels to your users are APIs and syntax just as much as your actual code and libraries.

Moving on - I hate to say it this way; but think of the Users and target audience. Remember, you - the person reading this - and I - are in a tiny minority of the population where software (for the most part) isn't magic, we understand history and we're very tolerant of unfriendly things and failures because that's how we "grew up".

Not everyone knows how to build an interpreter; or a web framework - it doesn't mean they still can't contribute.

The Python Software Foundation

As most of you know - I am one of the directors of the Python Software Foundation, and have been the past two years. 2011 was another year where the PSF got to do some pretty cool things. I've been stressing and pushing more and more that the PSF has to be focused not just on the "IP" of Python, or just on cPython development - we have to take a larger view of the entire community - this means encouraging projects such as PyPy, outreach workshops, conferences, etc via grants and support.

You should really take a look at the Python Software Foundation's blog - Doug Hellmann, Brian Curtin and others have done their best to document and showcase what the PSF has been up to, and where we're trying to help.

My primary focus has been encouraging things such as the Outreach and Education committee, and working behind the scenes with a lot of people to improve the Python.org infrastructure. More recently I've been working on a project which should hopefully become public soon - but is tied to my first point about Design and Experience and the PSF.

I want the PSF to grow in the good works it performs - more grants as we can afford it, getting better hosting for things as needed, helping out projects like Read The Docs or helping push forward Python 3. The PSF is the Python Software Foundation - we need and should be supporting and helping everything from PyPy to PyPI, cPython to Scipy.

I think the best way for me to help here is to pick up where I left off documenting the PSF. Once again - the design and interface matter.

The Sprints Committee

As part of my board work back in 2010 I helped start the Python Sprints project - and under Brian Curtin's guidance in 2011, it has continued to make small donations in places it matters. In 2012, I'd like to see if I can spin back around and help it grow more and flourish, perhaps even be able to provide more money where it's needed. It's growth has been slow - but that's also due to us seeing less sprints overall it seems.

GetPython3.com

Started as a side project (yes. another one. sigh.) Get Python 3 is meant to serve as a pile of information and resources about Python 3 - and as many of the aspects of Python 3 as possible. Where to get funding, how to port, what is ported. I've actually gotten some excellent help from others (see github) and I'm hoping to grow it more. I've gotten pretty good feedback on it - and I never turn down a patch!

Python (Core) Mentorship

Driven from my experience with the first point about being welcoming, I've done my best to spin up the Python Core Mentorship group, a team / list focused on mentoring new people into contributing to core Python. To quote the home page:

The mission of the Python Core Mentor Program is to provide an open and welcoming place to connect students, programmers – and anyone interested in contributing to the Python Core development. This project is based on the idea that the best way to welcome new people into any project is a venue which connects them to a variety of mentors who can assist in guiding them through the contribution process, including discussions on lists such as python-dev, and python-ideas, the bug tracker, mercurial questions, code reviews, etc.

While traffic is low, I think it has done it's job - as with everything else on my list, I'd like to see growth - as it is, due to everything else on my plate, others have stepped up to help lead and guide the group. As it is, I've run into a case where as I've found with many other projects like this - people are already "tapped out" - myself included. More on resource contention later - and I should really do a poll and gauge the list for the relative level of success they feel the group has engendered.

Python Speed Project

Another side-burner project is the Speed.python.org project - this one makes me sad(der) than my other time-starved projects. While we have finally been able to set it up as a PyPy build slave and have it feeding results to speed.pypy.org (see the speed-python results), it has not taken off as much as I hoped. We have a beast of a machine (see my initial announcement) - but we've hit the resource wall like everything else. Not enough people with enough time and the right skills.

The Elephant in the room: PyCon 2012

My single biggest project this year has been getting PyCon 2012 ready to fly - everything from getting the new website launched, the staff assembled, writing a code of conduct, and providing white-glove service and support (and getting) our amazing list of sponsors.

I can't really estimate how many hours I've "worked" on Python - but I can tell you every hour has been worth it. Even though it's sucked my time from other things and projects, it looks like it's going to be an amazing conference. We have robots, we have amazing talks, amazing keynote and plenary speakers (Paul Graham and Stormy Peters for starters). We have awesome tutorials and even more to come.

PyCon represents the single biggest "community act" that the Python Software Foundation performs - not only does the PSF fund PyCon, but it manages it, assumes the risk, etc. I wrote about it in detail in my post "Making the Case for Sponsorship" and in the "Everybody Pays" post. I'm hoping to continue to write up more and more of the details of the inner workings of PyCon, as I think it's an important series of data points and lessons. Remember - any funds "left" from PyCon go the PSF which allow the foundation to issue grants to other conferences, to developers, groups and workshops. It helps us help you.

PyCon 2012 is the thing I am most proud of; we have 80 sponsors and partners (Such as OpenHatch and PyLadies), we have a solid team of organizers working together to bring PyCon 2012 to fruition. We have a robust financial aid program as is tradition. I can only hope that I have the tenacity and will to see it come together and be able to look at a sea of 1500 Pythonistas - new and old in Santa Clara.

ps: You can register here. :)

Blood from a Stone

How do you get more time from people who are busy? Time and Time again, I've found myself asking that question. Each one of the projects I've listed has hit the same issue over and over again. How do you get the volunteers necessary to help? Heck, even my call for help with multiprocessing in August fell on a mostly flat note - probably due to me.

I no longer feel "ok" asking for help with new projects simply due to the fact that I know everyone is busy - it's insane of me to ask people to take their time away from their projects or families or jobs.

What that means however is that I have completely failed in the not-taking-on-new-things department - and I don't see this changing much without me flat out learning to tell myself "no". I believe in this community - I believe in the people, the friends I have, the language and everything involved. It's not just another tool for me; it never has been. I'm still learning, and mostly failing (or flailing, depends on where I'm standing).

Finishing this one off

Looking at the list I've typed out above, I suddenly have the feeling that I didn't actually do much last year, I know thats wrong (a nasty look from my family members would easily remind me of that). I have been able to help out where I can making things more friendly, more welcoming and to reach out when and where I can to offer help, and support.

I've watched the community change in some dramatic ways, I've looked on as PyPy has gained amazing momentum, more and more vendors and companies have come out with Python support and stating that they're using Python (and are hiring). I've gotten to work with PSF members, the board, and many, many others - all I can do is keep at it, and hope I do things justice.


Quick example of extending UserCreationForm in Django

by jesse in ,


I just banged my head against this, and with no good answers floating around out there, I thought I'd share. In my case, I just wanted to extend the basic django.contrib.auth.forms.UserCreationForm in order to make it so when a user was added, an email address had to be supplied in addition to the username and password fields.

Here is a working example (forms.py) - just so I don't forget it:

from django import forms
from django.contrib.auth.models import User
from django.contrib.auth.forms import UserCreationForm

class UserCreateForm(UserCreationForm):
    email = forms.EmailField(required=True)

    class Meta:
        model = User
        fields = ("username", "email", "password1", "password2")

    def save(self, commit=True):
        user = super(UserCreateForm, self).save(commit=False)
        user.email = self.cleaned_data["email"]
        if commit:
            user.save()
        return user

You have to modify the save method on the form to add the email to user object returned by the super call. You can use this to expose other fields on the User object as needed.

Comment

Porting to Python 3: An offer for you.

by jesse in ,


35gb00

Recent posts and discussions around porting of existing libraries and frameworks to Python 3 have been pretty interesting. I think that there have been a lot of good points brought up in the discussion (See: Armin's Post (and followup), Nick's entry on Python 3 and Nick's email to Python-Ideas).

On a personal level; I've felt frustrated that there's not much that I can do myself - I do believe that 2.7 is the proper end of the road of Python 2, and I do think that Python 3 is the future of the language. Does that mean Python 3 is perfect? Oh hell no. Does it mean that we can do work to make Python 3 the "Python 3" we all want and need?

Yes it does.

So; while there is nothing I can do directly other than continue to work on the site I've been slowly building - GetPython3.com with help from the community - there is an aspect I can help with from a Python Software Foundation / Grants level. That means money (well, not unlimited).

As some of you might know - the PSF has actually issued grants to developers who have applied to port important libraries to Python 3 - as I say on the GetPython3 page:

In short: yes - there's a bevy of information, videos and blog posts out there that can help you on your way. Python 3 is the future of the Python language, and entities such as the Python Software Foundation strongly believe in supporting the porting effort.

For example, the Python Software Foundation has issued developer grants to port projects such as the email package, PyOpenSSL, and WebOb. It has also provided developer grants for other general Python development work, such as to Brett Cannon that allowed him to completely revamp the Python developer's guide.

The Python Software Foundation is here for not just CPython, or python-core, or python-the-language. It is here for Python - the community, it's efforts, its developers, designers and people.

Certain projects - most notably PyPy - have already started donation programs to help fund large-scale development efforts to Python 3. Others may soon follow.

Additionally to the grants-to-developers aspect - the PSF Sprints project has been issuing grants for Python sprints in general, which means you can apply / ask for a grant for a port-to-python3 workshop or sprint any time!

But; back to where I was going...

My offer to you, the community is this - I can not guarantee you will get a grant, or funding - but what I can do, and what is within my power as a fellow member and PSF Director is offer to help write, and review applications to the PSF Board of directors for grant applications.

That's right - I will assist you in writing an application that will be submitted to the PSF Board for approval, for grants aimed at porting libraries or frameworks to Python 3; or doing specific documentation / core work for Python 3. I can help you write it; provide templates, discuss it with you (I may have some elves help me) and ultimately help you put it in front of the board for approval.

Obviously; the PSF does not have unlimited funds; nor can it spend funds irrationally. Python 3 is important however - critically so - and while we can not fund everything, we can do what we can. I am aiming at libraries/frameworks which are in widespread use (e.g. notable) and that other projects/libraries/frameworks depend on heavily (for example, see the Py3k poll).

Before getting started, you should read the basic PSF Grant guidelines and you should look through the information on http://getpython3.com/.

If you are interested in this; drop an email to jnoller@python.org - I don't promise immediate up-to-the-second turn around - I've obviously got a lot on my plate right now, but I will do my best to help.


PyCon 2012 Proposals Due October 12 - 14 Days!

by jesse in , ,


The deadline for PyCon 2012 tutorial, talk, and poster proposals is under 14 days away, so be sure to get your submissions in by October 12, 2011 (as always, if it's October 12th anywhere in the world, submissions are still open!).

Whether you’re a first-timer or an experienced veteran, PyCon is depends on you, the community, coming together to build the best conference schedule possible - PyCon is first and foremost about the community, driven by volunteers both on an organizational level, and by speakers.

Our call for proposals lays out the details it takes to be included in the lineup for the conference in Santa Clara, CA on March 7-15, 2012. I should note that this year we have gone away from consistent groups of invited speakers - meaning, all talks, regardless of who submits them are not guaranteed a speaking slot. All talks are judged and reviewed on the merits of the talk and the speakers themselves.

If you’re unsure of what to write about, our recent survey yielded a large list of potential talk topics, and plenty of ideas for tutorials. We’ve also come up with general tips on proposal writing to ensure everyone has the most complete proposal when it comes time for review. As always, the program committee wants to put together an incredible conference, so they’ll be working with submitters to fine tune proposal details and help you produce the best submissions. Even if you are still incubating a talk idea: submit the proposal now in rough form and we can assist you in fleshing out and refining the proposal during the review process.

We’ve had plenty of great news to share since we first announced the call for proposals. Paul Graham of Y Combinator was recently announced as a keynote speaker, making his return after a 2003 keynote. David Beazley, famous for his mind-blowing talks on CPython’s Global Interpreter Lock, was added to the plenary talk series.

Sponsors can now list their job openings on the “Job Fair” section of the PyCon site as we previously announced - providing an excellent resource for job seekers, and providers.

We’re hard at work to bring you the best conference yet, so stay tuned to PyCon news at the PyCon blog and on Twitter at https://twitter.com/#!/pycon.

We recently eclipsed last year’s sponsorship count of 40 and are currently at a record 54 organizations supporting PyCon. If you or your organization are interested in sponsoring PyCon, we’d love to hear from you, so check out our sponsorship page.

And as always - quick thanks to all of our awesome PyCon 2012 Sponsors:

Thank you - and as always, feel free to reach out to the team or any of the staff with any questions you might have.

Comment