Communication server remark

Note: Only read this if you got the warning, and you want to save node positions from a visualization. The warning also shows up in the docs, but that is normal.

Stormvogel uses a local server (or multiple local servers if multiple kernels are running) to communicate between visualization elements (Javascript frontend) and Python. Sometimes this communication fails and when this happens the user gets a warning. Stormvogel is perfectly usable without this server, but you can no longer save the node positions of a layout. If you really need to save node positions, here are some pointers to fixing the issue.

Could not start server / test request failed / no free port.

  1. Restart the kernel and re-run.

  2. If you are working using docker or remotely, ports 8889-8905 (at least some of them) need to be available.

    • SSH: ssh -N -L 8889:localhost:8889 YOUR_SSH_CONFIG_NAME.

    • Docker: docker run --network=host -it stormvogel/stormvogel

    • Both: If you cannot use this range (8889-8905), try setting stormvogel.communication_server.min_port and max_port to a port range that is available.

  3. You might also want to consider changing stormvogel.communication_server.localhost_address to the IPv6 loopback address if you are using IPv6.

Please contact the stormvogel developpers if you keep running into issues.

You can also disable the warning message by setting use_server to False in your call to show

Example:

[1]:
import stormvogel
stormvogel.communication_server.min_port = 3000
stormvogel.communication_server.max_port = 3020
# Stormvogel looks in range 3000-3020 for an available port
stormvogel.communication_server.localhost_address = "::1/128" # IPv6 loopback address
stormvogel.communication_server.use_server = False # Stormvogel no longer tries to start the server.