Differences between revisions 7 and 8
Revision 7 as of 2016-03-16 05:44:24
Size: 1920
Editor: TerriOda
Comment:
Revision 8 as of 2016-03-16 23:27:43
Size: 2999
Comment:
Deletions are marked like this. Additions are marked like this.
Line 35: Line 35:
== 3. Project number 3 == == 3. FAT Python ==
 * '''Project description''': FAT Python is a new static optimizer for CPython 3.6. It specializes functions using guards. Specialization is a new feature (PEP 510) which allows to implement new kinds of optimizations like loop unrolling and function inlining. The goal of the GSoC is to implement new optimizations in fatoptimizer to prove that the design allows to really make CPython faster. Then maybe also help on the low-level parts like fat (guards implemened in C) and help to finish the work on PEPs 509 (dict version), PEP 510 (specialization) and PEP 511 (API for AST optimizers).
 * '''Skills''': know how a compiler works, know compiler optimizations especially static optimizations
 * '''Difficulty level''': Hard
 * '''Related Readings/Links''':

   * FAT Python: https://faster-cpython.readthedocs.org/fat_python.html
   * fatoptimizer module: https://fatoptimizer.readthedocs.org/
   * Slides of talk at FOSDEM: https://github.com/haypo/conf/raw/master/2016-FOSDEM/fat_python.pdf

 * '''Potential mentors''': Victor Stinner

== 4. Project number 4 ==

About Core Python

Core Python encompasses projects that affect the core infrastructure, libraries and CPython.

Getting Started

The website to help you get started in Core Python development is http://pythonmentors.com/.

Contact info

To chat with the Core Python mentors, please use the core-mentorship@python.org mailing list. Sign up

Ideas

Core Python is still getting its ideas page together, please ask on the mailing list if you need more information!

1. Roundup

2. A gui (tkinter) front end for pip

  • Project description: Many users are not familiar with the command line and thus find difficulties using and accessing PIP. This project would involve creating interactive menus to help guide new users through the process of installing packages using PIP. https://bugs.python.org/issue23551 contains preliminary design ideas.

Such a visual tool would be extremely useful, and I would make it accessible from IDLE. Once a basic version were written, the additional feature set for the project could be adjusted to fit the time remaining.

3. FAT Python

  • Project description: FAT Python is a new static optimizer for CPython 3.6. It specializes functions using guards. Specialization is a new feature (PEP 510) which allows to implement new kinds of optimizations like loop unrolling and function inlining. The goal of the GSoC is to implement new optimizations in fatoptimizer to prove that the design allows to really make CPython faster. Then maybe also help on the low-level parts like fat (guards implemened in C) and help to finish the work on PEPs 509 (dict version), PEP 510 (specialization) and PEP 511 (API for AST optimizers).

  • Skills: know how a compiler works, know compiler optimizations especially static optimizations

  • Difficulty level: Hard

  • Related Readings/Links:

  • Potential mentors: Victor Stinner

4. Project number 4

  • Project description:

  • Skills:

  • Difficulty level: Easy/Intermediate/Hard

  • Related Readings/Links:

  • Potential mentors:

SummerOfCode/2016/python-core (last edited 2016-03-23 05:06:32 by TerriOda)

Unable to edit the page? See the FrontPage for instructions.