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.3.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.29.3-py3-none-any.whl (2.8 MB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for omero_web-5.29.3.tar.gz
Algorithm Hash digest
SHA256 be86ad8a6344d0f37d17ec354fada20d5b95c18aa6bd4d8558fbff9168bc158c
MD5 5dfb778df86d1e1c0333a39db321d116
BLAKE2b-256 35f1fd28d22da8c7420db0f585c400baa3c7883e9e6d7c4dbb406972c6b9e719

See more details on using hashes here.

File details

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

File metadata

  • Download URL: omero_web-5.29.3-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.7

File hashes

Hashes for omero_web-5.29.3-py3-none-any.whl
Algorithm Hash digest
SHA256 9c7253339e7993b6441dbc13f4c9fac01211bda3c7d33d4f9d580fe28578012d
MD5 fe6663c8325e6314e9e1ad74ae0412e3
BLAKE2b-256 219b1f8c8add8dce92dff3d1e2e0f8e3db0fe3facfd320e1f733cb9a5b08e126

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