Pants¶
Pants is a lightweight framework for writing asynchronous network applications in Python. Pants is simple, fast and elegant.
Pants is available under the Apache License, Version 2.0
- An incomplete feature list:
- Single-threaded, asynchronous, callback-oriented.
- TCP networking - clients and servers!
- IPv4, IPv6 and UNIX socket families.
- SSL/TLS support for all that security stuff.
- Basic scheduling and timers.
- A speedy HTTP server with a handy WebSockets implementation.
- A simple web framework and support for WSGI.
And it’s all so, so easy to use. Check it out:
from pants import Engine, Server, Stream
class Echo(Stream):
def on_read(self, data):
self.write(data)
Server(Echo).listen(4040)
Engine.instance().start()
Here’s a web example for good measure:
from pants.web import Application
app = Application()
@app.route('/')
def hello(request):
return "Hello, World!"
app.run()
And here’s how you get Pants:
pip install pants
- Want to get started? There’s plenty to do:
- Fork ecdavis/pants on GitHub.
- Join the IRC channel, #pantspowered on Freenode.
- Read this documentation!