From 948d084dd86ec020c95dcdb0af5cb94e02828222 Mon Sep 17 00:00:00 2001 From: CharlesAverill <46544495+CharlesAverill@users.noreply.github.com> Date: Sat, 23 May 2020 22:13:08 -0500 Subject: [PATCH 1/9] Create flowchart-notebook.md --- flowchart-notebook/flowchart-notebook.md | 62 ++++++++++++++++++++++++ 1 file changed, 62 insertions(+) create mode 100644 flowchart-notebook/flowchart-notebook.md diff --git a/flowchart-notebook/flowchart-notebook.md b/flowchart-notebook/flowchart-notebook.md new file mode 100644 index 00000000..1f288484 --- /dev/null +++ b/flowchart-notebook/flowchart-notebook.md @@ -0,0 +1,62 @@ +# Jupyter Flowchart Notebook + +## Problem +Code can be inherently hard for some users to understand as a solely text-based medium, yet other graphical IDEs/Languages are not +suited for professional use. + +## Proposed Enhancement + +Provide a UI that formats blocks of code into flowchart diagrams to improve readability. By converting code to medium that is +both text-based and graphical, users less familiar with programming will have a better time understanding the code that they're +using. + +## Detail Explanation + +Jupyter is already set up to support a flowchart-based UI. A standard Jupyter notebook already takes the form of a linear, +sequential flowchart. In order for Jupyter to support a fully flowchart-based UI, + +### JEP Titles + +Jupyter Enhancement Proposals will be submitted with a title that is no longer than 12-words long. A JEP is uniquely identified by its title and the pull request number associated with it. + +### JEP Labels + +The pull-request submitted with each JEP will be labeled with the following labels for easy searching: +* `accepted` — this JEP has been accepted and is currently being implemented +* `implemented` — this JEP has been implemented +* `rejected` - this JEP has been rejected and will not be implemented +* `withdrawn` - this JEP has been withdrawn by the submitter but can be re-submitted if someone is willing to champion it +* `active` - this JEP is currently under active discussion within the community + +### JEP Structure + +When submitting an enhancement proposal, individuals will include the following information in their submission. + +1. The problem that this enhancement addresses. If possible include code or anecdotes to describe this problem to readers. +2. A brief (1-2 sentences) overview of the enhancement you are proposing. If possible include hypothetical code sample to describe how the solution would work to readers. +3. A detailed explanation covering relevant algorithms, data structures, an API spec, and any other relevant technical information +4. A list of pros that this implementation has over other potential implementations. +5. A list of cons that this implementation has. +6. A list of individuals who would be interested in contributing to this enhancement should it be accepted. + +### JEP Submission Process +1. Create a [Markdown](https://help.github.com/articles/github-flavored-markdown/) write up of the problem, proposed enhancement, detailed technical explanation, pros and cons, and interested contributors of the enhancement you are proposing. +2. Create a fork of this repository. +3. Create a folder with its name set to the JEP title in lower snake-case. +3. Place the markdown file created in step 1 and any supplemental materials in that folder. +4. Submit a pull request to the main repository with your JEP. +5. Once your PR is accepted, it will be labeled `active` per the guidelines above. +6. Your JEP will be added to the JEP Index file in this repository. + +## Pros and Cons + +Pros associated with this implementation include: +* A higher quality discussion around enhancement proposals +* Individuals are encourage to put more thought into an enhancement proposal before submitting it +* Precedence exists in the form of PEPs (Python Enhancement Proposals) and IPEPs (IPython Enhancement Proposals) + +Cons associated with this implementation include: +* Existing IPEPs (IPython Enhancement Proposals) will not be included in this migrated repository + +## Interested Contributors +@captainsafia, @rgbkrk From 7b7cd5f822c0848f1d7915b6ab3dbf015e902f1f Mon Sep 17 00:00:00 2001 From: CharlesAverill <46544495+CharlesAverill@users.noreply.github.com> Date: Sun, 24 May 2020 14:23:43 -0500 Subject: [PATCH 2/9] Update flowchart-notebook.md --- flowchart-notebook/flowchart-notebook.md | 17 ++++------------- 1 file changed, 4 insertions(+), 13 deletions(-) diff --git a/flowchart-notebook/flowchart-notebook.md b/flowchart-notebook/flowchart-notebook.md index 1f288484..83a99573 100644 --- a/flowchart-notebook/flowchart-notebook.md +++ b/flowchart-notebook/flowchart-notebook.md @@ -13,21 +13,12 @@ using. ## Detail Explanation Jupyter is already set up to support a flowchart-based UI. A standard Jupyter notebook already takes the form of a linear, -sequential flowchart. In order for Jupyter to support a fully flowchart-based UI, +sequential flowchart. By implementing basic multithreading techniques, flowcharts can be run multiple branches concurrently. Flowcharts also graphically stratify code, and branching charts with logic operations can vastly improve readability of code that makes heavy use of if/else/elif statements. ### JEP Titles Jupyter Enhancement Proposals will be submitted with a title that is no longer than 12-words long. A JEP is uniquely identified by its title and the pull request number associated with it. -### JEP Labels - -The pull-request submitted with each JEP will be labeled with the following labels for easy searching: -* `accepted` — this JEP has been accepted and is currently being implemented -* `implemented` — this JEP has been implemented -* `rejected` - this JEP has been rejected and will not be implemented -* `withdrawn` - this JEP has been withdrawn by the submitter but can be re-submitted if someone is willing to champion it -* `active` - this JEP is currently under active discussion within the community - ### JEP Structure When submitting an enhancement proposal, individuals will include the following information in their submission. @@ -51,9 +42,9 @@ When submitting an enhancement proposal, individuals will include the following ## Pros and Cons Pros associated with this implementation include: -* A higher quality discussion around enhancement proposals -* Individuals are encourage to put more thought into an enhancement proposal before submitting it -* Precedence exists in the form of PEPs (Python Enhancement Proposals) and IPEPs (IPython Enhancement Proposals) +* Code becomes easier to write and modify for users that prefer graphical environments +* Improved readability of logic-heavy code +* Concurrently-running code will be easier to read and write than if multithreading was implemented manually Cons associated with this implementation include: * Existing IPEPs (IPython Enhancement Proposals) will not be included in this migrated repository From a39a22a5e6b1f91ca554b0cf25a8e6a28be71e13 Mon Sep 17 00:00:00 2001 From: CharlesAverill <46544495+CharlesAverill@users.noreply.github.com> Date: Sun, 24 May 2020 19:08:42 -0500 Subject: [PATCH 3/9] Update flowchart-notebook.md --- flowchart-notebook/flowchart-notebook.md | 30 ++++-------------------- 1 file changed, 4 insertions(+), 26 deletions(-) diff --git a/flowchart-notebook/flowchart-notebook.md b/flowchart-notebook/flowchart-notebook.md index 83a99573..26bf20f1 100644 --- a/flowchart-notebook/flowchart-notebook.md +++ b/flowchart-notebook/flowchart-notebook.md @@ -15,30 +15,6 @@ using. Jupyter is already set up to support a flowchart-based UI. A standard Jupyter notebook already takes the form of a linear, sequential flowchart. By implementing basic multithreading techniques, flowcharts can be run multiple branches concurrently. Flowcharts also graphically stratify code, and branching charts with logic operations can vastly improve readability of code that makes heavy use of if/else/elif statements. -### JEP Titles - -Jupyter Enhancement Proposals will be submitted with a title that is no longer than 12-words long. A JEP is uniquely identified by its title and the pull request number associated with it. - -### JEP Structure - -When submitting an enhancement proposal, individuals will include the following information in their submission. - -1. The problem that this enhancement addresses. If possible include code or anecdotes to describe this problem to readers. -2. A brief (1-2 sentences) overview of the enhancement you are proposing. If possible include hypothetical code sample to describe how the solution would work to readers. -3. A detailed explanation covering relevant algorithms, data structures, an API spec, and any other relevant technical information -4. A list of pros that this implementation has over other potential implementations. -5. A list of cons that this implementation has. -6. A list of individuals who would be interested in contributing to this enhancement should it be accepted. - -### JEP Submission Process -1. Create a [Markdown](https://help.github.com/articles/github-flavored-markdown/) write up of the problem, proposed enhancement, detailed technical explanation, pros and cons, and interested contributors of the enhancement you are proposing. -2. Create a fork of this repository. -3. Create a folder with its name set to the JEP title in lower snake-case. -3. Place the markdown file created in step 1 and any supplemental materials in that folder. -4. Submit a pull request to the main repository with your JEP. -5. Once your PR is accepted, it will be labeled `active` per the guidelines above. -6. Your JEP will be added to the JEP Index file in this repository. - ## Pros and Cons Pros associated with this implementation include: @@ -47,7 +23,9 @@ Pros associated with this implementation include: * Concurrently-running code will be easier to read and write than if multithreading was implemented manually Cons associated with this implementation include: -* Existing IPEPs (IPython Enhancement Proposals) will not be included in this migrated repository +* Branching programs would be inherently more complicated than sequential programs. Because of this added complexity, users writing branching programs might be led to make their otherwise simple programs more complicated due to the more options that are available. +* Large branched programs could become visually messy, and spaghetti code could become very complicated to manage. +* Retrofitting/Refactoring could become a much more tedious process ## Interested Contributors -@captainsafia, @rgbkrk +@CharlesAverill From 2330663beb960047ac12524dab591cecf3e9e174 Mon Sep 17 00:00:00 2001 From: CharlesAverill <46544495+CharlesAverill@users.noreply.github.com> Date: Sun, 24 May 2020 19:09:13 -0500 Subject: [PATCH 4/9] Update flowchart-notebook.md --- flowchart-notebook/flowchart-notebook.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/flowchart-notebook/flowchart-notebook.md b/flowchart-notebook/flowchart-notebook.md index 26bf20f1..f53040f0 100644 --- a/flowchart-notebook/flowchart-notebook.md +++ b/flowchart-notebook/flowchart-notebook.md @@ -6,7 +6,7 @@ suited for professional use. ## Proposed Enhancement -Provide a UI that formats blocks of code into flowchart diagrams to improve readability. By converting code to medium that is +Provide a UI that formats blocks of code into flowchart diagrams to improve readability. By converting code to a medium that is both text-based and graphical, users less familiar with programming will have a better time understanding the code that they're using. From 6c6c05e2d00b7b6e0f9cc0f362480c716b58c578 Mon Sep 17 00:00:00 2001 From: CharlesAverill <46544495+CharlesAverill@users.noreply.github.com> Date: Sun, 24 May 2020 19:13:39 -0500 Subject: [PATCH 5/9] Update flowchart-notebook.md --- flowchart-notebook/flowchart-notebook.md | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/flowchart-notebook/flowchart-notebook.md b/flowchart-notebook/flowchart-notebook.md index f53040f0..e7fdeda7 100644 --- a/flowchart-notebook/flowchart-notebook.md +++ b/flowchart-notebook/flowchart-notebook.md @@ -6,9 +6,7 @@ suited for professional use. ## Proposed Enhancement -Provide a UI that formats blocks of code into flowchart diagrams to improve readability. By converting code to a medium that is -both text-based and graphical, users less familiar with programming will have a better time understanding the code that they're -using. +Provide a UI that formats blocks of code into flowchart diagrams to improve readability. By converting code to a medium that is both text-based and graphical, users that are either less familiar with programming or instead prefer graphical development environments will have a better time understanding the code that they're using. ## Detail Explanation From 720dbf2d22e524aa9092eeb3ec823b270e4ab938 Mon Sep 17 00:00:00 2001 From: CharlesAverill <46544495+CharlesAverill@users.noreply.github.com> Date: Sun, 24 May 2020 19:15:08 -0500 Subject: [PATCH 6/9] Update flowchart-notebook.md --- flowchart-notebook/flowchart-notebook.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/flowchart-notebook/flowchart-notebook.md b/flowchart-notebook/flowchart-notebook.md index e7fdeda7..60d23c80 100644 --- a/flowchart-notebook/flowchart-notebook.md +++ b/flowchart-notebook/flowchart-notebook.md @@ -21,7 +21,7 @@ Pros associated with this implementation include: * Concurrently-running code will be easier to read and write than if multithreading was implemented manually Cons associated with this implementation include: -* Branching programs would be inherently more complicated than sequential programs. Because of this added complexity, users writing branching programs might be led to make their otherwise simple programs more complicated due to the more options that are available. +* Branching programs would be inherently more complicated than sequential programs. Because of this added complexity, users writing branching programs might be led to make their otherwise simple programs more complicated than necessary due to the more options that are available. * Large branched programs could become visually messy, and spaghetti code could become very complicated to manage. * Retrofitting/Refactoring could become a much more tedious process From 60a6f97b25b5fe489b5ff6438e78ab1783345c4e Mon Sep 17 00:00:00 2001 From: CharlesAverill <46544495+CharlesAverill@users.noreply.github.com> Date: Sun, 24 May 2020 19:23:08 -0500 Subject: [PATCH 7/9] Update flowchart-notebook.md --- flowchart-notebook/flowchart-notebook.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/flowchart-notebook/flowchart-notebook.md b/flowchart-notebook/flowchart-notebook.md index 60d23c80..358a35a2 100644 --- a/flowchart-notebook/flowchart-notebook.md +++ b/flowchart-notebook/flowchart-notebook.md @@ -6,7 +6,7 @@ suited for professional use. ## Proposed Enhancement -Provide a UI that formats blocks of code into flowchart diagrams to improve readability. By converting code to a medium that is both text-based and graphical, users that are either less familiar with programming or instead prefer graphical development environments will have a better time understanding the code that they're using. +Provide a UI that formats groups of Cells into flowchart diagrams to improve readability. By converting code to a medium that is both text-based and graphical, users that are either less familiar with programming or instead prefer graphical development environments will have a better time understanding the code that they're using. ## Detail Explanation From 956f1d688cbc1f006e328317f75feb9fa8130a97 Mon Sep 17 00:00:00 2001 From: CharlesAverill <46544495+CharlesAverill@users.noreply.github.com> Date: Mon, 25 May 2020 13:36:30 -0500 Subject: [PATCH 8/9] Update flowchart-notebook.md --- flowchart-notebook/flowchart-notebook.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/flowchart-notebook/flowchart-notebook.md b/flowchart-notebook/flowchart-notebook.md index 358a35a2..d8746bf2 100644 --- a/flowchart-notebook/flowchart-notebook.md +++ b/flowchart-notebook/flowchart-notebook.md @@ -6,7 +6,7 @@ suited for professional use. ## Proposed Enhancement -Provide a UI that formats groups of Cells into flowchart diagrams to improve readability. By converting code to a medium that is both text-based and graphical, users that are either less familiar with programming or instead prefer graphical development environments will have a better time understanding the code that they're using. +Provide a UI that formats groups of Cells into flowchart diagrams to improve readability. Each cell should have basic customization options such as edge shape, background color, etc. By converting code to a medium that is both text-based and graphical, users that are either less familiar with programming or instead prefer graphical development environments will have a better time understanding the code that they're using. I'm aiming to provide a UI similar to Node-RED. ## Detail Explanation From a2cc189f14b5310cd447ed562db4f2e3dc18ffa9 Mon Sep 17 00:00:00 2001 From: CharlesAverill <46544495+CharlesAverill@users.noreply.github.com> Date: Mon, 25 May 2020 13:45:23 -0500 Subject: [PATCH 9/9] Rename flowchart-notebook/flowchart-notebook.md to jupyter-flowchart-notebook/jupyter-flowchart-notebook.md --- .../jupyter-flowchart-notebook.md | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename flowchart-notebook/flowchart-notebook.md => jupyter-flowchart-notebook/jupyter-flowchart-notebook.md (100%) diff --git a/flowchart-notebook/flowchart-notebook.md b/jupyter-flowchart-notebook/jupyter-flowchart-notebook.md similarity index 100% rename from flowchart-notebook/flowchart-notebook.md rename to jupyter-flowchart-notebook/jupyter-flowchart-notebook.md