Skip to main content

Like python eel, but for py3, with asyncio

Project description

wuy

It's like python eel BUT :

  • it uses asyncio, and the marvellous aiohttp and uvloop if present.
  • it uses python3 ONLY
  • it's server hosted friendly from scratch (use wuy.Server) (but not IE11 compatible)
  • it uses pubsub mechanism to communicate from server to clients, or from client to clients
  • it can call sync or async rpc method on the server
  • it's pyinstaller-friendly on windows, see bat file
  • com errors are catch'able with the promise
  • a wuy.Window can open another wuy.Window during a rpc call

to test/run

Download the zip from here

$ pip3 install aiohttp
$ python3 -u simple.py

or the new way of doing things, for app/window:

$ python3 -u an_app.py

For the server

$ python3 -u a_server.py

to use

Install the lib :

$ pip3 install wuy

create a python file "web.py", and copy/paste this:

import wuy
wuy.start(app=True)

Run it, like this :

python3 web.py

It will create a "web/index.html", the defaut front-end ;-)

Edit "web/index.html", like this :

<script src="wuy.js"></script>
<button onclick="wuy.myadd(42,13).then( alert )">test</button>

Edit "web.py", like this :

import wuy

@wuy.expose
def myadd(a,b):
    return a+b

wuy.start(app=(640,480))

and rerun your script :

python3 web.py

and you can start to code

but the future is ... bright ;-)

See examples :

  • an_app : same as simple.py but in the new fashion
  • an_app2 : an input box
  • an_app3 : an alert box with autodeclared js vars !
  • an_app4 : using sync & async rpc call !
  • a_server : a server, tchat service for multiple clients

with wuy.Window for app (which open/manage a chrome window app)

with wuy.Server for classic http/ws servers

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

wuy-0.4.2.tar.gz (7.0 kB view hashes)

Uploaded Source

Built Distribution

wuy-0.4.2-py3-none-any.whl (9.6 kB view hashes)

Uploaded Python 3

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