Skip to main content

ImJoy Plugin Engine for running Python plugins locally or remotely from ImJoy.io

Project description

ENGINE_VERSION PyPI GitHub Build Status ImJoy Version

ImJoy Plugin Engine

The plugin engine used for running python plugins in ImJoy (https://imjoy.io).

This library is mainly based on jupyter notebook server, with additional libraries and convenient settings.

Installation

  • If you don't have a conda environment, download and install Miniconda with Python 3.7 (or Anaconda with Python 3.7 if you prefer a full installation).

  • Start a Terminal(Mac and Linux) or Anaconda Prompt(Windows), then run the following command:

pip install -U imjoy[jupyter]

The above command will also install jupyter notebook and imjoy-elfinder.

  • If you encountered any error related to git or pip, try to run : conda install -y git pip before the above command. (Otherwise, please check FAQs.)

Usage

To use it after the installation:

  • Run imjoy --jupyter command in a Terminal or Anaconda Prompt, and keep the window running. You will get a link that looks like http://localhost:8888/?token=caac2d7f2e8e0...ad871fe from the terminal, please copy it for the next step.

  • Go to https://imjoy.io, click the 🚀 icon located in the upper-right corner, select Add Jupyter-Engine and paste the link you got previously, and connect to the plugin engine. Once connected, you can start to run python plugins through the plugin engine.

Please note that if you are trying to use the ImJoy Plugin Engine running on a remote server, please use the ImJoy web App served on your server (http://YOUR_REMOTE_IP:9527) instead of https://imjoy.io. This is because most browsers do not allow a web application served through https to connect to an unsecured server (your remote server). Alternatively, you can use a proxy to enable https for the plugin engine. Then you will be able to use it with https://imjoy.io.

Connecting to a ImJoy Engine Server

import webbrowser
from imjoy_rpc import connect_to_server, launch_plugin

def new_client_join(ws):
    viewer = await ws.createWindow(src="https://kaibu.org")

async def main():
    api = await connect_to_server(server_url="https://api.imjoy.io/")
    api.on('join', new_client_join)
    tk = await api.generate_token()
    name = api.config['name']
    token = tk['token']
    url = f"https://imjoy.io/lite?server_url=https://api.imjoy.io&token={token}&name={name}"
    print(url)
    webbrowser.open(url)

More details and FAQs in Docs

Roadmap

You can track the progress of the project here: https://github.com/imjoy-team/ImJoy/projects/2

Issues

Please submit your bug report or feature request to ImJoy/issues

Development

  • We use black for code formatting.
  git clone git@github.com:imjoy-team/ImJoy-Engine.git
  # Enter directory.
  cd ImJoy-Engine
  # Install all development requirements and package in development mode.
  pip3 install -r requirements_dev.txt
  • Run tox to run all tests and lint, including checking that black doesn't change any files.

Project details


Release history Release notifications | RSS feed

Download files

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

Source Distribution

imjoy-0.11.12.tar.gz (24.5 kB view details)

Uploaded Source

Built Distribution

imjoy-0.11.12-py3-none-any.whl (27.7 kB view details)

Uploaded Python 3

File details

Details for the file imjoy-0.11.12.tar.gz.

File metadata

  • Download URL: imjoy-0.11.12.tar.gz
  • Upload date:
  • Size: 24.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.0.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.9.5

File hashes

Hashes for imjoy-0.11.12.tar.gz
Algorithm Hash digest
SHA256 2b836c3dcd9d344cb7199593ce8f380063618dbf7a664bc5c23f8eaefd073cdc
MD5 a6e70fb019a8e63df51b28670569019f
BLAKE2b-256 da3519e8e079c3c3bc3a0cc7425c6cbfb9737a8fe221a47d2ae28c45c5094d16

See more details on using hashes here.

File details

Details for the file imjoy-0.11.12-py3-none-any.whl.

File metadata

  • Download URL: imjoy-0.11.12-py3-none-any.whl
  • Upload date:
  • Size: 27.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.0.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.9.5

File hashes

Hashes for imjoy-0.11.12-py3-none-any.whl
Algorithm Hash digest
SHA256 20a7ca96b5afed7136a3b277f38bfac1308f1232abcdcb667a32ae835d9d68ab
MD5 3523a174b9ada22cf34380d24f9ffae2
BLAKE2b-256 77ad9ea19da911d5b70869d6824c2e3a7061d744aae977f97e041878e5f91046

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