Showing posts with label grant. Show all posts
Showing posts with label grant. Show all posts

Monday, November 30, 2020

Releasing pip 20.3, featuring new dependency resolver

On behalf of the Python Packaging Authority and the pip team, I am pleased to announce that we have just released pip 20.3, a new version of pip. You can install it by running python -m pip install --upgrade pip.

This is an important and disruptive release -- we explained why in a blog post last year. We've even made a video about it.

Highlights

  • DISRUPTION: Switch to the new dependency resolver by default. Watch out for changes in handling editable installs, constraints files, and more: https://pip.pypa.io/en/latest/user_guide/#changes-to-the-pip-dependency-resolver-in-20-3-2020

  • DEPRECATION: Deprecate support for Python 3.5 (to be removed in pip 21.0).

  • DEPRECATION: pip freeze will stop filtering the pip, setuptools, distribute and wheel packages from pip freeze output in a future version. To keep the previous behavior, users should use the new --exclude option.

  • Substantial improvements in new resolver for performance, output and error messages, avoiding infinite loops, and support for constraints files.

  • Support for PEP 600: Future manylinux Platform Tags for Portable Linux Built Distributions.

  • Documentation improvements: Resolver migration guide, quickstart guide, and new documentation theme.

  • Add support for MacOS Big Sur compatibility tags.

The new resolver is now on by default for Python 3 users. It is significantly stricter and more consistent when it receives incompatible instructions, and reduces support for certain kinds of constraints files, so some workarounds and workflows may break. Please see our guide on how to test and migrate, and how to report issues. You can use the deprecated (old) resolver, using the flag --use-deprecated=legacy-resolver, until we remove it in the pip 21.0 release in January 2021.

You can find more details (including deprecations and removals) in the changelog.

Coming soon: end of Python 2.7 support

We aim to release pip 21.0 in January 2021, per our release cadence. At that time, pip will stop supporting Python 2.7 and will therefore stop supporting Python 2 entirely.
 
When users use pip 20.3 in a Python 2 environment, the old dependency resolver is still the default.

For more info or to contribute:

We run this project as transparently as possible, so you can:

Thank you

Thanks to our contractors on this project: Simply Secure (specifically Georgia Bullen, Bernard Tyers, Nicole Harris, Ngọc Triệu, and Karissa McKelvey), Changeset Consulting (Sumana Harihareswara), Atos (Paul F. Moore), Tzu-ping Chung, Pradyun Gedam, and Ilan Schnell. Thanks also to Ernest W. Durbin III at the Python Software Foundation for liaising with the project.
 
This award continues our relationship with Mozilla, which supported Python packaging tools with a Mozilla Open Source Support Award in 2017 for Warehouse. Thank you, Mozilla! (MOSS has a number of types of awards, which are open to different sorts of open source/free software projects. If your project will seek financial support in 2021, do check the MOSS website to see if you qualify.)

This is new funding from the Chan Zuckerberg Initiative. This project is being made possible in part by a grant from the Chan Zuckerberg Initiative DAF, an advised fund of Silicon Valley Community Foundation. Thank you, CZI! (If your free software/open source project is seeking funding and is used by researchers, check the Joint Roadmap for Open Science Tools Rapid Response Fund and consider applying.)
 
The funding for pip's overhaul will end at the end of 2020; if your organization wants to help continue improvements in Python packaging, please join the sponsorship program.

As with all pip releases, a significant amount of the work was contributed by pip's user community. Huge thanks to all who have contributed, whether through code, documentation, issue reports and/or discussion. Your help keeps pip improving, and is hugely appreciated. Thank you to the pip and PyPA maintainers, to the PSF and the Packaging WG, and to all the contributors and volunteers who work on or use Python packaging tools.
 
-Sumana Harihareswara, pip project manager

Tuesday, September 15, 2020

Answer these surveys to improve pip's usability

The pip team has been working on improving the usability of pip since the start of this year. We've been carrying this work out remotely - by interviewing pip users, by sending short surveys, and doing usability tests of new pip functions.

