New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add roadmap.txt section to idlelib #74607
Comments
Idlelib needs a roadmap with a bit of history to help orient new contributors to IDLE as to where I see it going. I am not sure whether to add this to README.txt or make is a separate roadmap.txt file. A rough draft (which started as just an outline ;-): Summary of planned improvements: Recent history relevant to current improvements:
Specific goals for 3.7:
[Notes: import * and VALUE versus 'value' are discussed in bpo-30290. Searching idlelib for 'import tkinter.' gets 16 hits.]
I would like to have a single window app by 2017, but that is too speculative to list now. |
Roadmap definitely helps us for targeting what to do and clear the current development status. Such as bpo-27609 helps a lot for focus on improving on part of the IDLE.
|
The existing todo.txt is a decade out of date or so. A low priority item is to review it against open issues + my own todo list. What I remember from when I read it is that some seemed either very low priority or something I don't really want to do. There are also XXX and TODO comments in some modules. Single window app. Look at your browser. Open at least 10 pages in separate tabs. This might be IDLE in the future. Then imagine that each page was instead in a separate window. This is IDLE today. Find is also in a separate window. On older Windows, most separate windows is a separate icon on the task bar, though in Win 10, multiple windows are stacked under one icon. Or try the same experiment with a tabbed editor such as Notepad++. [Note that one can, for instance, have multiple windows, but each window usually has multiple tabs.] |
Terry, how do you think about the roadmap? I have two component that I think it should be put on the roadmap. From internal diagram (https://i.imgur.com/1WZwakQ.png) it seem to search/replace dialog share the same based, I think we can first start from here to make a single-window app. To discuss which kind of style that we may change in future. In bpo-30521, I propose to make it as vscode/sublime style, a top bar for goto with different label. And for search/replace a bottom dialog like vscode/sublime could be used. Another big problem (I think) in IDLE is the pyshell tab issue. It seem that is very conflict with PEP-8 when IDLE using tab in pyshell. In bpo-7676 you said that should be done with sidebar, In bpo-30663, I first propose lineno sidebar in edit window, if this is been accepted, then I think bpo-7676 may be solved by sidebar method used in lineno. How do you think about this two issue? |
I strongly agree with the idea of writing documents that describe a bit of history to help orient new contributors to IDLE as to where the involved contributors see it going. As a new comer, before I started to trace the codes of idlelib. A question bothers me all the time. "Why do we need idlelib since there are so many brilliant IDEs out there?" And I'm not sure whether should I keep reading the codes or not. So, I want to say Thank you to Terry. Your draft helped me. I'm really happy to see this question had been discussed in summer 2010. And the result is to modernize idlelib. However, I have a suggestion :) Although the result of the discussion is to modernize. I suggest to add few lines to describe the reasons why this decision had been made. And references (if possible) are needed to provide since some readers might want to see the original discussion. How do you think? :) |
Attached is my current sorted list of IDLE issues. It is a detailed map as opposed to the overview I posted before. I spent a couple of days last week reviewing issues, making sure that all IDLE issues were marked category IDLE and that all with a patch were on my list, where they are marked by * after the issue number. (Most everything else should be also.) After closing 24 issues, there were 220 left, 115 with a patch to review. I marked a few issues with ** for attention soon. I obviously need help reviewing existing patches, and in some cases, turning them into github pull requests. I still need to review and clean up the todos on the list. I want to review TODO.txt to see what should be added (and then replace that file with this, under a different name). There are also TODOs and XXXs in individual module files. I posted a older version to idle-dev about Sept 2015 and will probably do so again. |
A possible revision of the first paragraph of my opening message.
KunYu: I wrote the roadmap draft to help two new contributors, and any the follow. I only gave as much history as I thought relevant to new contributors. In particular, IDLE development is exempt from two normal limitations: we can backport enhancements, and I am currently backporting all patches to 3.6; we can and are refactoring modules and changing their API (which requires changing calls in other modules). People should know that these are exceptions so that they don't propose the same for other modules. I should emphasize this more than I did before. Louie: Question 1. I intend Roadmap.txt to be an overview of the main goals, each of which will require multiple patches (like 20 or more). The good ideas in TODO.txt that are not already implemented, issues, or items on my patch-oriented list should be added to my list. Question 2. Currently, each window is limited to one hard-coded master frame, which has no independent existence as a separate class. What can one do with one window? In Shell, execute code entered by key or pasting. In Editor, edit and save code. To edit and run, one must have at least two windows. In contrast, modern browsers have multiple tabs with multiple panes. The original browsers, developed about the same time as tcl/tk, did not. (One can still choose to open each page in a separate window, or choose multiple windows each with multiple tabs.) Similarly, at least some modern editors also have multiple tabs. I use Notepad++ for text files and read-only code review because of this. |
Terry: For question 1, I think we can mark out the value point of the part in your roadmap.txt which we have more priority to fixed first, then get a bi-weekly (maybe) sprint to fixed one part. |
If you are suggesting that at least you, Cheryl, and I work together on one 'area' to make fairly rapid, visible, and satisfying progress, I am all for that. But rather than focus on one of the 5 types of improvements for all components, I would rather focus on multiple improvements of one component. I think configuration is a good place to start, as it has been a major source of user annoyance. That is why I and Cheryl have been working on configdialog and config_key, with some help from you, for the last week. I would like to continue. The config module also needs attention. There are 4 issues, 3 with patches, that claim startup problems. What problems still exist and do the patches solve anything? There are non-configuration issues blocked on the issue of where to put configuration options on config dialog. At least some coordination should be on idle-dev. Have you subscribed yet? |
Replace 'Relevant History' with the following; Python and IDLE development policies:
|
Terry, thank for posting the list of all the IDLE issues. This is extremely helpful to me and I appreciate your effort in organizing it. I'm also on board for working together on targetted areas. Without that, I was focusing on PEP-8, docstrings, linting, ttk conversion, and unit tests. But, as configdialog showed, even those require coordination with existing patches. I can start turning the ** issues into pull requests too. |
Hi Terry, Louie and Cheryl I would like to work with you guys. :) However, I still need some time to study the codes. Now I am focusing on reading unit tests. By reading the tests, I can know how the code works and further to write tests that are necessary but yet to write. |
Most of the patches lack tests, and writing them is a bottle neck. Reading the current one, in conjunction with the code and the unittest doc, is a good way to learn. |
Terry: I'm on idle-dev, the bi-weekly sprint I said isn't only one time, I mean about each bi-weekly. I'm ok with concentrate on multiple improvements of one component. |
Thanks Terry, I'll focus on the current tests. Will catch up with you guys later. :D |
My private idle-issues.txt is in the process of being superseded by a github project: IDLE issues. After I check that ideas here without issue are recorded there or on another isssue, I will close this. |
Note: these values reflect the state of the issue at the time it was migrated and might not reflect the current state.
Show more details
GitHub fields:
bugs.python.org fields:
The text was updated successfully, but these errors were encountered: