Skip to main content

openvisuspy

Project description

OpenViSUS Visualization project

The official OpenVisus C++ GitHub repository is here.

Install openvisuspy

Create a virtual environment. This step is optional, but best to avoid conflicts:

for Linux/OS users

python3 -m venv .venv
source .venv/bin/activate
python3 -m pip install --upgrade pip

For windows users

doskey python3=python $*
python3 -m venv .venv
.venv\Scripts\activate.bat
python3 -m pip install --upgrade pip

Install python packages, technically only numpy is stricly needed, but to access cloud storage and show dashboards/notebooks, you need additional packages too.

python3 -m pip install numpy boto3 xmltodict colorcet requests scikit-image matplotlib bokeh==3.1.1 panel==1.3.6 itkwidgets[all] pyvista vtk jupyter

Next, install Openvisus packages.

If you DO NOT NEED the OpenVisus viewer (or if you are in Windows WSL):

python3 -m pip install --upgrade OpenVisusNoGui==2.2.128
python3 -m pip install --upgrade openvisuspy==1.0.28

if you ** DO NEED the OpenVisus viewer**:

python3 -m pip install --upgrade OpenVisus==2.2.128
python3 -m OpenVisus configure 
python3 -m pip install --upgrade openvisuspy==1.0.28

Bokeh Dashboards

# export BOKEH_ALLOW_WS_ORIGIN=*
# export BOKEH_LOG_LEVEL=debug
# export VISUS_CPP_VERBOSE=0
# export VISUS_NETSERVICE_VERBOSE=0
# export PYTHONPATH=./src;/projects/OpenVisus/build/RelWithDebInfo

python -m bokeh serve "examples/dashboards/app"  --dev --args --dataset  "https://atlantis.sci.utah.edu/mod_visus?dataset=david_subsampled&cached=arco" 

python -m bokeh serve "examples/dashboards/app"  --dev --args --dataset  "https://atlantis.sci.utah.edu/mod_visus?dataset=2kbit1&cached=arco"

Developers only

Deploy new binaries

  • Update the PROJECT_VERSION inside pyproject.toml
# source .venv/bin/activate
./scripts/new_tag.sh

(EXPERIMENTAL) Pure Python Backend

This version may be used for cpython too in case you cannot install C++ OpenVisus (e.g., WebAssembly).

It will not work with S3 cloud-storage blocks.

Bokeh dashboards:

python3 -m bokeh serve "examples/dashboards/app"  --dev --address localhost --port 8888 --args --py  --single
python3 -m bokeh serve "examples/dashboards/app"  --dev --address localhost --port 8888 --args --py  --multi

Panel dashboards:

python -m panel serve "examples/dashboards/app"  --dev --address localhost --port 8888 --args --py --single
python -m panel serve "examples/dashboards/app"  --dev --address localhost --port 8888 --args --py --multi

Jupyter notebooks:

export VISUS_BACKEND=py
python3 -m jupyter notebook ./examples/notebooks

Demos

REMEMBER to resize the browswe window, otherwise it will not work:

DEVELOPERS notes:

  • grep for openvisuspy== and change the version consistently.

PyScript

Serve local directory

export VISUS_BACKEND=py
python3 examples/server.py --directory ./

Open the urls in your Google Chrome browser:

JupyterLite

export VISUS_BACKEND=py
ENV=/tmp/openvisuspy-lite-last
python3 -m venv ${ENV}
source ${ENV}/bin/activate

# Right now jupyter lite seems to build the output based on installed packages. 
# There should be other ways (e.g., JSON file or command line) for specifying packages, but for now creating a virtual env is good enough\
# you need to have exactly the same package version inside your jupyter notebook (see `12-jupyterlite.ipynb`)
python3 -m pip install \
    jupyterlite==0.1.0b20 pyviz_comms numpy pandas requests xmltodict xyzservices pyodide-http colorcet \
    https://cdn.holoviz.org/panel/0.14.3/dist/wheels/bokeh-2.4.3-py3-none-any.whl \
    panel==0.14.2 \
    openvisuspy==1.0.100 \
    jupyter_server 

rm -Rf ${ENV}/_output 
jupyter lite build --contents /mnt/c/projects/openvisuspy/examples/notebooks --output-dir ${ENV}/_output

# change port to avoid caching
PORT=14445
python3 -m http.server --directory ${ENV}/_output --bind localhost ${PORT}

# or serve
jupyter lite serve --contents ./examples/notebooks --output-dir ${ENV}/_output --port ${PORT} 

# copy the files somewhere for testing purpouse
rsync -arv ${ENV}/_output/* <username>@<hostname>:jupyterlite-demos/

Project details


Download files

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

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

openvisuspy-1.0.28-py3-none-any.whl (35.6 kB view hashes)

Uploaded Python 3

Supported by

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