Thursday, December 20, 2018

Upcoming PyPI Improvements for 2019

The Python Package Index (PyPI) is far and away the largest and most visible service that the Python Software Foundation (PSF) supports for the Python community. Throughout the project’s 16 year history, it has primarily relied on volunteers and donated services to operate as it grew from an empty repository to one hosting more than 1.1 million releases for over 162,000 projects and serving more than 2.2 petabytes in 13.8 billion requests in the last month.

In November 2017, we announced an award from the Mozilla Open Source Support (MOSS) program that made it possible to launch the ground up rewrite of PyPI’s backend in April of 2018. This milestone has offered lower maintenance overhead and helped put the codebase into a much better state to add new features, improved security, and increased accessibility for users.

While some smaller features have already been proposed, designed, submitted, reviewed, and merged by volunteer contributors, other larger improvements warrant paid work. As 2019 approaches, we are excited to look forward to plans that will help deliver important improvements to the security and accessibility of PyPI.

As a grant-giving non-profit, the Python Software Foundation is grateful to the organizations that make funding this work possible. For 2019 we are glad to have two initiatives in the works.

Facebook Gift


We’re excited to announce that Facebook has provided the Python Software Foundation with a monetary gift that will be used to fund the development and deployment of enhanced security features to PyPI. As a major Python user, contributor, and supporter, Facebook was impressed with the success of the MOSS award and is enthusiastically assisting with further enhancements to PyPI with this gift.

The PSF Packaging Working Group plans to use these funds to implement highly requested security features in PyPI such as cryptographic signing and verification of files uploaded and installed from the index. Additionally, systems for the automated detection of malicious uploads will lower the time to response and improve the resiliency of PyPI against attacks such as “pytosquatting”.

This work will be undertaken in the second half of 2019 but planning will begin in the second quarter of the year.

Open Technology Fund


The Open Technology Fund (OTF) supports projects and people that develop open and accessible technologies promoting human rights and open societies and help advance inclusive and safe access to global communications networks.

The PSF Packaging Working Group is delighted to have been awarded a contract through the OTF Core Infrastructure Fund to add key security features to PyPI including API keys, multi-factor authentication, and audit logs. Additionally, accessibility and localization features will be a key focus as we ensure service’s ability to support our global community of users.

Get Involved


We plan to begin this work in the first quarter of 2019, if you’re interested in getting involved, keep reading!

If you’re interested in getting involved, you can do so today by responding to our Request for Proposals to fulfill the OTF contract. This RFP will close January 25th, 2019 AoE. If you’re interested in getting involved at a later date to complete the work planned for the Facebook Gift, keep your eyes on this blog, subscribe to the PSF newsletter, or follow us on Twitter.

Wednesday, December 19, 2018

PyPI Security and Accessibility Q1 2019 Request for Proposals Update

Earlier this year we launched a Request for Information (RFI) followed by the launch of a Request for Proposals (RFP) in November to fulfill a contract for the Open Technology Fund (OTF) Core Infrastructure Fund.

The initial deadline for our RFP was December 14th. We had hoped to begin work with the selected proposers in January 2019, but ultimately fell short of the ability to do so.

What’s holding us back


After the deadline passed there were no proposals submitted for Milestone 2. This leaves us in a position where the project cannot proceed as planned without reassessing the RFP process and extending the deadline.

How we’ll move forward


The RFP document has been updated based on feedback received from those who took part in the initial period to allow for additional flexibility on proposal parameters.

The RFP contained two milestones that could be proposed for independently or as a pair. In responses to our RFP the security development milestone (Milestone 1) received more attention than the accessibility and internationalization milestone (Milestone 2).

Given that we will at least need to extend the RFP period to obtain proposals for Milestone 2, we plan to continue to accept proposals for both. This offers us the best chance to select a proposal that will best utilize the available funds.

Our new deadline for responses will be the end of the day January 31st, 2019 AoE. You can read the full Request for Proposals document here.

If you have any questions, concerns, or feedback about the RFP please contact the Python Software Foundation Director of Infrastructure, Ernest W. Durbin III. Proposers may also discuss the RFP in our community discussion forum at discuss.python.org.


Monday, December 17, 2018

Evangelizing Python in Africa: Chukwudi Nwachukwu, Q2 CSA Recipient


Chukwudi, or Chux as he is often referred to in more familiar circles, is the president of Python Nigeria (@PythonNigeria) and has served as part of the PSF’s Grants Working Group for several years. Some of the work he has done with the grants working group involves dealing with very delicate situations, as grant requests need to be authenticated and require due diligence to properly understand the local context for preparing and awarding a grant. According to Nicholas H. Tollervey, a fellow Grants Working Group member, Chux regularly contacts, researches and (where possible) visits in-person many of the requesters so the Grants Work Group has the context needed to be able to make an informed decision. All of this detail oriented  work requires a great deal of interpersonal skill and effort, which Chux exerts freely as a credit to our larger Python community. 

