Skip to main content

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.

Release files for imjoy 0.11.20

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

Source distribution (sdist)

Source distribution for imjoy 0.11.20
File Size Uploaded
imjoy-0.11.20.tar.gz 55.2 kB Details

Built distribution (wheel)

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

Total release size: 121.8 kB

Release files / imjoy-0.11.20.tar.gz

Download URL imjoy-0.11.20.tar.gz
Size 55.2 kB
Tags Source
SHA-256 checksum
How to use checksums
6160fba89a5e0df4d9265aaee0be7e123be1e7e4abd00a4ea510cf50081ca813
BLAKE2b-256 checksum
How to use checksums
55cca266629345beb1793fc7b6d6ae0e289c73cccc92bf96dcf615523a643f4d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.7

Release files / imjoy-0.11.20-py3-none-any.whl

Download URL imjoy-0.11.20-py3-none-any.whl
Size 66.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
82158bc6ce38ccc4beeed3edf093f824762ac6a847ac1bdae573b9f446877e42
BLAKE2b-256 checksum
How to use checksums
93ef93d4018e405677bb464c52d1ca838a7dea03d1e0b2d75cd9fe77c81ab67d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.7

Release history Release notifications | RSS feed

This release

0.11.20 This release

2 release files

0.11.9

2 release files

0.11.4

2 release files

0.11.3

2 release files

0.11.2

2 release files

0.11.1

2 release files

0.11.0

2 release files

0.10.12

1 release file

0.10.10

1 release file

0.10.9

1 release file

0.10.8

1 release file

0.10.7

1 release file

0.10.6

1 release file

0.10.5

1 release file

0.10.4

1 release file

0.10.3

1 release file

0.10.2

2 release files

0.9.12

2 release files

0.9.11

2 release files

0.9.9

2 release files

0.9.7

2 release files

0.9.6

2 release files

0.9.5

2 release files

0.9.4

2 release files

0.9.3

2 release files

0.9.2

2 release files

0.9.1

2 release files

0.9.0

2 release files

0.8.22

2 release files

0.8.8

2 release files

0.8.7

2 release files

0.7.68

2 release files

0.7.67

2 release files

0.7.66

2 release files

0.7.65

2 release files

0.7.64

2 release files

0.7.63

2 release files

0.7.54

2 release files

0.7.53

2 release files

0.7.52

2 release files

0.7.51

2 release files

0.7.50

2 release files

0.7.41

2 release files

0.7.40

2 release files

0.7.31

2 release files

0.7.30

2 release files

0.7.28

2 release files

0.7.26

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