{"id":34870517,"url":"https://github.com/interstar/idle-dev-faq","last_synced_at":"2026-04-01T20:30:36.853Z","repository":{"id":14041570,"uuid":"16744113","full_name":"interstar/idle-dev-faq","owner":"interstar","description":"I'm writing a quick cheat-sheet / FAQ for people interested in contributing to Python IDLE development.","archived":false,"fork":false,"pushed_at":"2015-04-14T02:10:30.000Z","size":134,"stargazers_count":0,"open_issues_count":0,"forks_count":1,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-12-27T07:58:24.232Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/interstar.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2014-02-11T20:20:20.000Z","updated_at":"2015-04-18T12:09:33.000Z","dependencies_parsed_at":"2022-09-05T08:31:36.027Z","dependency_job_id":null,"html_url":"https://github.com/interstar/idle-dev-faq","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/interstar/idle-dev-faq","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/interstar%2Fidle-dev-faq","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/interstar%2Fidle-dev-faq/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/interstar%2Fidle-dev-faq/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/interstar%2Fidle-dev-faq/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/interstar","download_url":"https://codeload.github.com/interstar/idle-dev-faq/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/interstar%2Fidle-dev-faq/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31291648,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-01T13:12:26.723Z","status":"ssl_error","status_checked_at":"2026-04-01T13:12:25.102Z","response_time":53,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-12-25T23:16:15.402Z","updated_at":"2026-04-01T20:30:36.829Z","avatar_url":"https://github.com/interstar.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"IDLE-dev FAQ\n============\n\nThis document came about from a [Feb 2014 idle-dev mailing list thread](https://mail.python.org/pipermail/idle-dev/2014-February/003377.html) about the need for a dev guide specifically for IDLE development.\n\n###Getting Started\n\n1. Read the general [Python Developer Guide](http://docs.python.org/devguide/).\n1. Fill out the PSF's [Contributor Agreement](https://www.python.org/psf/contrib/contrib-form/)\n1. Read [PEP 434](https://www.python.org/dev/peps/pep-0434/), which explains how IDLE development differs from Python development (re: backporting).\n1. Familiarize yourself with the [idle-dev mailing list archive](https://mail.python.org/pipermail/idle-dev/) and read the last few years of discussion. (Don't worry, this is a relatively low volume list.)\n1. Check out the [open issues on the Python bug tracker](https://bugs.python.org/issue?%40search_text=\u0026ignore=file%3Acontent\u0026title=\u0026%40columns=title\u0026id=\u0026%40columns=id\u0026stage=\u0026creation=\u0026creator=\u0026activity=\u0026%40columns=activity\u0026%40sort=activity\u0026actor=\u0026nosy=\u0026type=\u0026components=6\u0026versions=\u0026dependencies=\u0026assignee=\u0026keywords=\u0026priority=\u0026status=1\u0026%40columns=status\u0026resolution=\u0026nosy_count=\u0026message_count=\u0026%40group=\u0026%40pagesize=50\u0026%40startwith=0\u0026%40sortdir=on\u0026%40queryname=\u0026%40old-queryname=\u0026%40action=search), as well as the [closed issues](https://bugs.python.org/issue?@template=search\u0026status=1) for a sense of history.\n1. IDLE uses the Tkinter GUI toolkit in Python's standard library. Check out the following Tkinter tutorial resources:\n    1. [YouTube tutorials by TheReimber](https://www.youtube.com/watch?v=rcACl0sUJeQ)\n    1. Book: [Modern Tkinter for Busy Python Developers](http://www.amazon.com/Modern-Tkinter-Busy-Python-Developers-ebook/dp/B0071QDNLO)\n    1. Demo code of Tkinter widgets: [A_tour_of_Tkinter_widgets](http://tkinter.unpythonic.net/wiki/A_tour_of_Tkinter_widgets)\n1. Check out the [IDLE source code guide](source_code_guide.md)\n\n\nA quick cheat-sheet / FAQ for people interested in contributing to Python IDLE development.\n\n\n###Q: How do I get the source code of IDLE?\n\nUse [Mercurial](http://mercurial.selenic.com/) and clone the repo at [https://hg.python.org/cpython](https://hg.python.org/cpython).\n\n    $ hg clone https://hg.python.org/cpython\n\n\n###Q: How do I get started contributing to IDLE?\n\n * Look at the [current bugs](http://bugs.python.org/issue?components=6\u0026keywords=2\u0026status=1\u0026%40columns=id\u0026%40columns=activity\u0026%40columns=title\u0026%40group=priority\u0026%40sort=activity\u0026%40action=search) in the issue tracker.\n * Fix one\n * Submit a patch. Note patches are always tied to issues in the tracker.\n\n###Q: Where can I check-out the current state of IDLE development?\n\nTODO (currently the mailing list)\n\n###Q: Where can I see current issues?\n\nOn the issue tracker. [Here is a search for IDLE bugs](http://bugs.python.org/issue?components=6\u0026keywords=2\u0026status=1\u0026%40columns=id\u0026%40columns=activity\u0026%40columns=title\u0026%40group=priority\u0026%40sort=activity\u0026%40action=search)\n\n\n###Q: Who do I submit patches to?\n\nSubmit patches on the [https://bugs.python.org/](https://bugs.python.org/) bug/issue tracker. Terry Reedy is currently responsible for IDLE issues, but anyone who is on the [nosy list](http://docs.python.org/devguide/triaging.html#nosy-list) of followers for the issue will get a notification if a patch is submitted.\n\n###Q: How can I signal that I have a patch for someone to look at?\n\n\u003e Upload the patch to the related issue on the issue tracker. All people on the nosy list will get notified.\n\n\u003e Mark keyword 'patch' so the issue appears on [this search](http://bugs.python.org/issue?%40search_text=\u0026ignore=file%3Acontent\u0026title=\u0026%40columns=title\u0026id=\u0026%40columns=id\u0026stage=\u0026creation=\u0026creator=\u0026activity=\u0026%40columns=activity\u0026%40sort=activity\u0026actor=\u0026nosy=\u0026type=\u0026components=6\u0026versions=\u0026dependencies=\u0026assignee=\u0026keywords=2\u0026priority=\u0026%40group=priority\u0026status=1\u0026%40columns=status\u0026resolution=\u0026nosy_count=\u0026message_count=\u0026%40pagesize=50\u0026%40startwith=0\u0026%40queryname=\u0026%40old-queryname=\u0026%40action=search)\n\n\u003e Trimmed and possibly not correct (I do not understand the %40s, nor how much\n\u003e the order matters):\n\u003e http://bugs.python.org/issue?components=6\u0026keywords=2\u0026status=1\u0026%40columns=id\u0026%40columns=activity\u0026%40columns=title\u0026%40group=priority\u0026%40sort=activity\u0026%40action=search\n\u003e\n\n###Q: Where can I discuss IDLE development?\n\nThe [idle-dev mailing list](https://mail.python.org/mailman/listinfo/idle-dev). Discussions on the mailing list are friendly and civil, and users are expected to abide by the [PSF Code of Conduct](http://www.python.org/psf/codeofconduct/).\n\n###Q: Are there other projects based off of IDLE?\n\n[IdleX](http://idlex.sourceforge.net/) extends the functionality of IDLE with new features. \n\n[VIDLE for VPython](http://www.vpython.org/index.html) is also derived from the IDLE codebase.\n\n[Python Idle LIF](http://pyidlelif.sourceforge.net/) (Language Include File)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Finterstar%2Fidle-dev-faq","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Finterstar%2Fidle-dev-faq","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Finterstar%2Fidle-dev-faq/lists"}