Python. Client side.
Skulpt is an entirely in-browser implementation of Python.
No preprocessing, plugins, or server-side support required, just write Python and reload.
- cut/copy/paste/undo/redo with the usual shortcut keys
- Tab does decent indenting. Thanks to CodeMirror for the text editor.
- Ctrl-Enter to run, Shift-Enter to run selected
This is a very cool new feature that is just getting off the ground. This would be a great project to jump in and help out on!
Your Very Own Copy
Want to give it a shot? Grab it with git:
git clone https://github.com/skulpt/skulpt.git
- Suspensions! This may not mean a lot to you, but trust me its going to be big. Suspensions provide the foundation for the asynchronous execution we need to build an interactive debugger, a smoother turtle module, enhanced urllib and other cool features. For developers you should check out the time module and the suspensions.txt file under doc/.
- Stub implementations of the standard library modules. You will now get an unimplemented exceptions rather than some other file not found error.
- General cleanup and standardization of the code. See the short description of the coding standards in the CONTRIBUTING file
- Loads of bugfixes: see
- slice() function implemented. And improvements to list slicing.
- string and operator module added.
- Keyword arguments for sorted()
- text() function in processing
Skulpt in the Wild
- How to Think like a Computer Scientist: Interactive Edition
- Problem Solving with Algorithms and Data Structures using Python
- Dr. Chuck Online
- Geometry Zen
If you have a project that uses skulpt and would like me to link to it here, let me know on our github page.
Skulpt on Coursera
If you want to embed a nice looking bit of code that your users can edit, Trinket.io can help you with that! You can put together the example on their site, and then generate the code for an iframe that you can embed in your page!
If you want to roll your own page, Getting started with skulpt on your own page can seem a little intimidating, but here's a really simple example that gets you going. You can copy and paste or grab the code from this gist.
Skulpt surely isn't done yet.
If you want to check out a list of bugs, or add to it, or see what's been fixed recently, you can head over to the always-euphemistic-sounding issues page.
If you are interested in contributing to skulpt in any way, check out this new how to contribute document.
If you'd like to chit-chat, there's a list for that.
If you would like to help with coding, these new and improved developer docs will help get you started.
Third Party ModulesThis new feature lets you create and host your own modules for use in Skulpt. The following gist shows how to include one of them in a page.
Customizing modules after import
If you want to customize how a module behaves you can use the ``onAfterImport`` hook. Here is a gist of how the trinket guys do it.
Skulpt may be licensed under:
Please note that this dual license only applies to the part of Skulpt that is included in the runtime, and not necessarily to surrounding code for build processing or testing. Tests are run using V8, and Closure Compiler, and some test code is taken from the tinypy and Python test suites, which may be distributed under different licensing terms.
The Father of skulpt is Scott Graham, you can find his blog here: personal page (and blog)
My own personal page and blog is Reputable Journal