We want to thank everybody who is contributing input to this work and are taking part in this research, which is still ongoing. We've learned a lot about who uses pip and how you use it. This has helped the team make decisions to improve pip, such as error messages and documentation to help you fix dependency conflicts.

Our team has put together a User Experience (UX) section in pip's documentation to tell you about this UX work. It covers what has happened so far, how you can contribute, and what is coming in the future.

Contribute to current UX work

Right now, you can take part in a number of studies about:

  1. What pip features do you use most, and what pip feature you'd like to see - give your input by completing this survey
  2. How "pip force install" should behave - give your input by completing this survey
  3. How "pip --force-reinstall" should behave - give your input by completing this survey
  4. Help create a design brief for a pip logo - give your input by completing this survey
  5. What is your experience of using pip search - give your input by completing this survey

If you have time, the team asks for you to answer all of these surveys. You can do them in your own time, all at once or over a few days.

At the end of these surveys you can give your email address to be contacted for a short interview. These interviews will be via web conference/videocall.

Contribute to future pip UX work

If you want to contribute to our UX work in the future, please sign up to become a member of the UX Studies group.

After you join, we'll notify you about future UX Studies (surveys and interviews).

Contacting the pip UX Team

You can contact the pip UX Team by email.

We look forward to talking with you!

-Bernard Tyers, user experience, pip team 

Sumana Harihareswara, project manager, pip team

Monday, July 13, 2020

Pip team midyear report

The grant-funded team working on improvements to pip in 2020 has now passed the halfway mark. Here's an update on where are so far and what's next.

Funding and Timeline Status

The plan that we proposed last year said that, by now, we would have finished Foundational work (Phase I) and Resolver work (Phase II), and the team would be doing Maintenance and Sustainability work (Phase III). Please see the timeline for user experience work and the timelines for development work.

We are behind where we had planned to be in the work roadmap. This is partially because the COVID-19 pandemic disrupted our work, but also because of policy and architecture decisions the project needed, and because foundational user experience research work has taken more time than we originally allotted. Thus, we have finished the Phase I and Phase II sections of the development work, and are approximately 75% of the way through the Phase I and Phase II user experience work. See below for accomplishments so far.

Funding: we predicted that we would be approximately 80% of the way through our one-year project budget (since the second half of the year has a slower work pace, primarily focusing on maintaining and deepening the work we started in the first half). We are now approximately 71% of the way through the budget, which gives us flexibility for the second half of the project.

Accomplishments

  • pip's new dependency resolver is about to go into beta. We released pip 20.1 in April which included an alpha version of the new resolver (hidden behind an optional "--unstable-feature=resolver" flag, but usable). This month we will release pip 20.2, which will include a robust beta of the new resolver (hidden behind an optional "--use-feature=2020-resolver" flag) that we will encourage users to test.
  • User experience data-gathering included:
    • Administered 5 surveys to gather feedback about issues with the pip resolver and dependency management
    • Interviewed and/or did user tests with over 30 maintainers and users so far
  • UX findings and resulting improvements included:

Next steps

Phase III development work commences next month. We will continue to improve the pip dependency resolver in response to testers' feedback. This will help us prepare to release pip 20.3, with the new resolver on by default, in October. We'll also review and respond to code contributions and new issues, to keep up with the pip code and issue review queue, help new contributors develop into continuing contributors, and help existing contributors grow into co-maintainers.

And our user experience work will also enter Phase III, deepening and expanding foundational research in Python packaging. We will recruit more users for interviews and surveys, develop user journey maps & workflows, work with maintainers to write documentation and help messages, develop templates for UI bugs, commands, error messages, output, documentation, and configuration files, and teach pip maintainers UX practices.

For more info or to contribute:

We run this project as transparently as possible, so you can:

Thank you