It is for this demonstrated passion and devotion to the Python community that in July 2018 the Python Software Foundation unanimously voted to award Chukwudi Nwachukwu with a Q2 2018 Community Award:

RESOLVED, that the Python Software Foundation award the Q3 2018 Community
Service Award to Chukwudi Nwachukwu for all of the support he provides the PSF's Grants Work Group by researching regional grant requests and for all of his contributions to the Python Nigeria community.

Python in Nigeria

The Python community in Nigeria has grown exponentially in the last few years. Chux has done an incredible job of guiding this growth along with Aisha Bello, the Vice President of Pycon Nigeria (@Pythonnigeria). PyCon Nigeria launched for the first time in August 2017, and was the fourth PyCon to have been hosted on the African continent. Aisha Bello share her thoughts on Chux winning the award, saying: 

“I have known and worked with Chuks for over 2 years now and he is family. His passion for the python community as a whole and his significant contributions, continuous sacrifices and dedication has gone a long way in shaping the collective growth and successes we have had. He definitely deserved the award" 

As a new Director for the PSF, I was able to attend the conference and witness first hand Chux’s thoughtful leadership and strong organizational skills. He attended the event with his wife and new baby, happily commenting how he wanted to make sure his family became plugged into the Python community as early  as possible. He tried his best to navigate through the room, making sure that everyone present felt comfortable and informed. 




Chux is an integral part of the Nigerian and global Python community. According to Tosin Damilare James Animashaun, a member of the local Python community in Lagos, Chux is one of the reasons he joined: 

Many, like myself, owe our entrance and involvement with the community to Chukwudi, who is very dedicated to advancing the cause of the community. This is aside [from]
him being a great programmer, as I have worked with him well enough to know this. He is a great influence. I have no doubt that Chuk’s  passion is definitely Python. In his words, "Python is something I code and breathe." 

 PyCon Africa: The continued growth of Python in Africa

Chukwudi has done and continues to work tirelessly to forward the mission of the PSF by supporting its sustainable growth in Africa. He is also involved in planning the upcoming PyCon Africa, where he has offered to share his knowledge in regards to running a conference. He is well known in the region, interacting daily with African Pythonistas. He is consistently looking for ways to connect, support and grow the Python community and for that, he is truly deserving of this award. From all of us at  the PSF we say a hearty thank you for all your hard work Chukwudi! 

Tuesday, December 11, 2018

PyConZA 2018 – a beautiful community in South Africa

This year I attended my second PyConZA, which is held in Johannesburg, South Africa. It is the annual gathering of the South African Python community that uses and develops the open source Python programming language. It's organized by the community for the community, fostering unique solutions to the challenges faced in Africa. For the curious: ZA stands for Zuid-Afrika, a Dutch abbreviation for South Africa.

I keep coming back to South Africa to attend PyConZA. I am from Brazil but I struggle to resist a trip to South Africa to visit amazing friends, the beautiful mountains, beaches, wine farms, great food, safaris, and more.

The South African conference, a conference ran entirely by a team of dedicated volunteers, reached its eighth edition this year. As an added success this year the conference reached an outstanding number of attendees.

The Numbers

Over five days – which included tutorials, main conference and sprints – the conference received 255 attendees, boasting 100% growth compared to the last time it was held in Johannesburg in 2015.

The main event counted three simultaneous tracks – plus daily open space sessions. Collectively the conference had 41 speakers, 34 talks, 13 lightning talks and 3 keynotes. The Data Science and Typing tutorials gathered 36 people. Roughly 15 attendees with hacker spirits joined the sprints and ate pizza whilst working on various projects.

Women in Tech ZA & PyConZA gathered 13 attendees for their beginners friendly workshop "Python for Everyone".

Sponsored by 11 entities – including companies such as Microsoft and Oracle – the event had   lunch daily, a lounge with really good coffee, juices and mocktails – freshly made by professionals and available at all times – a speaker's dinner and lots of swag in the Birchwood Hotel Conference Center.

If a Python conference wasn't enough, Johannesburg hosted at the same week and venue, LinuxConf and PostgresConf, bringing in yet more attendees, diversity and people walking around with three different badges.


Speakers photo <3


Running a Conference Ain't Easy!

Here is what the conference organizers had to say about this year's conference:

David Sharpe, chair of the PyConZA 2017, said:
PyConZA is a conference made for the community and by the community. Getting people involved with it is relatively easy – getting people up to speed with how to run a conference is the hard part. The same team has been running the conference for the past seven years, and now our biggest challenge is to spread this knowledge and show other people the ropes, having redundancy in the committee and enabling PyConZA to move around the country more.

