Skip to main content

Yet another async web server

Project description

What’s Pyx?

Pyx is yet another async web server written in Python, with the asyncio module.

It’s small and simple. It has no dependency at all except Python itself.

Yet Pyx is also carefully crafted to behave nicely in stressful and dangerous enviroments.

How to install?

Just use pip or tools alike:

pip install pyxserver

What can Pyx do?

Pyx is a simple static file server by itself:

pyx -b localhost -p 8000 -r /some/where

This will start pyx and bind it to localhost:8000, serving files in the directory /some/where

And you can also use the small framework provided by Pyx to write your own dynamic web application:

import asyncio
from pyx import (HttpHeader, HttpConnectionCB)

@asyncio.coroutine
def req_cb(req):
    resp = req.respond(200)
    resp.headers.append(HttpHeader('Content-Length', 5))
    resp.headers.append(HttpHeader('Content-Type', 'text/plain'))
    yield from resp.send()
    yield from resp.send_body(b'hello')

loop = asyncio.get_event_loop()

conn_cb = HttpConnectionCB(req_cb)
starter = asyncio.start_server(conn_cb, '127.0.0.1', 8080, loop=loop)
_server = loop.run_until_complete(starter)

loop.run_forever()

Please see the implementation of pyx.http.StaticRootResource for a more sophisticated example.

License

Pyx is licensed under the terms of the MIT license.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pyxserver-0.1.4.tar.gz (15.9 kB view details)

Uploaded Source

File details

Details for the file pyxserver-0.1.4.tar.gz.

File metadata

  • Download URL: pyxserver-0.1.4.tar.gz
  • Upload date:
  • Size: 15.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for pyxserver-0.1.4.tar.gz
Algorithm Hash digest
SHA256 ce99a1b0ff8bd8b33e103b88c51aaf2585186104d71a219756849af34f308d8d
MD5 c9d2ad951703bde28975e098948be75c
BLAKE2b-256 28be3f742fff12c794128bb12424585fd9f1ecafa823ac1ecc8c1d68f21f794f

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page