Thanks to our contractors on this project: Nicole Harris, Bernard Tyers, and Georgia Bullen of Simply Secure; Pradyun Gedam; Ilan Schnell; Paul F. Moore of Atos; Tzu-ping Chung; Sumana Harihareswara of Changeset Consulting.
This award continues our relationship with Mozilla, which supported Python packaging tools with a Mozilla Open Source Support Award in 2017 for Warehouse. Thank you, Mozilla! (MOSS has a number of types of awards, which are open to different sorts of open source/free software projects. If your project is looking for financial support, do check the MOSS website to see if you qualify.)

This is new funding from the Chan Zuckerberg Initiative. This project is being made possible in part by a grant from the Chan Zuckerberg Initiative DAF, an advised fund of Silicon Valley Community Foundation. Thank you, CZI! (If your free software/open source project is used by biology researchers, check the Essential Open Source Software for Science Request for Applications and consider applying for the next round).

Thank you to the pip and PyPA maintainers, to the PSF and the Packaging WG, and to all the contributors and volunteers who work on or use Python packaging tools.

Monday, March 23, 2020

New pip resolver to roll out this year

The developers of pip are in the process of developing a new resolver for pip (as we announced on the PSF blog last year). We aim to roll it out later this year. (Updated 29 September to add: see our migration guide.) As part of that work, there will be some major changes to how pip determines what to install, based on package requirements. In this post we share:

What will change
What you can do to help
When this will be happening

To understand what pip does and why we’re working on it, please read our earlier overview post.

What will change

The most significant changes to the resolver will be:

  • It will reduce inconsistency: it will no longer install a combination of packages that is mutually inconsistent. At the moment, it is possible for pip to install a package which does not satisfy the declared requirements of another installed package. For example, right now, pip install "six<1.12" "virtualenv==20.0.2" does the wrong thing, “successfully” installing six==1.11, even though virtualenv==20.0.2 requires six>=1.12.0,<2 (defined here). The new resolver would, instead, outright reject installing anything if it got that input.
  • It will be stricter - if you ask pip to install two packages with incompatible requirements, it will refuse (rather than installing a broken combination, like it does now).

Also, this is a major change to a key part of pip - it’s quite possible there will initially be bugs. We would like to make sure that those get caught before people start using the new version in production.

(For deep technical details, see this in-progress GitHub milestone.)

What you can do to help

We recognize that everyone’s work is being disrupted by the COVID-19 pandemic, and that many data scientists and medical researchers use Python and pip in their work. We want to make the upgrade process as smooth and bug-free as possible for our users; if you can help us, you’ll be helping each other.

  1. First and most fundamentally, please help us understand how you use pip by talking with our user experience researchers. You can do this right now! You can take a survey, or have a researcher interview you over a video call. Please sign up and spread the word to anyone who uses pip (even a little bit).

  2. Right now, even before we release the new resolver as a beta, you can help by running pip check on your current environment. This will report if you have any inconsistencies in your set of installed packages. Having a clean installation will make it much less likely that you will hit issues when the new resolver is released (and may address hidden problems in your current environment!). If you run pip check and run into stuff you can’t figure out, please ask for help in our issuetracker or chat.

  3. Please make time to test the new version of pip, probably in May (see below). While we have tried to make sure that pip’s test suite covers as many cases as we can, we are very aware that there are people using pip with many different workflows and build processes, and we will not be able to cover all of those without your help.

    • If you use pip to install your software, try out the new resolver and let us know if it works for you.
    • If you have a build pipeline that depends on pip installing your dependencies for you, check that the new resolver does what you need.
    • Run your project’s CI (test suite, build process, etc.) using the new resolver, and let us know of any issues.
    • If you have encountered resolver issues with pip in the past, check whether the new resolver fixes them. Also, let us know if the new resolver has issues with any workarounds you put in to address the current resolver’s limitations. We’ll need to ensure that people can transition off such workarounds smoothly.

    As you and your colleagues plan for the next few months, please set aside time, ideally in May, to test the new resolver and tell us whether it breaks anything for your setup by filling out this survey. If you maintain an open source project or use pip at your job, you can make a ticket now and put it in your backlog.

  4. Spread the word! If you know of other people who rely on pip, who might not have seen this message, let them know. You can do this right now.

  5. And if you develop or support a tool that wraps pip or uses it to deliver part of your functionality, please make time to test your integration with our beta in May, and sure that the new resolver doesn’t cause you any issues. (It shouldn’t, as the resolver is an internal component of pip and shouldn’t be visible to people embedding pip, but we’d like to be sure of that.)