Adam Piskorski, chair of this year’s edition, completed:
Finding volunteers and chasing sponsors has been especially difficult when most of the organizers are based in Cape Town – a city near the south most part of the country. For the next year, we want a larger conference with more optimized planning and execution.

AfroDjango

The talk "Python Community Development in East Africa" is proof of how the Python programming language and community is changing the world's landscape and people's life.  I’d encourage you to  take 40 minutes of your time and watch this, it's inspirational.

Joshua Kato (PSF Python Ambassador in East Africa), Linus Wamanya and Buwembo Murshid showed us how they are empowering the community in East Africa through training and mentoring kids, students, and people with intellectual or physical disabilities and refugees.

AfroDjango already has trained more than 3000 people since 2015, from basic digital literacy to professional software development. Projects such as home automation, online learning platforms and an online market for hardware and sensors are being currently developed by their students.

Today, AfroDjango has support from a variety of partners, including the PSF. All of this amazing work has been recognized as "Promoting ICT practical skills" by Uganda's Head of State.

Financial Aid

Financial assistance is provided for those who might otherwise not be able to attend the conference. Those potentially eligible were attendees with accepted talks, attendees from South Africa and other African countries (especially those from underprivileged backgrounds) and volunteers helping the conference.

This year, PyConZA was able to provide an amount of R40.000 (about US$2.700) as financial aid for 7 attendees – 2 from South Africa, 3 from Mozambique, 1 from Nigeria and 1 from Uganda, 4 of them being women and 5 being speakers. The organizing team used a points system to reward speakers, giving priority to people from Africa and South Africa. They also wanted to choose people from disadvantaged backgrounds, but the committee mentioned it proved difficult to fairly ascertain that.

The Video Team

Another highlight shared by all three events was the video recording crew. Everything seemed magical and seamless. The video infrastructure organization was led by Carl Karsten, a really cool Pythonista wearing hawaiian shorts from Chicago, and the Next Day Video team.

They were able to record and livestream three simultaneous tracks using open source software and even open source hardware. The recording interface was so simple that volunteers (including me) could help with the job after just a two minutes tutorial. On top of that, the videos were released on Archive.org and Youtube in couple of hours, with minimal manual intervention.

The Python Software Society of South Africa

The PyConZA organizing committee created PSSSA – a non-profit organization – in May 2017. The objective is to support and grow the Python community and events across the country, as well as manage and run PyConZA.

Today it's being used mainly as a legal and financial entity to support the conference infrastructure, but the plans are to spread its influence and facilitate Python groups throughout South Africa.


PyConZA is awesome!


I'd like to say thanks to the PyConZA organizing committee for helping me gather all the information necessary to put this article together. It is always a pleasure to hang out with you folks.

PyConZA 2019 is expected to be hosted once again in Johannesburg, in October 2019. I hope to see you there!

Monday, December 03, 2018

November 2018 board meeting summary

On November 12th and 13th, ten of the thirteen PSF board members convened in Chicago, IL. Those who could not make it to the in-person meeting, joined via phone conferencing when possible.

In attendance were Naomi Ceder, Jacqueline Kazil, Thomas Wouters, Van Lindberg, Ewa Jodlowska, Lorena Mesa, Eric Holscher, Anna Ossowski, Christopher Neugebauer, and Jeff Triplett. Kushal Das and Marlene Mhangami connected remotely.

In continued efforts to be transparent with our community, we wanted to share what we discussed and what actions will be taken next.

Fundraising


The first discussion we had pertained to directors' involvement in fundraising.

What is being addressed?


It is common for non-profit board members to help raise resources via their various networks. In the past, our board hasn’t been very active in this area, and we’d like to change that going forward.

What are the next steps?


During the meeting, we created two board committees to get directors more involved in the fundraising process:
  • Fundraising committee: This committee will be focused on incoming sponsorships and donations. Even though this is a responsibility all directors will work on, this committee will help move things forward and provide the resources that other directors need to help with this role.
  • Outreach committee: This committee will decide if/how PSF funds will be used to help promote the PSF globally (this would be in addition to funds given via a grant/sponsorship). This group will also assist with creating resources for directors to use when attending an event to represent the PSF.

Code of Conduct


Since the Code of Conduct’s creation in 2013, the PSF has not updated nor worked on any related resources for our community to use outside of PyCon.

