Skip to main content

logo

Dispono

Dispono is a tool to synchronization your source code and run it inside a browser IDE.

It works cross-platform and cross-browser since it doesn't requires any plugins.

Currently supported browser IDE's:

Installation

pip install dispono

Only Python 3.6+ is supported.

Usage

  1. Write a python script:

    from dispono import Dispono
    
    
    async def task(ide):
        await ide.sync_code('print("Hello browser. :)")')
        await ide.run_code()
    
    
    Dispono(task, port=8080)
    

    The above code will open a server at port 8080, transfer the code to your browser IDE and run the code.

  2. Open your browser IDE (e.g. a CodinGame contest).

  3. Run the python script.

    When you start the script the first time, you have to execute a small javascript snippet inside the browser tab web console in order to connect to the server.

    All following runs will work out of the box for the same session.

Advanced usage

C/C++

In combination with Quom, your multi-file C/C++ project can be easily synced with your web IDE. Quom generates a single file from all local included header and source files.

from io import StringIO

from dispono import Dispono
from quom import Quom


async def task(ide):
    dst = StringIO()
    Quom('main.cpp', dst)
    await ide.sync_code(dst.getvalue())
    await ide.run_code()


Dispono(task, port=8080)

How does it work

Dispono starts a lightweight web server serving a javascript file for your specific browser IDE.

The javascript file contains code to control the IDE (sync/run/get output) and a client instance.

After registration the client by the server, the server can send commands to the client.

The communication between server and client happens with socket.io.

Planned features

  • Download code from web IDE.
  • Correctly forward console output to the server.
  • Support more web IDE's.
  • Support multiple clients at the same time.

Metadata

Release files for Dispono 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for Dispono 0.1.0
File Size Uploaded
Dispono-0.1.0.tar.gz 6.4 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for Dispono 0.1.0
File Interpreter ABI Platform
Dispono-0.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 13.6 kB

Release files / Dispono-0.1.0.tar.gz

Download URL Dispono-0.1.0.tar.gz
Size 6.4 kB
Tags Source
SHA-256 checksum
How to use checksums
f22ffad108fc8862622673411d110cbe209bf64390cd71ba9e58d96cbac0e853
BLAKE2b-256 checksum
How to use checksums
ce3928d476aeca4d714d1b699e21bfc03461b72d0e197f873b958918cb1770bc
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/45.0.0 requests-toolbelt/0.9.1 tqdm/4.41.1 CPython/3.8.1

Release files / Dispono-0.1.0-py3-none-any.whl

Download URL Dispono-0.1.0-py3-none-any.whl
Size 7.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
69ab25a9aa13805336ff3b813b235d1552749d0a4072c2c8ea0161592419aaba
BLAKE2b-256 checksum
How to use checksums
bd8083baf7fb3846aa1fe251e54f69a542c08e1060d5c0b2b50220b8ece4d97f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/45.0.0 requests-toolbelt/0.9.1 tqdm/4.41.1 CPython/3.8.1

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page