Pico: Simple Python HTTP APIs¶
Release v2.0.4. (Installation)
Pico is a very small HTTP API framework for Python. It enables you to write HTTP APIs with minimal fuss, overhead and boilerplate code.
import pico
from pico import PicoApp
@pico.expose()
def hello(who="world"):
s = "hello %s!" % who
return s
@pico.expose()
def goodbye(who):
s = "goodbye %s!" % who
return s
app = PicoApp()
app.register_module(__name__)
Start the development server:
python -m pico.server example
Call your http api functions from with any http client:
curl http://localhost:4242/example/hello/
curl http://localhost:4242/example/hello/?who="fergal"
curl http://localhost:4242/example/goodbye/?who="fergal"
Use the Javascript client.
<!DOCTYPE HTML>
<html>
<head>
<title>Pico Example</title>
<!-- Load the pico Javascript client, always automatically available at /pico.js -->
<script src="/pico.js"></script>
<!-- Load our example module -->
<script src="/example.js"></script>
</head>
<body>
<p id="message"></p>
<script>
example.hello("Fergal").then(function(response){
document.getElementById('message').innerHTML = response;
});
</script>
</body>
</html>
Use the Python client.
import pico.client
example = pico.client.load('http://localhost:4242/example')
example.hello('World')
Features¶
- Automatic URL routing
- Decorators
- Automatic JSON serialisation
- Automatic argument parsing & passing
- Simple streaming responses
- Development server with debugger
- WSGI Compliant
- Built upon Werkzeug
- Python Client
- Javascript Client
The User Guide¶
An introduction to Pico and a guide to how to use it.