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.32.0.tar.gz (2.3 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

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

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for omero_web-5.32.0.tar.gz
Algorithm Hash digest
SHA256 83c5f1d98efc0c8d8363c8b98c6882eaa0c8e8c6ab673b5cedc691c3d2113451
MD5 8c3e8a0a1a0735a37342863f4cf82c1b
BLAKE2b-256 64b1f18a9cd7ed2e06f40f8c5f20e2b04fdf103fa4c29fb76a209ad988d6ffee

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for omero_web-5.32.0-py3-none-any.whl
Algorithm Hash digest
SHA256 4dcb629507584669f5b35968cc252bf5a24efa48c6af2389058b5e802fac1b6a
MD5 57c5f5e9f730e32b6e2fa18ca90d4149
BLAKE2b-256 56ebaea7a7de318918f8cc1b54433152d92f2727c120975da8d6bd9632bedd32

See more details on using hashes here.

Supported by

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