Skip to content

vispy/GSP_API

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

990 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Graphics Server Protocol (GSP)

GSP is a backend-neutral protocol and Python toolkit for scientific visualization. Version 0.2 defines semantic scenes, validated visual and resource records, explicit capabilities, structured diagnostics, queries, and a transport-independent session lifecycle.

The repository currently provides:

  • gsp.protocol: the normative Python protocol surface;
  • gsp_vispy2: an independent experimental high-level producer (not upstream VisPy 2.0);
  • gsp_matplotlib: the portable reference renderer;
  • gsp_datoviz: a capability-gated adapter for a compatible local Datoviz v0.4 build.

GSP is pre-1.0. Version 0.2 deliberately breaks the old vispy2 import and does not provide a compatibility alias. Use gsp_vispy2.

Quick start

GSP requires Python 3.13 or newer and is not currently published on PyPI.

git clone https://github.com/vispy/GSP_API.git
cd GSP_API
uv sync
uv run python examples/docs/first_scene.py --output /tmp/gsp-first-scene.png

The executable example uses the current producer API:

import numpy as np
import gsp_vispy2 as vp

fig, ax = vp.subplots()
values = np.array([0.2, 0.8, 0.5, 1.0], dtype=np.float32)
ax.scatter([0, 1, 2, 3], [0.4, 1.2, 0.7, 1.6], c=values, cmap="viridis", clim=(0, 1))
ax.set_xlabel("sample")
ax.set_ylabel("response")
ax.set_title("GSP 0.2 first scene")
fig.savefig("gsp-first-scene.png", dpi=150)

Figure and Axes hold semantic producer state. Rendering is explicit; Matplotlib is the current public convenience path. A general backend-neutral live display/session API is intentionally not claimed yet.

Documentation

Validate a checkout

uv run pytest -q
uv run python tools/spec_traceability.py --check
uv run python tools/profile_consistency.py --check
uv run mkdocs build --strict

Datoviz is optional. Its runtime capabilities depend on the active public v0.4 binding and device; consult runtime discovery and the versioned profile instead of assuming backend parity.

Legacy code

The older object-oriented Canvas/Viewport/RendererBase system, GSP_RENDERER, datoviz-v03, and its examples remain in the repository as historical implementation material. They do not define GSP 0.2 and are not the recommended user path. See the development-history documentation for migration rules.

Project status

GSP 0.2 is an experimental, source-installed development release. No tag, PyPI publication, stable compatibility guarantee, or general production remote transport is claimed.

About

Graphic Server Protocol Application User Interface

Resources

License

Stars

2 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages