Skip to main content

OMERO.web

Project description

https://github.com/ome/omero-web/workflows/Tox/badge.svg https://img.shields.io/badge/code%20style-black-000000.svg https://badge.fury.io/py/omero-web.svg

Introduction

OMERO.web provides a web based client and plugin infrastructure.

Dependencies

Direct dependencies of OMERO.web are:

Installation

We recommend installing omero-web in a Python virtual environment.

Before installing omero-web, we recommend to install the ZeroC IcePy Python bindings. Our commercial partner Glencoe Software has produced several Python wheels to install the Ice-Python bindings depending on the desired Python version and the operating system. Please visit OMERO Python language bindings for a list of supported platforms and Python versions.

When the wheel is installed, activate the virtual environment and install omero-web from PyPI.

$  pip install -U omero-web

Setting of the environment variable OMERODIR is required. $OMERODIR/var/log/ directory will contain log files. $OMERODIR/etc/grid/config.xml is used to store config:

$ export OMERODIR=$(pwd)

Usage

For running omero-web in production with NGINX, see See: OMERO.web install documentation. To run in development mode, see below.

LUTs caching

The OMERO server ships with a set of look-up tables (LUTs) for rendering images. Admins can also add their own LUTs to the server. The LUTs available on the server can be retrieved from the /webgateway/luts/ endpoint as JSON data.

To include the rgb values of each LUT in the JSON response, append ?rgb=true to the URL.

A copy of the JSON output from /webgateway/luts/?rgb=true is included in the omero-web package as a static file at https://github.com/ome/omero-web/blob/master/omeroweb/webgateway/static/webgateway/json/luts.json.

This is used to generate a LUT preview png at /webgateway/luts_png/ that can be used by clients such as OMERO.ivewer and OMERO.figure to display the LUTs in a user-friendly way. By using the static luts.json, the /luts_png/ can be quickly generated without needing to load LUTs from the server.

The sequence of LUTs in /webgateway/luts_png/ corresponds to the dynamic list from /webgateway/luts/. If there are new LUTs on the server that are not found in the static luts.json, the /luts_png/ will show a blank placeholder for that LUT.

If you have Django caching enabled on your server (e.g. with Redis) then you can cache the png with new LUTs by visiting /webgateway/luts_png/?cached=false. This will then be read by other users when they visit /webgateway/luts_png/.

If Django caching isn’t enabled, the JSON response from /webgateway/luts/?rgb=true can instead be manually updated in the static luts.json file in the omero-web package.

Contributing

See: OMERO documentation

Developer installation

For a development installation we recommend creating a virtual environment as described above. Then install OMERO.web into your virtual environment as an editable package, so that any edits to source files will be reflected in your installation.

$ git clone https://github.com/ome/omero-web
$ cd omero-web
$ pip install -e .

Note some omero-web tests may not run when this module and/or omero-py are installed in editable mode.

Configuration for developer usage:

$ omero config set omero.web.debug True
$ omero config set omero.web.application_server development

# If you want to connect to OMERO.server other than 'localhost'
$ omero config append omero.web.server_list '["demo.openmicroscopy.org", 4064, "demo"]'

Then run omero-web in the foreground with:

$ omero web start
...
Starting development server at http://127.0.0.1:4080/

Or, run Django directly:

$ cd omero-web
$ python omeroweb/manage.py runserver 4080
...
Starting development server at http://127.0.0.1:4080/

Upgrading

Plugin developers should review the Upgrading document highlighting steps that may need to be taken when upgrading OMERO.web to ensure plugins or other customizations continue to function as expected.

Running tests

Unit tests are located under the test directory and can be run with pytest.

Integration tests

Integration tests are stored in the main repository (ome/openmicroscopy) and depend on the OMERO integration testing framework. Reading about Running and writing tests in the OMERO documentation is essential.

Release process

This repository uses bump2version to manage version numbers. To tag a release run:

$ bumpversion release

This will remove the .dev0 suffix from the current version, commit, and tag the release.

To switch back to a development version run:

$ bumpversion --no-tag patch

NB: this assumes next release will be a patch (see below). To complete the release, push the master branch and the release tag to origin:

$ git push origin master v5.8.0

If any PRs are merged that would require the next release to be a major or minor version (see semver.org) then that PR can include a version bump created via:

$ bumpversion --no-tag minor|major

If this hasn’t been performed prior to release and you wish to specify the next version number directly when creating the release, this can be achieved with:

$ bumpversion --new-version 5.9.0 release

omero-web-docker

Following omero-web release, need to update and release omero-web-docker.

License

OMERO.web is released under the AGPL.

Project details


Download files

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

Source Distribution

omero_web-5.29.0.tar.gz (2.3 MB view details)

Uploaded Source

Built Distribution

omero_web-5.29.0-py3-none-any.whl (2.8 MB view details)

Uploaded Python 3

File details

Details for the file omero_web-5.29.0.tar.gz.

File metadata

  • Download URL: omero_web-5.29.0.tar.gz
  • Upload date:
  • Size: 2.3 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.12.9

File hashes

Hashes for omero_web-5.29.0.tar.gz
Algorithm Hash digest
SHA256 cd345aff1881c9637e1551536119fc78a726c77744a0a92e0b43cfc60307c0e3
MD5 e05dccb66814d65ac8dab9b84a93b83b
BLAKE2b-256 e51db352a9f3d2f23438fa65351206b68d6c2ac1c9a3920e46f8bd147ed3be7f

See more details on using hashes here.

File details

Details for the file omero_web-5.29.0-py3-none-any.whl.

File metadata

  • Download URL: omero_web-5.29.0-py3-none-any.whl
  • Upload date:
  • Size: 2.8 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.12.9

File hashes

Hashes for omero_web-5.29.0-py3-none-any.whl
Algorithm Hash digest
SHA256 0d87be7e1877523b5679785b764230fa7f3ae276a0a2cf2de2f9ac5212d58a94
MD5 c9eedd5e51bcb7f0f3c20285b9f0e6a3
BLAKE2b-256 0614e1a90a13e8744d36d169c815d06aad38a2944b2175db94cada367a8d0611

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page