AnyWidget wrapper for globe.gl
Project description
pyglobegl
AnyWidget wrapper for globe.gl with integrations with popular Python spatial packages.
Goals
- Provide a modern AnyWidget-based globe.gl wrapper for Jupyter, JupyterLab, Colab, VS Code, and marimo.
- Ship a prebuilt JupyterLab extension via pip install (no separate lab build/extension install).
- Keep the Python API friendly for spatial data workflows.
Roadmap (Short Term)
- Initialize the project via
uv init --package pyglobegl. - Add baseline Python package structure and minimal widget class.
- Add frontend build pipeline using Vite + @anywidget/vite and bundle globe.gl assets.
- Package prebuilt labextension assets (install.json, labextension files, classifiers).
- Add smoke tests and a minimal demo notebook.
Development Notes / Scratchpad
- Use the uv CLI for dependency and project changes. Do not edit
pyproject.tomloruv.lockdirectly. - Bundle globe.gl and required assets for offline-friendly installs while staying under PyPI size limits.
- Start with Python linting/tooling (ruff, ty, typos, yamllint, zizmor). Use Biome for frontend linting/formatting.
- Frontend uses TypeScript, Vite, and @anywidget/vite. HMR is useful during widget iteration but not required for end users.
- Node.js tooling is managed with mise; pnpm is the package manager for frontend deps.
- Frontend lives in
frontend/; build output goes tosrc/pyglobegl/_static/. - Static frontend assets are bundled into the Python package and referenced via
_esmfromsrc/pyglobegl/_static/index.js.
Open Questions
- Default asset set (earth textures) and size budget for bundled assets.
- Whether to include optional CDN fallback for large assets.
Build Assets (Release Checklist)
cd frontend && pnpm run builduv build
Quickstart
from pyglobegl import GlobeWidget
GlobeWidget()
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
pyglobegl-0.1.0.tar.gz
(942.4 kB
view details)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
pyglobegl-0.1.0-py3-none-any.whl
(942.1 kB
view details)
File details
Details for the file pyglobegl-0.1.0.tar.gz.
File metadata
- Download URL: pyglobegl-0.1.0.tar.gz
- Upload date:
- Size: 942.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: uv/0.9.24 {"installer":{"name":"uv","version":"0.9.24","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2e2b9880e64b02895f9eec03ce42d22c6d841b792fc6e8842583876ca045abc2
|
|
| MD5 |
66c4fd0c49b403a363b23c94529b6d26
|
|
| BLAKE2b-256 |
3d997478835e7adda59d6ac9f15e1527d5e077ea65aed1273e1a309b33918484
|
File details
Details for the file pyglobegl-0.1.0-py3-none-any.whl.
File metadata
- Download URL: pyglobegl-0.1.0-py3-none-any.whl
- Upload date:
- Size: 942.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: uv/0.9.24 {"installer":{"name":"uv","version":"0.9.24","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0b1ff6ed094ceab201e5ed71da9124d7f2b63299f1a01586e42fbf2ff0fd6f9e
|
|
| MD5 |
b194655c96dc98bc024f3807db499470
|
|
| BLAKE2b-256 |
618f9c3c26982b6fec39fee8b93076c5d59ac325b9e299e679fb8e037e9ecd3d
|