When this will be happening

We intend to release the new resolver early in the second half of 2020. We will provide alpha and beta releases before that point as the work progresses (probably starting in May), and we’ll provide a GitHub issue tracker and an email address where you can report bugs. We would appreciate as much feedback as we can get on the betas when they become available.

(We were already working as a distributed team. The COVID-19 pandemic and related disruptions are affecting us – for instance, we were aiming to meet, work together, and test and discuss our work at PyCon US. But we still anticipate releasing the new resolver in the second half of 2020.)

To find out when the new beta is available for testing, and how to report problems, subscribe to the pypi-announce mailing list. It’s very low-traffic.

(Why now? The Python Software Foundation’s Packaging Working Group obtained funding for this work because it’s sorely needed; many other features and tools are blocked waiting for this fix. We’ve spent years addressing technical debt in pip so we can properly untie this knot and refurbish the resolver. We started this chunk of donor-funded work on pip a few months ago and it’s now gotten far enough that we can make this pre-announcement.)

Thank you to the pip and PyPA maintainers, to the PSF and the Packaging WG, and to all the contributors and volunteers who work on or use Python packaging tools. And thank you to Mozilla (through its Mozilla Open Source Support Awards) and to the Chan Zuckerberg Initiative DAF, an advised fund of Silicon Valley Community Foundation, for funding enabling this work!

Wednesday, December 04, 2019

Mozilla and Chan Zuckerberg Initiative to support pip



The Python Software Foundation is receiving $407,000 USD to support work on pip in 2020. Thank you to Mozilla (through its Mozilla Open Source Support Awards) and to the Chan Zuckerberg Initiative for this funding! This foundational, transformational work will release Python developers and users to concentrate on the tools they're making and using, instead of troubleshooting dependency conflicts. Specifically, CZI and Mozilla are funding user experience, communications/publicity, and testing work (including developing robust testing infrastructure) as well as core feature development and review.

 

What we're doing with the money

Computers need to know the right order to install pieces of software ("to install x, you need to install y first"). So, when programmers share software, we have to precisely describe those installation prerequisites, and our installation tools need to navigate tricky situations where they're getting conflicting instructions. This project will make pip, a package installer for Python, better at handling that tricky logic, and easier for people to use and troubleshoot.

Millions of people and organizations use tools written in Python, and nearly the entire ecosystem of Python software projects depends on pip. Our project will help everyone more easily install software, diagnose and fix problems, and maintain infrastructure.

The Chan Zuckerberg Initiative funding is, in particular, aimed at improving Essential Open Source Software for Science. Scientists use many tools written in Python -- many of CZI's awardees in this round are written in Python -- but, also, researchers often want to write tools and share them with each other to help science advance faster. Our work will include research and improvements so the installation process will be easier to use and understand, which will enable researchers to build better applications and compose complex toolchains more easily.

