Skip to content


Subversion checkout URL

You can clone with
Download ZIP
Pico is a very small web application framework for Python.
Python JavaScript
branch: master

Merge pull request #10 from tatterdemalion/master

why don't we let people choose the status code?
latest commit 7045c7d44d
@fergalwalsh authored
Failed to load latest commit information.
pico why don't we let people choose the status code?
.gitignore updated .gitignore Added Update
setup.cfg added setup.cfg Bump version to 1.4.2


easy_install pico or pip install pico

Write a Python module:

import pico

def hello(name="World"):
    return "Hello " + name

Start the server:

python -m pico.server

Or run behind Apache with mod_wsgi

Call your Python functions from Javascript:

  <title>Pico Example</title>
    <script src="/pico/client.js"></script>
  <p id="message"></p>
  example.hello("Fergal", function(response){
    document.getElementById('message').innerHTML = response;  

What? How?

  • Pico is a very small web application framework for Python & Javascript.
  • Pico allows you to write Python modules, classes and functions that can be imported and called directly from Javascript.
  • Pico is not a Python to Javascript compiler
    • Pico is a bridge between server side Python and client side Javascript.
  • Pico is a server, a Python libary and a Javascript library! The server is a WSGI application which can be run standalone or behind Apache with mod_wsgi.
  • Pico is a Remote Procedure Call (RPC) library for Python without any of the hassle usually associated with RPC. Literally add one line of code (import pico) to your Python module to turn it into a web service that is accessible through the Javascript (and Python) Pico client libararies.

The Pico protocal is very simple so it is also easy to communicate with Pico web services from other languages (e.g. Java, Objective-C for mobile applications). See the for a reference implementation.

See the wiki for more information.

Something went wrong with that request. Please try again.