Metadata-Version: 2.4
Name: vixar
Version: 1.0.0
Summary: Proprietary geoscientific 3D/2D visualization engine, distributed as a Python library.
Author: Vixar
License: Proprietary
Keywords: geoscience,mining,point-cloud,visualization,webgl
Classifier: Intended Audience :: Science/Research
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Topic :: Scientific/Engineering :: Visualization
Requires-Python: >=3.10
Requires-Dist: anywidget>=0.9
Requires-Dist: fastapi>=0.110
Requires-Dist: numpy>=1.24
Requires-Dist: pandas>=2.0
Requires-Dist: pydantic>=2.5
Requires-Dist: pyproj>=3.5
Requires-Dist: uvicorn>=0.27
Provides-Extra: all
Requires-Dist: laspy>=2.5; extra == 'all'
Requires-Dist: lazrs>=0.5; extra == 'all'
Requires-Dist: meshio>=5.3; extra == 'all'
Provides-Extra: dev
Requires-Dist: httpx>=0.27; extra == 'dev'
Requires-Dist: pytest-asyncio>=0.23; extra == 'dev'
Requires-Dist: pytest>=8.0; extra == 'dev'
Requires-Dist: ruff>=0.6; extra == 'dev'
Provides-Extra: docs
Requires-Dist: mkdocs-material>=9.5; extra == 'docs'
Requires-Dist: mkdocstrings[python]>=0.26; extra == 'docs'
Provides-Extra: las
Requires-Dist: laspy>=2.5; extra == 'las'
Requires-Dist: lazrs>=0.5; extra == 'las'
Provides-Extra: mesh
Requires-Dist: meshio>=5.3; extra == 'mesh'
Description-Content-Type: text/markdown

# Vixar

Proprietary geoscientific 3D/2D visualization engine, distributed as a Python library.

```python
import vixar as vx

viewer = vx.Viewer(width=1200, height=800, theme="dark")
viewer.add_point_cloud("survey.csv", color_by="elevation", cmap="terrain")
viewer.add_boreholes(
    "drillholes.csv",
    id_col="HOLE_ID", x_col="X", y_col="Y", z_col="Z", from_col="FROM",
    color_by="au_ppm", cmap="hot",
)
viewer.show()            # inline Jupyter widget
viewer.serve(port=8050)  # local web server (iframe-embeddable)
viewer.to_html("scene.html")  # standalone HTML
```

`pip install vixar` — no Node.js required for end users. The WebGL2 engine ships
as a bundled `viewer.js` static asset.

## Development

The JS engine lives in the monorepo at the repo root. Build the bundle before
running the Python package from source:

```bash
pnpm install
pnpm build:viewer          # -> python/src/vixar/static/viewer.js
cd python && pip install -e ".[dev]"
pytest
```

This is a Phase 1 build (CSV point clouds + boreholes, colour legend, UTM
origin, Jupyter/serve/HTML output). See `../plan_v2.md` for the full roadmap.
