Skip to main content

ImJoy elFinder Binder Open In Colab PyPI Version Test

A web file browser for managing data on remote jupyter servers, specifically built for the ImJoy project, an open source platform for deploying computational tools to the end user.

The frontend is built with elFinder and a Python backend server.

What is elFinder

elFinder is an open-source file manager for web, written in JavaScript using jQuery and jQuery UI, the project is maintained by Studio 42.

Try their online demo here.

Installation

Python 3.7+ is required.

pip install -U imjoy-elfinder

Basic Usage

In your terminal, run the following command:

imjoy-elfinder --thumbnail

(The thumbnail option enables thumbnail for images, it will create a folder named .tmb under your current folder, you can also disable that by remove the --thumbnail option.)

You will then see the following message:

==========ImJoy elFinder server is running=========
http://127.0.0.1:8765

Depending on where you started the command, the file browser will show your current folder as root directory or HOME.

In order to browse your own directory, you can manually set the root directory by passing --root-dir=/PATH/TO/MY/FOLDER.

imjoy-elfinder-screenshot

Use it with remote Jupyter notebook server

If you don't have jupyter notebook, run:

pip install -U jupyter

Next, install ImJoy elFinder with jupyter server proxy extension:

pip install -U imjoy-elfinder[jupyter]

Now start Jupyter notebook as you would do normally, for example:

jupyter notebook --ip=0.0.0.0

You will get a web file browser at http://YOUR_NOTEBOOK_URL/elfinder (depending on what you get from your notebook, for example, the url can be http://localhost:8000/elfinder).

Start a demo with MyBinder

  1. Start an instance on MyBinder: https://mybinder.org/v2/gh/imjoy-team/imjoy-elfinder/master?urlpath=elfinder

  2. You should be able to see a file browser.

Security Considerations

Please be aware that there is potential risk to use ImJoy elFinder locally or remotely over the internet.

Here are some suggestions:

  1. Try to set root-dir to a folder containing the files you actually need, as minimal as possible, avoid exposing the entire file system.

  2. For remote servers, use it via the Jupyter proxy such that the access will be protected by jupyter token or password. also, do not turn off the authentication in Jupyter.

  3. For running it locally, we use allow-origin header (CORS) to protect access from a random website, for that to work, please use a modern browser and keep it updated.

  4. Update ImJoy elFinder regularly with 'pip install -U imjoy-elfinder', in case there is security updates.

Development

  • For developers, you can enable hot reloading by using hupper:
hupper -m imjoy_elfinder
  • Install all development requirements with:
pip install -r requirements_dev.txt

You can also watch additional files by add -w (e.g.: hupper -m imjoy_elfinder -w imjoy_elfinder/templates/elfinder/main.js)

License

MIT

Metadata

Release files for imjoy-elfinder 0.1.63

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-elfinder 0.1.63
File Size Uploaded
imjoy-elfinder-0.1.63.tar.gz 35.7 kB Details

Built distribution (wheel)

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

Total release size: 72.9 kB

Release files / imjoy-elfinder-0.1.63.tar.gz

Download URL imjoy-elfinder-0.1.63.tar.gz
Size 35.7 kB
Tags Source
SHA-256 checksum
How to use checksums
fa6be42b6bffa351ff94b05bf3ce9d3d7ba911a317534deb124abfb2b280c37f
BLAKE2b-256 checksum
How to use checksums
1a28d82ea6561342b881a29380f82ea96f0c77f7c3eec0b13a8f2107065c7854
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.11.7

Release files / imjoy_elfinder-0.1.63-py3-none-any.whl

Download URL imjoy_elfinder-0.1.63-py3-none-any.whl
Size 37.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
7eb7ea8df04a1f263a9aac02abb1eb733b5e096db96b9a83a653edb21bf556a1
BLAKE2b-256 checksum
How to use checksums
749bc5369556f0647bf67f03d51cfe77aa63482cf558492bf04dc287d27d074c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.11.7
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