Fork me on GitHub

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.

Demo

The code is run entirely in your browser, so don't feel obligated to "crash the server", you'll only stub your toe. Help, or examples: 1 2 3 4 5 6 7 8. Ctrl-Enter to run.

Output: (clear)



    

Interactive:

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
    

Or download it like this: skulpt-latest.tar.gz or like this: skulpt-latest.zip

What's New?

  • 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

By these awesome people: Brad Miller, Scott Rixner, Albert-Jan Nijburg, Marie Chatfield, Isaac Dontje Lindell, jaspervdg, Ethan Steinberg, Jeff-Tian, Meredydd Luff and Leszek Swirski

Skulpt in the Wild

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

Getting Started

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.

Helping out!

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 Modules

This 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.

License

Skulpt may be licensed under:

  1. The MIT license.
  2. Or, for compatibility with Python, the PSFLv2.

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.

About

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