Devsprint - Contributing to IDLE, CPython - The default Python IDE
Saimadhav Heblikar (~saimadhav) |
Ever wondered what is going on inside your IDE? How does it remember your recent UNDO's and REDO's? How does it detect syntax errors? How does it pull function signatures without you even saving the file?
Does such questions intrigue you? This devsprint lets you dive into the codebase of Python's default IDE called IDLE. You will learn how to setup your system for contributing to CPython's IDLE. Then you will work on small documentation issues to get your workflow down. Then finally, you will dissect the code to attack current bugs related to IDLE.
- Understanding of Python(This devsprint is not about using Python, its about contributing to Python)
- Very basic idea of version control
- Access to a system running a nix operating system. (You can participate in the session if you have a Windows machine, but you are on your own in case you face any difficulties. Otherwise, you can use a virtual machine like Virtualbox to install a nix variant.)
Before you are able to contribute to CPython, you must have a copy of CPython locally on your system. CPython uses Mercurial(hg) as its version control system. Ensure you have Mercurial(hg) installed.
Clone the CPython repo by issuing the command
hg clone https://hg.python.org/cpython
Please ensure you have "tk" and "tk-dev" packages installed. You can install it by using your distributions default install tool like "apt-get", "yum", "pacman" etc.
Please go through the quick-start part of the contributors guide https://docs.python.org/devguide/
Saimadhav Heblikar is currently pursuing undergraduate studies in Computer Science at PES Institute of Technology, Bangalore. He has contributed to the CPython project's IDLE standard library module as a part of his Google Summer Code project in 2014. Research interests include cache simulation, information retrieval and machine transliteration. As an active member of PES Open Source community, he organizes events like tech talks, PyCampus etc. Also managed PES Summer of Code to help students make their first steps into the world of open source.