We've laid out a detailed three-phase work plan on our pip 2020 Donor-funded Roadmap wiki page. To summarize:

  • Mozilla is awarding PSF a Mozilla Open Source Support Award (Track I: Foundational Technology) for $207,000, which is paying for 5 months of:
    • Python development work: Reviewing and responding to open issues and pull requests, refactoring build logic, collaborating with downstream projects and users about config flags and transition schedules, working on the dependency resolver itself and fixing bugs.
    • Initial user experience research and design work: Reading existing bug reports and posts about Python package management confusion, interviewing users and running user tests, developing user journey maps and workflows, and working with maintainers to write documentation and help messages and to design resolver user experience.
  • CZI is giving PSF an Essential Open Source Software for Science grant for $200,000, which is paying for:
    • 12 months of Python development, test infrastructure, and project maintenance: Triaging bugs and reviewing pull requests, writing test cases, testing lead developers' work, building test infrastructure, investigating and fixing bugs, and writing the raw material for documentation to help future maintainers onboard better.
    • 4 months of Phase III user experience research and design work: Training maintainers in UX design, doing further user tests on the new pip, developing a checklist for developing new features, and making templates for commands, error messages, output, documentation, and config files.
    • Travel for initial developer onboarding and for some contributors to attend PyCon North America.
  • And both CZI and Mozilla are paying for project management (planning, testing, editing, coordinating, communicating with stakeholders, announcing, reporting to funders, and getting obstacles out of everyone's way) and PSF administrative work (recruiting and overseeing contractors, project oversight, and financial processing).
The Packaging Working Group is currently selecting contractors for the programming parts of this work. The other two contractors have already been selected:

 

Why this and why now?

We're partway through a next-generation rewrite of pip's dependency resolver. The project ran into massive technical debt, but the refactoring is nearly finished and prototype functionality is in alpha now.

We need to finish the resolver because many other packaging improvements are blocked on it, it'll fix many dependency issues for Python users, and it'll fix installation problems for conda, certbot, WebSocket, and many other projects. And we need to improve pip's UX by providing better error messages and prompts, logs, output, and reporting, consistently across features, to fit users' mental models better, make hairy problems easier to untangle, and reduce unintended data loss.

The Packaging Working Group looks for potential improvements in Python packaging and distribution that are well-scoped, have community consensus, and could be expedited through funding. In the past three years, the Packaging WG has received funding for several improvements to PyPI -- $170,000 from Mozilla, $80,000 from OTF, and $100,000 from Facebook -- and is seeking to help other packaging tools. In June, pip maintainers and Packaging Working Group members discussed the importance and difficulty of rolling out the new resolver. We worked together to write and submit proposals to Mozilla and the Chan Zuckerberg Initiative.

 

What's next?

This work will start by early January 2020. Day-to-day work will mostly happen in pip's GitHub repository and the Python developers' Zulip livechat. You can check for regular reports at the Python Insider blog and the Packaging category of Python's Discourse developer forum, archived at the Packaging WG's wiki page. And we'll publicize calls for volunteers, especially for user interviews and tests, on this blog, on community mailing lists, and on Twitter.

The Packaging WG will continue to seek funding for future improvements in pip, manylinux, setuptools, the Python Packaging User Guide, PyPI, etc.

 

Thanks

This award continues our relationship with Mozilla, which supported Python packaging tools with a Mozilla Open Source Support Award in 2017 for Warehouse. Thank you, Mozilla! (MOSS has a number of types of awards, which are open to different sorts of open source/free software projects. If your project is looking for financial support, do check the MOSS website to see if you qualify.)

This is new funding from the Chan Zuckerberg Initiative. This project is being made possible in part by a grant from the Chan Zuckerberg Initiative DAF, an advised fund of Silicon Valley Community Foundation. Thank you, CZI! (If your free software/open source project is used by biology researchers, check the Essential Open Source Software for Science Request for Applications and consider applying for the next round).

Thank you to the pip and PyPA maintainers, to the PSF and the Packaging WG, and to all the contributors and volunteers who work on or use Python packaging tools.

Wednesday, March 21, 2012

User groups: the PSF can help cover your meetup.com fees

Did you know that the PSF has a budget to cover Python user groups' meetup.com fees?
Well, we do! The PSF can:
  • reimburse user group organizers for fees paid to meetup.com in the past year
  • prepay annual fees for meetup.com Python groups
You can read the comments on the proposal that established this budget in the PSF board meeting minutes from April, 2009. To get a grant to cover your user group's meetup.com fees, please submit a proposal to psf@python.org.
http://farm7.staticflickr.com/6112/6320029253_00b62e708e.jpg
Here is a sample proposal:
Grant Proposal: $144 to cover the cost of the Boston Python user group’s meetup.com subscription for six months: January through December of 2012.
Grant Objective: Fund the use of meetup.com for organizing and managing the Boston Python user group for a 12 month period. meetup.com helps to increase the visibility of the user group, as well as boost attendance through automated reminders, RSVP functionality, and other tools. It also makes organizing and promoting the group easier, as well as providing a platform to garner sponsorships and thank sponsors publicly.
Grant Size: $144 total, which is the cost of 12 months to organize a group on meetup.com.
Grant Beneficiaries: The Boston Python user group has over 1500 members on meetup.com. We have had monthly meetings since before 2007 and have an average attendance of 60-100 Python programmers. meetup.com provides a centralized location where our members see what’s coming up and who has RSVPed for the meeting. Members can also leave comments about the group itself.
This subscription will also benefit Python programmers who may not yet know about the group by providing highly visible insight into what we do and why they may want to join. meetup.com is a well-known site for people looking for like-minded individuals, providing us good visibility for new members. It also cross-promotes groups to each other, encouraging members of other tech groups to consider joining ours. We get several new members each month who find us on meetup.com.
Preferred method of funds delivery: A deposit into the PayPal account for meetup@bostonpython.com.
Q: My user group uses a site other than meetup.com to advertise events. Can we still get reimbursed?
A: The April 2009 proposal is specifically for meetup.com fees, but you are still encouraged to submit a general grant proposal for a particular expense to psf@python.org.
Q: How else can the PSF help my user group financially?
A: You can apply for a grant through the PSF Grants program.



Edited 15 February 2016 to remove references to the Sprints and Outreach and Education Committees, which are now retired.

Tuesday, November 22, 2011

Boston Python Workshop PSF Grant

(This is a guest post by Jessica McKellar, a Boston Python User Group organizer and co-organizer of the Boston Python Workshop for women and their friends.)

I am thrilled to report that the Python Software Foundation's Outreach and Education Committee awarded a $3300 grant to the Boston Python Workshop to support and grow the workshop over the next 8 months. We are excited to continue our successes at bringing more women into the Boston Python community and to take the show on the road!

http://farm7.static.flickr.com/6226/6320814648_9b1e3b0d83.jpg

The Boston Python Workshop

The Boston Python Workshop is a free, volunteer-driven introduction to the Python programming language for women and their friends who have no or limited programming experience. We run the workshop every 2 months for between 30 and 50 women, and it has run 4 times so far. We strive to:
  • Show new programmers and the Boston Python community examples of smart, confident, capable programmers of all backgrounds.
  • Bring new, awesome, diverse people into the local Python community through diversity and outreach events.
  • Inspire others to run their own introductory workshops and outreach events, and to get more user groups thinking about diversity and outreach.
An important part of our philosophy is a commitment to running the workshop as part of the local user group.

This Python Software Foundation grant will help us run the next three workshops in Boston and bootstrap workshops in 3 new cities. As a result of this grant:
  • Over 200 women will learn Python fundamentals and join their local programming communities as empowered, confident beginners who are excited to continue learning.
  • 3 new Python user groups will learn how to run high-quality diversity outreach events.
  • Volunteers at the workshops will get experience with public speaking and teaching technical content -- a great stepping stone to leading future PyCon talks and tutorials!
  • The Python community as a whole will continue to benefit from our shared, online, Creative Commons-licensed workshop material as we expand and refine it.
http://bostonpythonworkshop.com/images/bpw_group.jpg

Results

The workshop has resulted in dramatic, lasting diversity improvements for the Boston Python User Group. Many workshop alums are now fixtures at our hack nights and lecture-style events, and the group has gone from 0-3% women at its events to consistently over 15%. Additionally, group membership has doubled since the workshops started, to over 1350 people, making it the second-largest Python user group in the US.

If you do the math you'll see that we aren't just bringing women into the user group through the workshop. The secret is that running beginner-friendly outreach events for women focuses the group on being more welcoming to everyone. Our monthly hack nights grew out of the workshop and are one example of bringing beginner-friendly ideas from the workshop to the group as a whole. The Boston Python user group is now a more diverse and vibrant community full of beginners, scientists, artists, entrepreneurs, and people switching to a career in software/IT, and we're very happy that the workshop has played a significant role in this.

Beyond Boston

We want to help other user groups see the same kinds of successes that we've had here in Boston, and a large part of this PSF grant is dedicated to bootstrapping workshops in other cities. If you want to bring the workshop to your city, read the full grant proposal and get in touch!

All of our material is online and shared through a permissive Creative Commons license. Check out an example curriculum and photos from the workshops. Our goal of stress-free experiences for attendees makes our material a good base for other intro events; for example, we believe our cross-platform installation instructions for Python are the best we've seen.

We look forward to a larger, more diverse Python community, and we want to thank the Python Software Foundation for supporting our efforts. The Outreach and Education Committee, PSF Grants program, and PSF Sprints program are all interested in new grant requests to push the Python world forward. Make something awesome happen in your city!

Monday, April 04, 2011

PSF Grant Funds Porting Work for the email Package

R. David Murray recently completed work funded by the PSF to update Python's email package to work with Python 3.2. The result of the project is a fully functioning version of the standard library package for parsing and constructing email messages.

Project History

The version of the email package that was shipped with Python 3.0 and 3.1 had some bugs, not the least of which was the inability to handle binary inputs. The parser was limited to files and messages in ASCII. Due to this, under Python 3 the email module could only create messages and never receive anything. This deficiency broke many applications that depend on email. For example, the cgi package uses the email package to process binary uploads.

After discussions held in the email-sig discussion group, a complete rewrite of the API was suggested as the only option and R. David Murray submitted a proposal to the PSF to fund the development of Email 6. The proposal was initially accepted, and some seed money (including matching funds) were provided. Since then, additional funding has been provided by QNX.

At first, David spent some time working on the Policy framework, and with some help from Antoine Pitrou, who fixed some issues in the nntp module, David devised a way to integrated byte handling in the email package without a complete rewrite of the original code by using extensions to the API that allow it to accept and generate bytes. The implementation used the "surrogateescape" mechanism, developed by Martin von Löwis, allowing minimum code modifications.

David also provided some modifications to smtplib, enabling it to transmit messages with non-ASCII characters. He also worked with Victor Stinner to give the cgi module the ability to handle binary data. They then took on the task of updating the mailbox module, and using the new features coded initially by David, made mailbox fully functional for Python 3.2.

David mentions that there are still some bugs, specially in the transition to the string/byte separation, but, also according to him, these bugs were greatly reduced in version 3.2.

All this work gave Python 3.2 a fully functional email handling package. The nntplib, smtplib, email, cgi and mailbox modules were also made functional, something that benefits the whole Python community. The grant provided by PSF paved the way to reach full functionality.

Monday, March 28, 2011

Funding the Python Miro Community

A year ago Will Kahn-Greene started the Python Miro Community, a web-site that indexes Python-related videos regardless of where those videos exist on the Internet. The PSF has provided US$1,800 to finance continuation of this work, including US$900 for one year of Miro Community service costs. The remainder of the grant will go toward further development of the Python Miro Community.

Miro Community

The Miro Community offers an easy way to collect and curate videos already on the internet. It is one of several projects of the non-profit organization Participatory Culture Foundation all centered around supporting distribution of video content on the Internet. Among these is Universal Subtitles, a toolset and community to add subtitles to any web video.
The Python Miro Community indexes Python-related videos from many separate hosting sites on the Internet. The collection includes metadata for the videos to make them searchable and more useful to people. The site currently holds around 550 videos, covering a wide variety of Python-related topics from Python user groups, Python-related conferences like PyCon, and other sources.

Funding usage

US$900 of the grant will go towards Miro Community service costs as PCF rolls out Miro Community 1.2, which has a tiered service plan. The other US$900 of the grant will go towards improvements to Python Miro Community:
See also Will's blog on the grant and for additional information.

Thursday, March 17, 2011

PyCon Australia

The PSF Board of Directors has awarded a $1500 USD grant to sponsor PyCon AU.

Date and Location

PyCon Australia 2011 will be held in Sydney on the weekend of the 20th and 21st of August in Sydney, Australia. The Call for Proposals has already been sent out.

PyCon AU

Australian Python programming enthusiasts are continuing the global PyCon tradition in Sydney. This will be the second Australian PyCon event, and the organizers anticipate 250 participants. The schedule will include dozens of presentations on topics including web programming, business applications, game development, science and mathematics, social issues, education, testing, databases, documentation and more.

More Information

For more details, refer to the PyCon AU website or mailing list.

Monday, March 14, 2011

Call for Applications: Sprint Funding

The PSF Sprints Committee has sent out a call for applications from groups who want funding to host sprints on Python-related development work.

Sprints Committee

The Sprints Committee was established in June 2010 to encourage and assist groups to come together to work on Python-related projects. The committee has successfully funded a number of sprints since it was created, and the PSF Board of Directors has recently set aside additional funding to be used for sprinting during the upcoming year.

Sprint Topics

Sprints on any topic related to Python may qualify for a grant. Groups can work on any of the interpreters (CPython, PyPy, Jython, IronPython, etc.), modules from the standard library, third-party libraries, development tools, or anything else affecting the community.

Sponsored sprints have covered topics including porting Genshi to Python 3, improvements to packaging as part of the Distribute/distutils project, and most recently, the PyPy winter sprint in Switzerland. Check out the sprints blog for more details.

Assistance

The Sprints Committee has prepared guides for sprinting on Python core and porting to Python 3 to help make your event successful. In addition to organizational support, the committee can also offer financial assistance in the form of grants.

Any sprint group can apply for a grant from to cover expenses directly related to a sprint event. That includes buying meals, renting meeting space, and other reasonable expenses. The maximum grant for an event is US$300.

If your group is interested in hosting a sprint, check out the full details of the call for applications at and contact the Sprints Committee at sprints@python.org.

Wednesday, March 09, 2011

PSF Funds readthedocs.org

The PSF Board has awarded a grant of USD $840 to the Read the Docs project for twelve months of hosting fees.

Read the Docs

Created by Eric Holscher, Charles Leifer, and Bobby Grace, readthedocs.org is a documentation hosting site born out of the 2010 Django Dash competition. The site monitors git, Mercurial, and Subversion source repositories and automatically builds a project's documentation using Sphinx. Users can also create documentation directly through the site using a built-in editor.

The code for Read the Docs is itself open source, and contributions from users and other interested parties are always welcome.

More Details

The original announcement of the site describes the background for the project and its motivation.

Eric's presentation at PDX Python in February 2011 includes details about the tools used to build the site.

The Getting Started Guide covers all of the details you need to add the documentation for your project to the site.

Monday, July 19, 2010

PyCon India 2010 Grant

The PSF Board has offered a grant of $1,000 organizers of the PyCon India 2010 conference to fund the travel expenses of one foreign delegate from the U.S. or Europe to attend the conference.

Conference Details

PyCon India 2010 will take place on September 25 and 26 at the M S Ramaiah Institute of Technology, Bangalore. The organizers are seeking proposals for presentations until July 31.

See the PyCon India web site for more details about the conference.

Thursday, July 15, 2010

EuroPython 2010 Grant

The PSF Board has offered a $2,000 grant to the organizers of EuroPython 2010 to fund sprints and the travel expenses of selected sepakers who could not otherwise attend the conference.

Conference Details

EuroPython will be held July 19-22 in Birmingham, UK. As previously mentioned, this year's conference marks the first time a PSF members' meeting will be held outside of the United States.

See the EuroPython web site for more details, including the list of confirmed speakers and conference schedule.