You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Online Python 3.6 Programming with Live Pylint Syntax Checking!
6
6
<br>
7
7
<i>
8
-
Demo is in Python 2.7. A Full Python sandboxing implementation for the Python 3.6 version is a WIP.
8
+
GIF below is in Python 2.7. <b>Demo: http://pythonbuddy.com </b>
9
9
</i>
10
10
<br>
11
11

@@ -82,8 +82,7 @@ This is still in alpha stage so there might be some bugs. If you want to impleme
82
82
83
83
1. Edit app.py to change any pylint options (like showing/hiding hints warnings)
84
84
2. Security
85
-
1. To create a much more secure Python Environment, consider using RestrictedPython: https://github.com/ethanchewy/OnlinePythonLinterSyntaxChecker/tree/restrictedpython
86
-
2. For more security but enough flexibility, you could restrict the temp.py python file without read/write permissions via these instuctions: http://stackoverflow.com/questions/186202/what-is-the-best-way-to-open-a-file-for-exclusive-access-in-python
85
+
1. To create a much more secure Python Environment, consider using my Docker + Node.js implementation: https://github.com/ethanchewy/PythonBuddy#secure-sandboxed-version-using-docker
87
86
3. For versions that used Python 2 or to see older versions, check: https://github.com/ethanchewy/PythonBuddy/releases
88
87
89
88
### Unit Tests
@@ -98,7 +97,9 @@ This is still in alpha stage so there might be some bugs. If you want to impleme
98
97
99
98
### FAQ:
100
99
Why did you make this? <br>
101
-
I made this so that MOOCs like edX or codecademy could easily embed and use this on their courses so students wouldn't have to go through the frustrations of setting up a Python environment and jump right into Python programming with the support of live syntax checking & highlighting.(Programming MOOCs often have a high attrition rate due to the difficulties of setting up an environment). Also, professors and teachers could easily set up a server and allow students to quickly test out their code with PythonBuddy online.
100
+
In 2014, I was a Community TA at MIT edX 6.00.1x course where I helped teach over 1000 students. The year after I started researching under Prof. Eni Mustafaraj. She had a data set from that course and we saw a high attrition rate of students within the first 2 weeks. After digging through the curriculumn and data, I realized that the students left because of difficulties setting up their Python environment and complex error messages that they couldn't solve when running their code (ex: some students had path issues).
101
+
<br>
102
+
So, I created PythonBuddy to address this issue so that students wouldn't have to go through the frustrations of setting up a Python environment and running into seemingly "random" bugs. PythonBuddy allows users to jump right into Python programming with the support of live syntax checking & highlighting. Also, professors and teachers could easily set up a server and allow students to quickly test out their code with PythonBuddy online.
102
103
103
104
Has anyone created anything like this before? <br>
104
105
There has never been a live syntax checker for python online. Similar projects that are not "live" are http://pep8online.com/ and http://antares.sip.ucm.es/cesar/pylint/
@@ -113,10 +114,14 @@ I'm currently working on this over here (for edx specifically): https://github.c
113
114
```
114
115
115
116
I want the code to actually compile and run in a certain way?<br>
116
-
If you want to actually execute the python safely look at my Restricted Python branch: https://github.com/ethanchewy/PythonBuddy/tree/restrictedpython. If you want to run the code more quickly, check out the testing branch which uses Python 3 but may have some bugs: https://github.com/ethanchewy/PythonBuddy/tree/testing.
117
+
To run PythonBuddy securely, you can check out my implementation of PythonBuddy with Docker and Node.js: https://github.com/ethanchewy/PythonBuddy#secure-sandboxed-version-using-docker. Basically, it dockerizes each user session (similar to creating a virtual machine for each user) and destroys it if it uses too much memory or runs malicious code.
118
+
<br>
119
+
If you want to actually execute the python in a restricted fashion at my Restricted Python branch: https://github.com/ethanchewy/PythonBuddy/tree/restrictedpython.
Featured on <ahref = "https://twitter.com/PythonWeekly/status/839928984389451777">Python Weekly</a>, <ahref ="https://twitter.com/cssauthor/status/841178825924976642">CSS Author</a>, and the <ahref ="https://twitter.com/TalkPython/status/858344138420477953">Talk Python Podcast</a>
0 commit comments