Skip to main content

Mayalok

mayalok

Turn ordinary smartphone video of an indoor space into a photorealistic, navigable 3D digital twin.

mayalok is the reconstruction pipeline behind Mayalok: it takes a phone walkthrough (video and/or photos) and produces a web-ready scene bundle — a compressed 3D Gaussian Splat (.spz), a walkable occupancy grid for obstacle-aware pathfinding, a top-down minimap, POIs and a QC report — that the Mayalok browser viewer loads for first-person walkthroughs, place search and turn-by-turn indoor navigation.

Install

pip install "mayalok[sfm]"     # includes pycolmap for Structure-from-Motion
mayalok --help

The .spz export uses @playcanvas/splat-transform (Node.js 18+; fetched automatically with npx if not installed). Training needs a 3DGS trainer such as gsplat or Brush.

Usage

# Full pipeline from a walkthrough video
mayalok build --input walkthrough.mp4 --work ./work --out ./scenes/my-venue --name "My Venue"

# Package an already-trained splat for the web viewer
mayalok process-splat --splat point_cloud.ply --cameras cameras.json --out ./scenes/my-venue --name "My Venue"

# Procedural test apartment (no capture needed)
mayalok synthetic --out ./scenes/demo-apartment

How it works

System context

Stage What it does Output
frames sharpest-frame keyframe extraction (~2 fps) images/
sfm COLMAP / pycolmap features, sequential matching, mapping sparse/
align gravity + metric scale from ArUco markers or phone-height SOP cameras.json
train 3D Gaussian Splatting (gsplat; Brush fallback) point_cloud.ply
clean drop transparent/oversized/isolated splats, level floor cleaned .ply
navgrid 5 cm walkable occupancy grid + minimap navgrid.json, minimap.png
export compress splat, write manifest scene.spz, scene.json

Pipeline stages

Scene bundle

Scene bundle

Data model

Data model

Credits

Built by Team QWERTY (Ajay Yadav, Hitesh Bhatiwal, Harsh Vardhan) for the Techfest 2026-27 (IIT Bombay) Namma Space challenge. Builds on 3D Gaussian Splatting (Kerbl et al., 2023), COLMAP, Three.js and Spark.js. MIT licence.

Metadata

Release files for mayalok 0.1.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for mayalok 0.1.1
File Size Uploaded Provenance Actions
mayalok-0.1.1.tar.gz 31.0 kB With provenance Details for mayalok-0.1.1.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for mayalok 0.1.1
File Interpreter ABI Platform Actions
mayalok-0.1.1-py3-none-any.whl Python 3 none any Details for mayalok-0.1.1-py3-none-any.whl

Total release size: 63.3 kB

Release files / mayalok-0.1.1.tar.gz

Download URL mayalok-0.1.1.tar.gz
Size 31.0 kB
Tags Source
SHA-256 checksum
How to use checksums
5b01f846a64589b2acd1064e168b2757c23024ca21acc445646a9c901d06179a
BLAKE2b-256 checksum
How to use checksums
d905e4ad6345071d74c549ff4771301cc126a4cb9e72dbfcbba0adb8c5542540
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 3, 2026.

Transparency log

Release files / mayalok-0.1.1-py3-none-any.whl

Download URL mayalok-0.1.1-py3-none-any.whl
Size 32.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
e2e4e913d34bc3861235b674be9be1e7f2b78c6a7f2b87eb6d09726e11f6a70d
BLAKE2b-256 checksum
How to use checksums
0649d9058ea919c1e93b345736bf9ba21b3492ece3a2344ab46e0b4e8ae359bb
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 3, 2026.

Transparency log

Security for mayalok 0.1.1

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

Full provenance

All 2 files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for mayalok-0.1.1.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 3, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.1.1 This release

2 release files Full provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page