To better support our community, in the third quarter of 2017, the PSF created the Code of Conduct Work Group (https://wiki.python.org/psf/ConductWG/Charter). The purpose of this work group is to:
  1. Review, revise, and advise on policies relating to the PSF code of conducts and other communities that the PSF supports. This includes any #python chat community & python.org email list under PSF jurisdiction.
  2. Create a standard set of Codes of Conduct and supporting documents for multiple channels of interaction such as, but not limited to, conferences, mailing lists, slack/IRC, code repositories, and more.
  3. Develop training materials and other processes to support Python community organizers in implementing and enforcing the Code of Conduct.

What is being addressed?


At our November meeting, the board discussed certain risk exposure that was brought to our attention. This discussion is still ongoing and as soon as there is a resolution for moving forward, we will work together with the Code of Conduct Work Group to update the community.

Python in Education


What is being addressed?

At PyCon 2018, one of the directors hosted an open space about Python in Education. The goal was to hear from attendees how the PSF can help educators with any obstacles they face with introducing Python into their curriculums. Lot of data points were collected and needed to be discussed.

What are the next steps?

The board directors created a Python in Education group. This group will facilitate ways the PSF can use its resources to improve the way we support educators with introducing Python into their curriculums.

The first goal will be to curate impactful and proven open source material that educators can use globally. The group will write up a request for proposal, decide on a budget that will be allocated to accepted proposals, and market it to our community. Our intended timeline is to launch the RFP by the new year and have the deadline be before PyCon. At PyCon, we will announce accepted proposals so the work can be done during the third quarter of 2019.

Finance Committee


As the PSF continues to grow, we have to make sure that operationally we are efficient and effective, especially when it comes to our finances.

What is being addressed?

For every non-profit board, a major responsibility is to ensure that there is a group to monitor the organization’s overall financial health. Prior to now, the PSF has not had a board finance committee.

What are the next steps?

During the meeting, we created a committee that the Director of Operations and Finance Controller will report to. To start, the group will meet quarterly. Their goals will be to:
  • Oversee financial planning (PSF & PyCon budgets)
  • Monitor that adequate funds are available for financial management tasks
  • Ensure that assets are protected
  • Draft organizational fiscal policies 
  • Anticipate financial problems from external fiscal environments
  • Oversee financial record keeping
  • Relay financial health to the rest of the board
  • Ensure all legal reporting requirements are met
  • Sustain the financial committee itself by training and recruiting subsequent board members

PyCon Trademark


What is being addressed?

At our meeting in May 2018, the board directors decided that the PSF needs to improve the way we monitor the PyCon trademark. The main reason behind this decision is to protect the mark by being able to prove that we are monitoring its use, which will help avoid certain legal challenges. Additionally, it will help us ensure that all PyCons are up to community standards: Python focused, non-commercial, and have actionable code of conducts.

The process has not yet been fully implemented.

What are the next steps?

The board directors will revive the discussion with the PSF’s trademark committee. The goal is to find common ground on how the process will work. Afterwards, we will work on full transparency with the community via blogs and a message on pycon.org.

Diversity Tracking


Even though this topic was not on our initial agenda, we wanted to talk about this if time allowed. We got lucky and were able to sneak it in!

What is being addressed?

Our grants program currently does not require any tracking or reporting for diversity grants. Nor does the PSF have a policy for expectations of diversity grants. Since we want to see that the funding we give towards diversity is impactful, we wanted to discuss options for what we can do.

What are the next steps?

We will work on a policy for diversity grants that ask organizers to collect relevant diversity statistics. In addition to that, the PSF will work on a template survey so conferences can have a starting point in order to lessen the burden on volunteer organizers. Once a template and policy is in place, we will market the resource via relevant mailing lists, communication chats, and the Grants Program page.

Python Governance and Core Development


Python has recently seen the resignation of its BDFL, Guido van Rossum. This encouraged the core developers to rethink the governance of Python. Several governance proposals were created in the forms of PEPs, which the core developers will be voting December 1st, 2018 to December 16th, 2018 (Anywhere on Earth).

Even though the board is not currently involved with core development, we did discuss what has been developing with the governance discussions. We reflected on some of the discussions happening on discuss.python.org. We discussed the various PEPs such as PEP 8001, which is about the Python Governance Voting Process. We also discussed what the directors thought about the proposals for Python governance such as PEP 8010, 8011, 8012, 8013, 8014, 8015, 8016.

What’s next?


Working across the table from one another was motivational and acted as a catalyst for several initiatives. It gave us the opportunity to have in-depth conversations, establish stronger professional relationships, and create actionable tasks to help move initiatives forward beyond the two-day meeting.

We plan to host more 24-hour chat channels throughout 2019. They give us the chance to hear from community members world wide. Additionally, we will have our next in-person board meeting at PyCon 2019 on May 2nd. We look forward to updating you all on our progress then.

It is important for us to know that the PSF Board is inline with our community’s needs. If you have comments or suggestions on what was recently discussed or something completely new, please reach out to me: ewa at python dot org.

Monday, November 19, 2018

PyPI Security and Accessibility Q1 2019 Request for Proposals period opens.

The Python Software Foundation Packaging Working Group has applied for and received a commitment from the Open Technology Fund to fulfill a contract via their Core Infrastructure Fund.
The Python Package Index (PyPI) is a foundational component of the Python ecosystem and broader computer software and technology landscape. This project aims to improve the security and accessibility of PyPI for all users worldwide, whether they are direct users, like project maintainers and pip installers, or indirect users. The impact of this work will be highly visible and improve crucial features of the service.
We plan to begin the project in January 2019. Because of the size of the project, funding has been allocated to secure one or more contractors to complete the development, testing, verification, and assist in the rollout of necessary features.

Timeline

DateMilestone
2018-11-19Request for Proposal period opens.
2018-12-14Request for Proposal period closes.
2018-12-21Date proposals will have received a decision.
2019-Q1Contract work commences.

What is the Request for Proposals period?

A Request for Proposal (RFP) is a process intended to allow us (The Python Software Foundation) to collect proposals from potential contractors and select contractor(s) best suited to fulfill the specified work.
After the RFP period closes we will evaluate the received proposals based on the evaluation criteria, seek clarification from proposers as necessary, and select one or more contractors to complete the work specified in the scope.
The Request for Proposals period opens today, November 19th, 2018, and is scheduled to close December 15, 2018 AoE.

How do I submit a proposal?

First, please read the full contents of the Request for Proposals here!
You'll find the instructions for submission, evaluation criteria, as well as scope of the project there.

Tuesday, October 30, 2018

PyPI Security and Accessibility Q1 2019 Request for Information period opens.

The Python Software Foundation Packaging Working Group has applied for and received a commitment from the Open Technology Fund to fulfill a contract for their Core Infrastructure Fund.
PyPI is a foundational component of the Python ecosystem and broader computer software and technology landscape. This project aims to improve the security and accessibility of PyPI for all users worldwide, whether they are direct users like project maintainers and pip installers or indirect users. The impact of this work will be highly visible and improve crucial features of the service.
We plan to begin the project in January 2019. Because of the size of the project, funding has been allocated to secure one or more contractors to complete the development, testing, verification, and assist in the rollout of necessary features.
Register Interest
To receive notification when our Request for Information period closes and the Request for Proposals period opens, please register your interest here.

What is the Request for Information period?

A Request for Information (RFI) is a process intended to allow us (The Python Software Foundation) and potential contractors to openly share information to improve the scope and definition of the project at hand.
We hope that it will help potential contractors better understand the work to be completed and develop better specified proposals. Additionally we hope that the open nature of our RFI will expose the project to multiple perspectives and potentially help shape the direction for some choices in the project.
The Request for Information period opens today, October 30, 2018, and is scheduled to close November 13, 2018.
After the RFI period closes, we will use the results of the process to prepare and open a Request for Proposals to solicit proposals from contractors to complete the work.

More Information

The full version of our Request for Information document can be found here.

Participate!

Our RFI will be conducted on the Python Community Discussion Forum. Participants will need to create an account in order to propose new topics of discussion or respond to existing topics.
All discussions will remain public and available for review by potential proposal authors who do not wish to or cannot create an account to participate directly.

Monday, October 22, 2018

2018 PSF Recurring Giving Campaign

The PSF is launching an end-of-year fundraising drive to build a sustainable community of supporters. Our goal is to raise $30,000! You can help by signing up to give monthly or if you’re already a supporting member (Thank You!!), by checking the box to renew your membership automatically.

The drive begins October 22 and concludes November 21, 2018.

Your donations have IMPACT

Over $118,543 was awarded in financial aid to 143 PyCon attendees in 2018.
$240,000 has been paid in grants from January through September 2018 to recipients in 45 different countries.

Some examples of how your donation dollars are spent:

  • $35,000 was provided to the Python Core Development Sprint in 2018
  • $20,000 helps support 11 Python conferences, impacting over  3,000 people globally
  • $20,000 helps support ~25 hands-on workshops impacting over 700 people 
  • $10,000 supports user group meetup fees for 150 groups for 6 months
  • $5,000 provides hosting for 3-4 PSF community web services for a year(e.g. Mail.python.org, uspycon.org, wiki.python.org)
  • $1,000 helps supports 2 regional conferences, impacting over 500 people
  • $50 supports a Python meetup group for 3 months

This work can’t be done without the generous financial support that people like you provide.

It's easy to donate - 

  • Click here to make a one-time or recurring donation.
  • If you’re an existing PSF Supporting Member and would like to make your support recurring, log into your account and click “Auto-Renewal”.
  • If you’re an existing Supporting Member and would like to support the PSF beyond your $99 annual fee, use this donation page to select an additional one-time or monthly donation.
  • If you'd like to join the PSF, click here to become a Supporting Member and optionally make a one-time donation.
 More details on contributing can be found on the 2018 PSF Recurring Giving Campaign page.

Thank you to everyone who has contributed to our past fundraisers! Your support is what makes the PSF possible and is greatly appreciated by the Python community.

If you would like to share the news about the PSF’s Recurring Giving Campaign, please share a tweet via this tweet button or by copying the text in the following:


Contribute to our Recurring Giving Campaign & help us reach our goal of $30K. The PSF is a non-profit organization entirely supported by its sponsors, members & the public. https://www.python.org/psf/donations/2018-q4-drive/ #idonatedtothepsf #ijoinedthepsf

Wednesday, October 10, 2018

Python Software Foundation Fellow Members for Q3 2018

We are happy to announce our 2018 3rd Quarter Python Software Foundation Fellow Members: 

Stefan Behnel

Blog, Github
Andrew Godwin
Website, Twitter
David Markey
Twitter
Eduardo Mendes
Github, Twitter, LinkedIn
Claudiu Popa
Github

Congratulations! Thank you for your continued contributions. We have added you to our Fellow roster online.

The above members have contributed to the Python ecosystem by maintaining popular libraries/tools, organizing Python events, hosting Python meet ups, teaching via YouTube videos, contributing to CPython, and overall being great mentors in our community. Each of them continues to help make Python more accessible around the world. To learn more about the new Fellow members, check out their links above.

If you would like to nominate someone to be a PSF Fellow, please send a description of their Python accomplishments and their email address to psf-fellow at python.org. Here is the nomination review schedule for 2018:

  • Q4: October to the end of December (01/10 - 31/12) Cut-off for quarter four will be November 20. New fellows will be announced before December 31. 

We are looking for a few more voting members to join the Work Group to help review nominations. If you are a PSF Fellow and would like to join, please write to psf-fellow at python.org.

Thursday, October 04, 2018

Join the 2018 Python Developers Survey: Share and learn about the community

2018 is drawing to a close and we are excited to start the official Python Developers Survey for 2018!

In 2017, Python Software Foundation together with JetBrains conducted an official Python Developers Survey for the first time. Over 9,500 developers from almost 150 different countries participated to help us map out an accurate landscape of the Python community.

With this second iteration of the official Python Developers Survey, we aim to identify how the Python development world looks today and how it compares to last year. The results of the survey will serve as a major source of knowledge about the current state of the Python community, so we encourage you to participate and make an invaluable contribution to this community resource. The survey takes approximately 10 minutes to complete.

Please take a few minutes to complete the Python Developers Survey 2018!

Your valuable opinion and feedback will help us better understand how different Python developers use Python, related frameworks, tools, and technologies. We also hope you'll have fun going through the questions.

The survey is organized in partnership between the Python Software Foundation and JetBrains. After the survey is over, we will publish the aggregated results and randomly choose 100 winners (those who complete the survey in its entirety), who will each receive an amazing Python Surprise Gift Pack.

Tuesday, September 25, 2018

CPython Core Developer Sprint 2018

This September, twenty-nine core committers arrived at Microsoft’s main campus in Redmond, Washington, USA for the now-annual core developer sprints. These are an opportunity for the core team to have focused discussions, in-depth conversations and work free from interruption for five days. By the end of the week, thirty-one core developers went home tired but satisfied.

The major sponsor of the sprints this year was the Python Software Foundation. Microsoft provided the venue and some events during the week, and Facebook, Microsoft, Google, LinkedIn, Bloomberg, and a number of small companies covered their employees’ expenses.

Major Achievements

With over thirty people working for a week, there were many achievements and improvements made for Python 3.8 and earlier versions. Some of the highlights include:

  • The asyncio documentation was completely rewritten
  • Most of PEP 572 (assignment expressions) was implemented and tested
  • Recursive tracebacks and syntax errors in f-strings were improved to provide better feedback
  • The Automerge bot was enabled on the CPython GitHub repository, helping reduce the amount of manual work done by core committers
  • importlib_metadata was improved, helping to standardize the way Python exposes information about installed packages
  • The zipimport module was rewritten in Python code, which will enable new development and improvements for importing modules directly from ZIP files
  • Over 45 contributions (besides our own) were reviewed and merged, and over 80 issues were closed in the CPython repository, with many others in related projects such as Buildbot, Roundup, blurb, and our GitHub bots


Governance Discussions

With our BDFL of Python retiring earlier this year, we spent some time discussing how to approach the future of Python. More than any specific outcomes, the discussions were very fruitful and helped many of us see how similar our positions are to each other.

While no decisions have been made, all current proposals intend to keep the PEP process, and limit the new leaders’ responsibilities to arbitrating controversial decisions.

Final proposals are due by the end of September. See PEP 8000 for an overview of the process and links to related PEPs.

New Core Developers

Those who read the first paragraph carefully will have noticed that more committers left the sprints than arrived. This happened because we appointed two new core developers during the week. Congratulations to Emily Morehouse and Lisa Roach!


From Raymond Hettinger’s announcement post:
Emily is the Director of Engineering at Cuttlesoft. She has previously attended two Language Summits and three core development sprints at PyCon. Since July, Emily has worked with Guido's guidance to implement PEP 572, Assignment Expressions.  She has also worked with Eric Snow to dive into CPython's runtime as well as subinterpreters.  This year at PyCon she gave a talk on Python's AST.
Lisa has a background in network engineering and supported the Cisco sale engineer team to develop high quality Python product demonstrations.  Later she moved to the Facebook security team.  This is her third core developer sprint.  She and Guido are co-authors of PEP 526, Syntax for Variable Annotations. Last year, she worked with Eric Smith on PEP 557, Data Classes.

Other Blogs

Other attendees have posted their own blogs describing their experiences at the sprints. (This list may be updated over time as more are published.)


Thank you!

A huge thanks to all the participants who attended, the various companies who sponsored parts of the event, and the PSF for covering the majority of travel expenses. Thanks also to those contributors who were unable to make it this year. Hopefully next year we can include even more core contributors.

Attendees: Brett Cannon, Kushal Das, Ned Deily, Steve Dower, Ethan Furman, Larry Hastings, Christian Heimes, Raymond Hettinger, Łukasz Langa, Ezio Melotti, Emily Morehouse, Benjamin Peterson, Davin Potts, Lisa Roach, Pablo Galindo Salgado, Neil Schemenauer, Yury Selivanov, Eric V. Smith, Gregory P. Smith, Nathaniel Smith, Eric Snow, Victor Stinner, Andrew Svetlov, Guido van Rossum, Dino Viehland, Petr Viktorin, Zachary Ware, Barry Warsaw, Mariatta Wijaya, Carol Willing

Written by: Steve Dower

Tuesday, August 28, 2018

Redesigning the Python Package Index

In April this year a new version of the Python Package Index (PyPI) was released, an effort made possible by a generous award from the Mozilla Open Source Support program.

A major change in PyPI is the new user interface - something that had not seen any sizeable updates for over ten years. Understandably there have been questions about what’s next for the new UI, which as the designer of Warehouse (the project powering PyPI), I would like to address.


The PyPI homepage

The new design


PyPI’s new design is a reflection of the Python community - modern, welcoming and inclusive.

The design emphasises inclusion by providing extensive help documentation, user friendly interfaces, accessible font sizes and a high-contrast color scheme. The entire site works across all resolutions, meaning that you can now use PyPI on any device.

These features are no accident, as the goal of the redesign is to make PyPI a success for as many users as possible. This a big challenge as over 15 million people from 236 different countries visit PyPI.org each year (Aug 2017 - July 2018).

While the new design is informed by usability standards and user experience best practices, it’s now time to take PyPI to the next level: informing design improvements by engaging in community research and user testing.

Next steps


The first area we are looking to improve is the project's detail page (view example), which is - as the name suggests - the page where the details of a particular project can be viewed.

This is by far the most visited page type on PyPI. In July 2018 alone, 76.59% of page visits were to a project detail page, or 3,594,956 visits from a total page visit count of 4,693,561. The majority of users arrive on these pages direct from Google or other sources, bypassing the PyPI home and search pages.

Given these numbers, even a small improvement in the efficiency of this page would return great results for the community. The question is: how should we decide what to change? What one user might think of an improvement, others may consider a regression.

Conducting user research


In an effort to better understand what our users want from the aforementioned page, we ran a design research exercise (full writeup) asking Python community members to rank the importance of different pieces of information on the page. 1,926 people participated in the exercise. These were the results:




From this research, we can ascertain that many users highly value the project description, information about the required version of Python, and links to the project online. In contrast, few users value the trove classifiers, list of maintainers, or instructions on how to see statistics about the project.

Such insights are essential in driving the redesign in a way that prioritises important information for the largest number of users.

Running user tests


In conjunction with this research we are also establishing a user testing program, where PyPI users will give their feedback to the team via a remote video call; answering specific usage questions or completing certain tasks on the site.

Our goal is to run these sessions with a diverse group of users, accounting for the different people, places and ways that Python is used, while establishing major “pain points” with the current design. From this, we can open issues in the issue tracker to address problems, as has happened before with previous rounds of user tests conducted on the project management interfaces.

User tests can also be used to test new design concepts, compare the performance between old design vs new proposals, and ascertain if the proposed design solutions are truely performant.

Help us help PyPI!


So - how can you help us take PyPI to the next level?

If you’d like to participate in user tests, please register your interest. Depending on your profile and availability, we will be in touch to organise a testing session.

If you have a background in design/research or are interested in facilitating user tests, please contact me on nicole@pypi.org. All help is welcome!

We appreciate new contributors to the Warehouse project, with reserved issues for new contributors and love donations to the Python Packaging Working Group as these help us build a more sustainable model for Python packaging.

Finally, if you are interested in participating in future rounds of user research, please follow PyPI on Twitter or keep an eye on PyPI.org for future announcements!

Thursday, August 23, 2018

PyCon 2019 - Call for Sponsors

It seems like PyCon 2018 was just last week, but the 2019 edition will be here before we know it. We want to say thanks to all our sponsors who helped make the conference a huge success. This year, we welcomed 3,260 attendees from 48 different countries around the world, strengthening the connection in our beloved community even more. 
The invaluable and generous support of our PyCon sponsors enables the Python Software Foundation to help and improve the Python community worldwide by promoting sprints, meetups, events, projects, fiscal sponsorships, software development, open source projects and the Python Ambassador Program – which helps the creation of communities where Python is not well known. 
PyCon sponsorship enabled us to award $118,543 USD in financial aid to 143 attendees in 2018. It also generates 80% of the PSF's revenue, making financial aid, conferences, workshops, and training support possible. As a result, in 2017 $271,138 was awarded to grant recipients in 34 different countries and we are on track to meet or beat our total from last year.
Your sponsorship helps keep PyCon affordable and accessible to the widest possible audience. 
Here is a sample of the many benefits from being a sponsor:
  • Being part of the biggest Python conference in the world
  • Visibility to those who could potentially become new customers or employees
  • Increasing your brand exposure and elevating your corporate identity within the community
  • Expose your products to more than 3,200 attendees
  • Enhance your company’s reputation by supporting and investing in Python and the open source community
Depending on your level of sponsorship, packages may include complimentary conference passes, booth space, lead retrieval scanners, speaking opportunities, and participation in the Job Fair. Our current sponsorship prospectus can be found here. Sponsors in the Diamond, Platinum, Gold or Silver categories will receive additional tickets to the conference.
We want to hear from you! Contact us anytime - we are flexible and willing to build a sponsorship package that fits your needs. Only you know your business, how you measure success and what you're looking for. For more information please contact betsy@python.org or pycon-sponsors@python.org.
We proudly want to announce the organizations that are already sponsoring the PyCon 2019!
Huntington Convention Center - Cleveland, Ohio.
Photo Credit: Mike Pirnat https://www.flickr.com/photos/mikepirnat
PyCon 2019 will be held at Huntington Convention Center in Cleveland, Ohio, from May 1st to May 9th.
If you would like to share information about PyCon 2019 sponsorship, please share with this tweet:
Support @ThePSF by sponsoring @pycon 2019! More information can be found here: https://us.pycon.org/2019/sponsors/prospectus/. #pycon2019

PyCon 2018 Staff.
Photo Credit: Mike Pirnat https://www.flickr.com/photos/mikepirnat

Here’s what our attendees say about the PyCon US experience:

#PyCon2018 was my first PyCon. I have had an INCREDIBLE time! I've listened to inspirational speakers; met some of the most amazing people and have made lifelong connections. Most of all, I had FUN! Thanks to the brilliant @pycon team for working tirelessly to make it a reality!
- Julian Sequeira (@_juliansequeira)

PyCon has been my gold standard for conference accessibility as long as I've been attending, they do a great job and the community here really reflects it. I appreciate all your hard work @pycon, keep it up.
- Jonan Scheffler (@thejonanshow)
#pycon2018 was incredible. The support and hospitality from #Cleveland was stellar. Lighting all the downtown buildings in blue and yellow was a class act. I can’t wait to come back next year for some Mabel’s BBQ and the amazing @pycon community
- Jenn Basalone (@pennyblackio)
One of more understated benefits of @pycon is the economic and social impact in the surrounding communities it takes place at. In the case of larger cities, might not a big deal. In smaller locales, like Cleveland, that impact can be huge!
- Ruben Orduz (@rdodev)
Just got back from @pycon. Was delighted by the inclusiveness and thoughtfulness I saw there.
- David Vandegrift (@DavidVandegrift)


Rock and Roll Hall of Fame - Cleveland, Ohio
Photo Credit: Mike Pirnat https://www.flickr.com/photos/mikepirnat
PyCon is underwritten by the Python Software Foundation, a 501(c)3 charitable organization set up to manage the growth and development of Python worldwide.