Skip to main content
Python Software Foundation 20th Year Anniversary Fundraiser  Donate today!

A set of tools which simplify building cross-platform desktop apps with Python, JavaScript, HTML & CSS.

Project description


Latest version on PyPi Supported Python versions CircleCI

A set of tools which simplify building cross-platform desktop apps with Python, JavaScript, HTML & CSS.


In contrast to typical desktop GUI frameworks such as tkinter, wxPython, PyQt or Kivy:

  • does not define own widgets/layout system (Kivy, Qt, wx), simply use a browser as a platform which already provides those things
  • your app is client-server and cross-platform by design, different devices may use it simultaneously

Compared to existing alternatives such as Eel, async-eel and guy:

  • runs on asyncio instead of threads or gevent greenlets
  • highly customizable aiohttp server
  • no global state / singleton API


Install from pypi with pip:

pip install aiodesktop

Hello, World!

import aiodesktop

class Server(aiodesktop.Server):
    async def on_startup(self):

    # Use `expose` decorator to mark method as visible from JS
    async def get_string(self):
        # Use `await` to call JS functions from Python 
        return 'Hello, ' + await self.js.getWorld()

bundle = aiodesktop.Bundle()
server = Server(
    async function onConnect(server) {                        
        // Exposing JS function to python        
            async getWorld() {
                return 'World!'

        // Use `await` to call Python methods from JS
        document.body.innerHTML += await; 

See example/ for a slightly more complicated app with:

  • static files
  • pyinstaller executable
  • JS & webpack
  • https

Project details

Download files

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

Files for aiodesktop, version 0.1.3
Filename, size File type Python version Upload date Hashes
Filename, size aiodesktop-0.1.3-py3-none-any.whl (16.4 kB) File type Wheel Python version py3 Upload date Hashes View
Filename, size aiodesktop-0.1.3.tar.gz (15.0 kB) File type Source Python version None Upload date Hashes View

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring DigiCert DigiCert EV certificate Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page