| 
									
										
										
										
											2015-10-02 23:22:59 -04:00
										 |  |  | README.txt: an index to idlelib files and the IDLE menu. | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-12-18 15:46:57 -05:00
										 |  |  | IDLE is Python's Integrated Development and Learning | 
					
						
							| 
									
										
										
										
											2015-10-02 23:22:59 -04:00
										 |  |  | Environment.  The user documentation is part of the Library Reference and | 
					
						
							|  |  |  | is available in IDLE by selecting Help => IDLE Help.  This README documents | 
					
						
							|  |  |  | idlelib for IDLE developers and curious users. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | IDLELIB FILES lists files alphabetically by category, | 
					
						
							|  |  |  | with a short description of each. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | IDLE MENU show the menu tree, annotated with the module | 
					
						
							|  |  |  | or module object that implements the corresponding function. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | This file is descriptive, not prescriptive, and may have errors | 
					
						
							|  |  |  | and omissions and lag behind changes in idlelib. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | IDLELIB FILES | 
					
						
							| 
									
										
										
										
											2022-08-04 03:35:42 -04:00
										 |  |  | ============= | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-09-28 17:21:52 +03:00
										 |  |  | Implementation files not in IDLE MENU are marked (nim). | 
					
						
							| 
									
										
										
										
											2015-10-02 23:22:59 -04:00
										 |  |  | 
 | 
					
						
							|  |  |  | Startup | 
					
						
							|  |  |  | ------- | 
					
						
							|  |  |  | __init__.py  # import, does nothing | 
					
						
							|  |  |  | __main__.py  # -m, starts IDLE | 
					
						
							|  |  |  | idle.bat | 
					
						
							|  |  |  | idle.py | 
					
						
							|  |  |  | idle.pyw | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | Implementation | 
					
						
							|  |  |  | -------------- | 
					
						
							| 
									
										
										
										
											2016-05-31 20:17:58 -04:00
										 |  |  | autocomplete.py   # Complete attribute names or filenames. | 
					
						
							|  |  |  | autocomplete_w.py # Display completions. | 
					
						
							|  |  |  | autoexpand.py     # Expand word with previous word in file. | 
					
						
							|  |  |  | browser.py        # Create module browser window. | 
					
						
							| 
									
										
										
										
											2022-08-04 03:35:42 -04:00
										 |  |  | calltip.py        # Create calltip text. | 
					
						
							| 
									
										
										
										
											2016-05-31 20:17:58 -04:00
										 |  |  | calltip_w.py      # Display calltip. | 
					
						
							|  |  |  | codecontext.py    # Show compound statement headers otherwise not visible. | 
					
						
							| 
									
										
										
										
											2022-08-04 03:35:42 -04:00
										 |  |  | colorizer.py      # Colorize text (nim). | 
					
						
							| 
									
										
										
										
											2016-05-31 20:17:58 -04:00
										 |  |  | config.py         # Load, fetch, and save configuration (nim). | 
					
						
							|  |  |  | configdialog.py   # Display user configuration dialogs. | 
					
						
							|  |  |  | config_key.py     # Change keybindings. | 
					
						
							|  |  |  | debugger.py       # Debug code run from shell or editor; show window. | 
					
						
							|  |  |  | debugger_r.py     # Debug code run in remote process. | 
					
						
							| 
									
										
										
										
											2022-08-04 03:35:42 -04:00
										 |  |  | debugobj.py       # Define class used in stackviewer. | 
					
						
							|  |  |  | debugobj_r.py     # Communicate objects between processes with rpc (nim). | 
					
						
							| 
									
										
										
										
											2016-05-31 20:17:58 -04:00
										 |  |  | delegator.py      # Define base class for delegators (nim). | 
					
						
							| 
									
										
										
										
											2022-08-04 03:35:42 -04:00
										 |  |  | dynoption.py      # Define mutable OptionMenu widget (nim) | 
					
						
							| 
									
										
										
										
											2016-05-31 20:17:58 -04:00
										 |  |  | editor.py         # Define most of editor and utility functions. | 
					
						
							|  |  |  | filelist.py       # Open files and manage list of open windows (nim). | 
					
						
							| 
									
										
										
										
											2022-08-04 03:35:42 -04:00
										 |  |  | format.py         # Define format menu options. | 
					
						
							| 
									
										
										
										
											2016-05-31 20:17:58 -04:00
										 |  |  | grep.py           # Find all occurrences of pattern in multiple files. | 
					
						
							| 
									
										
										
										
											2015-10-02 23:22:59 -04:00
										 |  |  | help.py           # Display IDLE's html doc. | 
					
						
							| 
									
										
										
										
											2016-05-31 20:17:58 -04:00
										 |  |  | help_about.py     # Display About IDLE dialog. | 
					
						
							|  |  |  | history.py        # Get previous or next user input in shell (nim) | 
					
						
							|  |  |  | hyperparser.py    # Parse code around a given index. | 
					
						
							|  |  |  | iomenu.py         # Open, read, and write files | 
					
						
							|  |  |  | macosx.py         # Help IDLE run on Macs (nim). | 
					
						
							|  |  |  | mainmenu.py       # Define most of IDLE menu. | 
					
						
							|  |  |  | multicall.py      # Wrap tk widget to allow multiple calls per event (nim). | 
					
						
							|  |  |  | outwin.py         # Create window for grep output. | 
					
						
							|  |  |  | parenmatch.py     # Match fenceposts: (), [], and {}. | 
					
						
							|  |  |  | pathbrowser.py    # Create path browser window. | 
					
						
							|  |  |  | percolator.py     # Manage delegator stack (nim). | 
					
						
							|  |  |  | pyparse.py        # Give information on code indentation | 
					
						
							|  |  |  | pyshell.py        # Start IDLE, manage shell, complete editor window | 
					
						
							| 
									
										
										
										
											2016-08-30 10:47:49 -07:00
										 |  |  | query.py          # Query user for information | 
					
						
							| 
									
										
										
										
											2016-05-31 20:17:58 -04:00
										 |  |  | redirector.py     # Intercept widget subcommands (for percolator) (nim). | 
					
						
							|  |  |  | replace.py        # Search and replace pattern in text. | 
					
						
							| 
									
										
										
										
											2019-07-30 18:14:58 -04:00
										 |  |  | rpc.py            # Communicate between idle and user processes (nim). | 
					
						
							| 
									
										
										
										
											2015-10-02 23:22:59 -04:00
										 |  |  | run.py            # Manage user code execution subprocess. | 
					
						
							| 
									
										
										
										
											2016-05-31 20:17:58 -04:00
										 |  |  | runscript.py      # Check and run user code. | 
					
						
							|  |  |  | scrolledlist.py   # Define scrolledlist widget for IDLE (nim). | 
					
						
							|  |  |  | search.py         # Search for pattern in text. | 
					
						
							|  |  |  | searchbase.py     # Define base for search, replace, and grep dialogs. | 
					
						
							|  |  |  | searchengine.py   # Define engine for all 3 search dialogs. | 
					
						
							| 
									
										
										
										
											2022-08-04 03:35:42 -04:00
										 |  |  | sidebar.py        # Define line number and shell prompt sidebars. | 
					
						
							|  |  |  | squeezer.py       # Squeeze long shell output (nim). | 
					
						
							| 
									
										
										
										
											2016-05-31 20:17:58 -04:00
										 |  |  | stackviewer.py    # View stack after exception. | 
					
						
							|  |  |  | statusbar.py      # Define status bar for windows (nim). | 
					
						
							| 
									
										
										
										
											2015-10-02 23:22:59 -04:00
										 |  |  | tabbedpages.py    # Define tabbed pages widget (nim). | 
					
						
							| 
									
										
										
										
											2016-05-31 20:17:58 -04:00
										 |  |  | textview.py       # Define read-only text widget (nim). | 
					
						
							| 
									
										
										
										
											2022-08-04 03:35:42 -04:00
										 |  |  | tooltip.py        # Define popups for calltips, squeezer (nim). | 
					
						
							| 
									
										
										
										
											2019-06-20 17:30:55 +03:00
										 |  |  | tree.py           # Define tree widget, used in browsers (nim). | 
					
						
							| 
									
										
										
										
											2016-05-31 20:17:58 -04:00
										 |  |  | undo.py           # Manage undo stack. | 
					
						
							| 
									
										
										
										
											2022-08-04 03:35:42 -04:00
										 |  |  | util.py           # Define common objects imported elsewhere (nim). | 
					
						
							| 
									
										
										
										
											2016-05-31 20:17:58 -04:00
										 |  |  | windows.py        # Manage window list and define listed top level. | 
					
						
							|  |  |  | zoomheight.py     # Zoom window to full height of screen. | 
					
						
							| 
									
										
										
										
											2022-08-04 03:35:42 -04:00
										 |  |  | zzdummy.py        # Example extension. | 
					
						
							| 
									
										
										
										
											2015-10-02 23:22:59 -04:00
										 |  |  | 
 | 
					
						
							|  |  |  | Configuration | 
					
						
							|  |  |  | ------------- | 
					
						
							|  |  |  | config-extensions.def # Defaults for extensions | 
					
						
							|  |  |  | config-highlight.def  # Defaults for colorizing | 
					
						
							|  |  |  | config-keys.def       # Defaults for key bindings | 
					
						
							| 
									
										
										
										
											2019-12-31 13:34:22 -05:00
										 |  |  | config-main.def       # Defaults for font and general tabs | 
					
						
							| 
									
										
										
										
											2015-10-02 23:22:59 -04:00
										 |  |  | 
 | 
					
						
							|  |  |  | Text | 
					
						
							|  |  |  | ---- | 
					
						
							|  |  |  | CREDITS.txt  # not maintained, displayed by About IDLE | 
					
						
							|  |  |  | HISTORY.txt  # NEWS up to July 2001 | 
					
						
							|  |  |  | NEWS.txt     # commits, displayed by About IDLE | 
					
						
							| 
									
										
										
										
											2022-08-04 03:35:42 -04:00
										 |  |  | NEWS2.txt    # commits to Python2 | 
					
						
							| 
									
										
										
										
											2019-07-30 18:14:58 -04:00
										 |  |  | README.txt   # this file, displayed by About IDLE | 
					
						
							| 
									
										
										
										
											2015-10-02 23:22:59 -04:00
										 |  |  | TODO.txt     # needs review | 
					
						
							|  |  |  | extend.txt   # about writing extensions | 
					
						
							|  |  |  | help.html    # copy of idle.html in docs, displayed by IDLE Help | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | Subdirectories | 
					
						
							|  |  |  | -------------- | 
					
						
							| 
									
										
										
										
											2016-05-31 20:17:58 -04:00
										 |  |  | Icons        # small image files | 
					
						
							|  |  |  | idle_test    # files for human test and automated unit tests | 
					
						
							| 
									
										
										
										
											2015-10-02 23:22:59 -04:00
										 |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | IDLE MENUS | 
					
						
							| 
									
										
										
										
											2022-08-04 03:35:42 -04:00
										 |  |  | ========== | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-05-31 20:17:58 -04:00
										 |  |  | Top level items and most submenu items are defined in mainmenu. | 
					
						
							| 
									
										
										
										
											2019-08-30 16:16:37 -04:00
										 |  |  | Extensions add submenu items when active.  The names given are | 
					
						
							| 
									
										
										
										
											2015-10-02 23:22:59 -04:00
										 |  |  | found, quoted, in one of these modules, paired with a '<<pseudoevent>>'. | 
					
						
							|  |  |  | Each pseudoevent is bound to an event handler.  Some event handlers | 
					
						
							|  |  |  | call another function that does the actual work.  The annotations below | 
					
						
							|  |  |  | are intended to at least give the module where the actual work is done. | 
					
						
							| 
									
										
										
										
											2016-05-31 20:17:58 -04:00
										 |  |  | 'eEW' = editor.EditorWindow | 
					
						
							| 
									
										
										
										
											2015-10-02 23:22:59 -04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-05-31 20:17:58 -04:00
										 |  |  | File | 
					
						
							|  |  |  |   New File         # eEW.new_callback | 
					
						
							|  |  |  |   Open...          # iomenu.open | 
					
						
							|  |  |  |   Open Module      # eEw.open_module | 
					
						
							| 
									
										
										
										
											2015-10-02 23:22:59 -04:00
										 |  |  |   Recent Files | 
					
						
							| 
									
										
										
										
											2016-05-31 20:17:58 -04:00
										 |  |  |   Class Browser    # eEW.open_class_browser, browser.ClassBrowser | 
					
						
							|  |  |  |   Path Browser     # eEW.open_path_browser, pathbrowser | 
					
						
							| 
									
										
										
										
											2015-10-02 23:22:59 -04:00
										 |  |  |   --- | 
					
						
							| 
									
										
										
										
											2016-05-31 20:17:58 -04:00
										 |  |  |   Save             # iomenu.save | 
					
						
							|  |  |  |   Save As...       # iomenu.save_as | 
					
						
							|  |  |  |   Save Copy As...  # iomenu.save_a_copy | 
					
						
							| 
									
										
										
										
											2015-10-02 23:22:59 -04:00
										 |  |  |   --- | 
					
						
							| 
									
										
										
										
											2016-05-31 20:17:58 -04:00
										 |  |  |   Print Window     # iomenu.print_window | 
					
						
							| 
									
										
										
										
											2015-10-02 23:22:59 -04:00
										 |  |  |   --- | 
					
						
							| 
									
										
										
										
											2016-05-31 20:17:58 -04:00
										 |  |  |   Close            # eEW.close_event | 
					
						
							|  |  |  |   Exit             # flist.close_all_callback (bound in eEW) | 
					
						
							| 
									
										
										
										
											2015-10-02 23:22:59 -04:00
										 |  |  | 
 | 
					
						
							|  |  |  | Edit | 
					
						
							| 
									
										
										
										
											2016-05-31 20:17:58 -04:00
										 |  |  |   Undo             # undodelegator | 
					
						
							|  |  |  |   Redo             # undodelegator | 
					
						
							|  |  |  |   ---              # eEW.right_menu_event | 
					
						
							|  |  |  |   Cut              # eEW.cut | 
					
						
							|  |  |  |   Copy             # eEW.copy | 
					
						
							|  |  |  |   Paste            # eEW.past | 
					
						
							|  |  |  |   Select All       # eEW.select_all (+ see eEW.remove_selection) | 
					
						
							|  |  |  |   ---              # Next 5 items use searchengine; dialogs use searchbase | 
					
						
							|  |  |  |   Find             # eEW.find_event, search.SearchDialog.find | 
					
						
							|  |  |  |   Find Again       # eEW.find_again_event, sSD.find_again | 
					
						
							|  |  |  |   Find Selection   # eEW.find_selection_event, sSD.find_selection | 
					
						
							|  |  |  |   Find in Files... # eEW.find_in_files_event, grep | 
					
						
							|  |  |  |   Replace...       # eEW.replace_event, replace.ReplaceDialog.replace | 
					
						
							|  |  |  |   Go to Line       # eEW.goto_line_event | 
					
						
							|  |  |  |   Show Completions # autocomplete extension and autocompleteWidow (&HP) | 
					
						
							|  |  |  |   Expand Word      # autoexpand extension | 
					
						
							|  |  |  |   Show call tip    # Calltips extension and CalltipWindow (& Hyperparser) | 
					
						
							|  |  |  |   Show surrounding parens  # parenmatch (& Hyperparser) | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-08-04 03:35:42 -04:00
										 |  |  | Format (Editor only) [fFR = format.FormatRegion] | 
					
						
							|  |  |  |   Format Paragraph # format.FormatParagraph.format_paragraph_event | 
					
						
							|  |  |  |   Indent Region    # fFR.indent_region_event | 
					
						
							|  |  |  |   Dedent Region    # fFR.dedent_region_event | 
					
						
							|  |  |  |   Comment Out Reg. # fFR.comment_region_event | 
					
						
							|  |  |  |   Uncomment Region # fFR.uncomment_region_event | 
					
						
							|  |  |  |   Tabify Region    # fFR.tabify_region_event | 
					
						
							|  |  |  |   Untabify Region  # fFR.untabify_region_event | 
					
						
							|  |  |  |   Toggle Tabs      # format.Indents.toggle_tabs_event | 
					
						
							|  |  |  |   New Indent Width # format.Indents.change_indentwidth_event | 
					
						
							|  |  |  |   Strip tailing whitespace  # format.rstrip | 
					
						
							|  |  |  |   Zin              # zzdummy | 
					
						
							|  |  |  |   Zout             # zzdummy | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | Run (Editor only) | 
					
						
							|  |  |  |   Run Module         # runscript.ScriptBinding.run_module_event | 
					
						
							|  |  |  |   Run... Customized  # runscript.ScriptBinding.run_custom_event | 
					
						
							|  |  |  |   Check Module       # runscript.ScriptBinding.check_module_event | 
					
						
							|  |  |  |   Python Shell       # pyshell.Pyshell, pyshell.ModifiedInterpreter | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-05-31 20:17:58 -04:00
										 |  |  | Shell  # pyshell | 
					
						
							| 
									
										
										
										
											2016-09-12 01:57:25 -04:00
										 |  |  |   View Last Restart    # pyshell.PyShell.view_restart_mark | 
					
						
							|  |  |  |   Restart Shell        # pyshell.PyShell.restart_shell | 
					
						
							| 
									
										
										
										
											2022-08-04 03:35:42 -04:00
										 |  |  |   Previous History     # history.History.history_prev | 
					
						
							|  |  |  |   Next History         # history.History.history_next | 
					
						
							| 
									
										
										
										
											2016-09-12 01:50:03 -04:00
										 |  |  |   Interrupt Execution  # pyshell.PyShell.cancel_callback | 
					
						
							| 
									
										
										
										
											2015-10-02 23:22:59 -04:00
										 |  |  | 
 | 
					
						
							|  |  |  | Debug (Shell only) | 
					
						
							| 
									
										
										
										
											2022-08-04 03:35:42 -04:00
										 |  |  |   Go to File/Line  # outwin.OutputWindow.goto_file_line | 
					
						
							| 
									
										
										
										
											2019-07-30 18:14:58 -04:00
										 |  |  |   debugger         # debugger, debugger_r, PyShell.toggle_debugger | 
					
						
							| 
									
										
										
										
											2016-09-12 01:57:25 -04:00
										 |  |  |   Stack Viewer     # stackviewer, PyShell.open_stack_viewer | 
					
						
							| 
									
										
										
										
											2016-05-31 20:17:58 -04:00
										 |  |  |   Auto-open Stack Viewer  # stackviewer | 
					
						
							| 
									
										
										
										
											2015-10-02 23:22:59 -04:00
										 |  |  | 
 | 
					
						
							|  |  |  | Options | 
					
						
							| 
									
										
										
										
											2022-08-04 03:35:42 -04:00
										 |  |  |   Configure IDLE   # eEW.config_dialog, config, configdialog (cd) | 
					
						
							|  |  |  |     (Parts of the dialog) | 
					
						
							|  |  |  |     Buttons        # cd.ConfigDialog | 
					
						
							|  |  |  |     Font tab       # cd.FontPage, config-main.def | 
					
						
							|  |  |  |     Highlight tab  # cd.HighPage, query, config-highlight.def | 
					
						
							|  |  |  |     Keys tab       # cd.KeysPage, query, config_key, config_keys.def | 
					
						
							|  |  |  |     Windows tab    # cd.WinPage, config_main.def | 
					
						
							|  |  |  |     Shell/Ed tab   # cd.ShedPage, config-main.def | 
					
						
							|  |  |  |     Extensions tab # config-extensions.def, corresponding .py files | 
					
						
							| 
									
										
										
										
											2015-10-02 23:22:59 -04:00
										 |  |  |   --- | 
					
						
							| 
									
										
										
										
											2022-08-04 03:35:42 -04:00
										 |  |  |   ... Code Context # codecontext | 
					
						
							|  |  |  |   ... Line Numbers # sidebar | 
					
						
							|  |  |  |   Zoomheight       # zoomheight | 
					
						
							| 
									
										
										
										
											2015-10-02 23:22:59 -04:00
										 |  |  | 
 | 
					
						
							|  |  |  | Window | 
					
						
							| 
									
										
										
										
											2016-05-31 20:17:58 -04:00
										 |  |  |   <open windows>   # windows | 
					
						
							| 
									
										
										
										
											2015-10-02 23:22:59 -04:00
										 |  |  | 
 | 
					
						
							|  |  |  | Help | 
					
						
							| 
									
										
										
										
											2017-09-14 09:38:36 +03:00
										 |  |  |   About IDLE       # eEW.about_dialog, help_about.AboutDialog | 
					
						
							| 
									
										
										
										
											2015-10-02 23:22:59 -04:00
										 |  |  |   --- | 
					
						
							| 
									
										
										
										
											2022-08-04 03:35:42 -04:00
										 |  |  |   IDLE Help        # eEW.help_dialog, help.show_idlehelp | 
					
						
							|  |  |  |   Python Docs      # eEW.python_docs | 
					
						
							| 
									
										
										
										
											2016-05-31 20:17:58 -04:00
										 |  |  |   Turtle Demo      # eEW.open_turtle_demo | 
					
						
							| 
									
										
										
										
											2015-10-02 23:22:59 -04:00
										 |  |  |   --- | 
					
						
							|  |  |  |   <other help sources> | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | <Context Menu> (right click) | 
					
						
							| 
									
										
										
										
											2022-08-04 03:35:42 -04:00
										 |  |  |   Defined in editor, PyShell.pyshell | 
					
						
							| 
									
										
										
										
											2016-05-31 20:17:58 -04:00
										 |  |  |     Cut | 
					
						
							|  |  |  |     Copy | 
					
						
							|  |  |  |     Paste | 
					
						
							|  |  |  |     --- | 
					
						
							|  |  |  |     Go to file/line (shell and output only) | 
					
						
							|  |  |  |     Set Breakpoint (editor only) | 
					
						
							|  |  |  |     Clear Breakpoint (editor only) | 
					
						
							|  |  |  |   Defined in debugger | 
					
						
							|  |  |  |     Go to source line | 
					
						
							|  |  |  |     Show stack frame | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | <No menu> | 
					
						
							|  |  |  | Center Insert      # eEW.center_insert_event | 
					
						
							| 
									
										
										
										
											2016-08-31 00:50:55 -04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-09-14 09:38:36 +03:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-08-04 03:35:42 -04:00
										 |  |  | OTHER TOPICS | 
					
						
							|  |  |  | ============ | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | Generally use PEP 8. | 
					
						
							| 
									
										
										
										
											2016-08-31 00:50:55 -04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-08-05 17:15:18 -04:00
										 |  |  | import statements | 
					
						
							|  |  |  | ----------------- | 
					
						
							| 
									
										
										
										
											2022-08-04 03:35:42 -04:00
										 |  |  | Put imports at the top, unless there is a good reason otherwise. | 
					
						
							| 
									
										
										
										
											2016-08-31 00:50:55 -04:00
										 |  |  | PEP 8 says to group stdlib, 3rd-party dependencies, and package imports. | 
					
						
							|  |  |  | For idlelib, the groups are general stdlib, tkinter, and idlelib. | 
					
						
							|  |  |  | Sort modules within each group, except that tkinter.ttk follows tkinter. | 
					
						
							|  |  |  | Sort 'from idlelib import mod1' and 'from idlelib.mod2 import object' | 
					
						
							|  |  |  | together by module, ignoring within module objects. | 
					
						
							|  |  |  | Put 'import __main__' after other idlelib imports. | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-08-31 19:37:28 -04:00
										 |  |  | Imports only needed for testing are put not at the top but in an | 
					
						
							|  |  |  | htest function def or "if __name__ == '__main__'" clause. | 
					
						
							| 
									
										
										
										
											2016-08-31 00:50:55 -04:00
										 |  |  | 
 | 
					
						
							|  |  |  | Within module imports like "from idlelib.mod import class" may cause | 
					
						
							|  |  |  | circular imports to deadlock.  Even without this, circular imports may | 
					
						
							|  |  |  | require at least one of the imports to be delayed until a function call. | 
					
						
							| 
									
										
										
										
											2022-08-05 17:15:18 -04:00
										 |  |  | 
 | 
					
						
							|  |  |  | What's New entries | 
					
						
							|  |  |  | ------------------ | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | Repository directory Doc/whatsnew/ has a file 3.n.rst for each 3.n | 
					
						
							|  |  |  | Python version.  For the first entry in each file, add subsection | 
					
						
							|  |  |  | 'IDLE and idlelib', in alphabetical position, to the 'Improved Modules' | 
					
						
							|  |  |  | section.  For the rest of cpython, entries to 3.(n+1).rst begin with | 
					
						
							|  |  |  | the release of 3.n.0b1.  For IDLE, entries for features backported from | 
					
						
							|  |  |  | 'main' to '3.n' during its beta period do not got in 3.(n+1).rst.  The | 
					
						
							|  |  |  | latter usually gets its first entry during the 3.n.0 candidate period | 
					
						
							|  |  |  | or after the 3.n.0 release. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | When, as per PEP 434, feature changes are backported, entries are placed | 
					
						
							|  |  |  | in the 3.n.rst file *in the main branch* for each Python version n that | 
					
						
							|  |  |  | gets the backport. (Note: the format of entries have varied between | 
					
						
							|  |  |  | versions.)  Add a line "New in 3.n maintenance releases." before the | 
					
						
							|  |  |  | first back-ported feature after 3.n.0 is released. Since each older | 
					
						
							|  |  |  | version file gets a different number of backports, it is easiest to | 
					
						
							|  |  |  | make a separate PR for each file and label it with the backports | 
					
						
							|  |  |  | needed. | 
					
						
							| 
									
										
										
										
											2022-08-08 09:37:43 -04:00
										 |  |  | 
 | 
					
						
							|  |  |  | Github repository and issues | 
					
						
							|  |  |  | ---------------------------- | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | The CPython repository is https://github.com/python/cpython.  The | 
					
						
							|  |  |  | IDLE Issues listing is https://github.com/orgs/python/projects/31. | 
					
						
							|  |  |  | The main classification is by Topic, based on the IDLE menu.  View the | 
					
						
							|  |  |  | topics list by clicking the [<]] button in the upper right. |