Skip to main content

Moving Gaussian Splats

Project description

DGS

This is the home of the Dynamic Gaussian Splat (.dgs) file format. This repository contains:

  • The reference encoder + decoder for .dgs files, implemented in C
  • Utility functions for manipulating .dgs files, implemented in C
  • Python bindings for the aforementioned

This library serves as both the specification and reference implementation for .dgs, and is the core of all projects within Splatkit.

Installation + Usage

To use DGS in your own project, you can install the package on pip:

pip install dgs-py

Then, it can be importated with a simple:

import dgs

Here is a full example generating a single .dgs file:

import dgs
import numpy as np

# example data:
means = np.array([
	[0.3,  0.0, 0.0], [-0.3, 0.1, 0.1], [0.0, -0.2, 0.0]
], dtype=np.float32)

scales = np.array([
	[0.2, 0.05, 0.05], [0.08, 0.3, 0.08], [0.1, 0.1, 0.25]
], dtype=np.float32)

rotations = np.array([
	[0.0, 0.0, 0.0, 1.0], [0.0, 0.0, 0.0, 1.0], [0.0, 0.0, 0.0, 1.0]
], dtype=np.float32)

opacities = np.array([
	[1.0], [1.0], [1.0]
], dtype=np.float32)

harmonics = (np.array([
	[ [1.0, 0.0, 0.0] ], [ [0.0, 1.0, 0.0] ], [ [0.0, 0.0, 1.0] ]
], dtype=np.float32) - 0.5) / 0.28209479177387814

# encode:
gaussians = dgs.Gaussians(
	means, scales, rotations, opacities, harmonics
)
metadata = dgs.Metadata()

dgs.encode(gaussians, metadata, "example.dgs")

Documentation

Coming soon!

Building

If you wish to contribute to this project, you will need to build it from source yourself. To build, you will need the tools:

  • setuptools (pip install setuptools)
  • pybind11 (pip install pybind11) Then, to build, you will first need to clone the repository and initialize the submodules:
git clone git@github.com:splatsdotcom/DGS.git
cd DGS
git submodule update --init --recursive

Then, the project can be built simply with:

pip install -v .

And the dgs package will become globally available on your system. There is currently no way to build the C library without the python bindings, but this will come in the future.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

dgs_py-1.0.1-cp313-cp313-win_amd64.whl (101.6 kB view details)

Uploaded CPython 3.13Windows x86-64

dgs_py-1.0.1-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (1.5 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

dgs_py-1.0.1-cp313-cp313-macosx_11_0_arm64.whl (114.5 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

dgs_py-1.0.1-cp312-cp312-win_amd64.whl (101.5 kB view details)

Uploaded CPython 3.12Windows x86-64

dgs_py-1.0.1-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (1.5 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

dgs_py-1.0.1-cp312-cp312-macosx_11_0_arm64.whl (114.5 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

dgs_py-1.0.1-cp311-cp311-win_amd64.whl (100.5 kB view details)

Uploaded CPython 3.11Windows x86-64

dgs_py-1.0.1-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (1.4 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

dgs_py-1.0.1-cp311-cp311-macosx_11_0_arm64.whl (114.0 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

dgs_py-1.0.1-cp310-cp310-win_amd64.whl (99.8 kB view details)

Uploaded CPython 3.10Windows x86-64

dgs_py-1.0.1-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (1.4 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

dgs_py-1.0.1-cp310-cp310-macosx_11_0_arm64.whl (112.9 kB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

dgs_py-1.0.1-cp39-cp39-win_amd64.whl (99.5 kB view details)

Uploaded CPython 3.9Windows x86-64

dgs_py-1.0.1-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (1.4 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

dgs_py-1.0.1-cp39-cp39-macosx_11_0_arm64.whl (113.0 kB view details)

Uploaded CPython 3.9macOS 11.0+ ARM64

File details

Details for the file dgs_py-1.0.1-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: dgs_py-1.0.1-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 101.6 kB
  • Tags: CPython 3.13, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for dgs_py-1.0.1-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 9822ea0a92bba8152df3e2023056906ef8a13105124b64bb8d134c6c88e06b47
MD5 1fb1e9d51c95a4536821fb2584331c9f
BLAKE2b-256 14b534c99212d55ceafd898a0a658298aefcb6d0ede08cb248dc65d5d7310f3a

See more details on using hashes here.

Provenance

The following attestation bundles were made for dgs_py-1.0.1-cp313-cp313-win_amd64.whl:

Publisher: build_and_publish_wheels.yaml on splatsdotcom/DGS

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file dgs_py-1.0.1-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for dgs_py-1.0.1-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 db49b20472cc07dbacffd61b6bf6149bc8bae73d234915b9fa42643157d375ec
MD5 c3f0c14a964f2c8651c8ea075fca478c
BLAKE2b-256 9e54958fb72cac4c9f21754843380700a5cc523eee5602cc7c8c3c995c183643

See more details on using hashes here.

Provenance

The following attestation bundles were made for dgs_py-1.0.1-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:

Publisher: build_and_publish_wheels.yaml on splatsdotcom/DGS

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file dgs_py-1.0.1-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for dgs_py-1.0.1-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 20d0901aa5fcba00b1ea8d21644ab2d1bf7e4a756609bab889109574b619d402
MD5 28d584ed1fe3721f4449683d523ecf59
BLAKE2b-256 9e3d4d018a23b9d0d5b4348b3ddbe0b6cc64ca31dbefe89fac83e62d425a789d

See more details on using hashes here.

Provenance

The following attestation bundles were made for dgs_py-1.0.1-cp313-cp313-macosx_11_0_arm64.whl:

Publisher: build_and_publish_wheels.yaml on splatsdotcom/DGS

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file dgs_py-1.0.1-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: dgs_py-1.0.1-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 101.5 kB
  • Tags: CPython 3.12, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for dgs_py-1.0.1-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 9e61775dbb37cdf2dae7a7ad308c43bd06e0fd6221687f786d2aaf856930f2c2
MD5 0111b9a9e3fd0320f3b51ae9e2db7cd1
BLAKE2b-256 6b53824ff6bd097f207d5e7b6124e546e090eb5827f542f49a4c2a959e9fb641

See more details on using hashes here.

Provenance

The following attestation bundles were made for dgs_py-1.0.1-cp312-cp312-win_amd64.whl:

Publisher: build_and_publish_wheels.yaml on splatsdotcom/DGS

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file dgs_py-1.0.1-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for dgs_py-1.0.1-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 cec373c4f7a2829794e47b630056ff59d91fffcd1b01f39935083273a7f162d1
MD5 3fec68d0ada356ea89c3527e656e72cc
BLAKE2b-256 98a27789d03383648146e2885daa34713c31b3cbe66a24591aa6926009623396

See more details on using hashes here.

Provenance

The following attestation bundles were made for dgs_py-1.0.1-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:

Publisher: build_and_publish_wheels.yaml on splatsdotcom/DGS

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file dgs_py-1.0.1-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for dgs_py-1.0.1-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 cf71396a78220707bc0194178d71c362cbc25d7e6160f5f5b46c4ff6cdc6e76f
MD5 8ffce36795f1e14cc7a4a22b7680a602
BLAKE2b-256 094b471e6dd751a6b671b9bdd2624def95b3949b55f275e6c7cd7b5680f41c6b

See more details on using hashes here.

Provenance

The following attestation bundles were made for dgs_py-1.0.1-cp312-cp312-macosx_11_0_arm64.whl:

Publisher: build_and_publish_wheels.yaml on splatsdotcom/DGS

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file dgs_py-1.0.1-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: dgs_py-1.0.1-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 100.5 kB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for dgs_py-1.0.1-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 72324a113bf8aeff7d44823d269b5d1b28da3f806d125a14323f44556a4dddf5
MD5 8da8f9332741dc6b40b26ac289b1b5a5
BLAKE2b-256 4163f262adb7b655b429e5d24a8e768b6aaaae96a9649a6ded406655a4d8fd45

See more details on using hashes here.

Provenance

The following attestation bundles were made for dgs_py-1.0.1-cp311-cp311-win_amd64.whl:

Publisher: build_and_publish_wheels.yaml on splatsdotcom/DGS

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file dgs_py-1.0.1-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for dgs_py-1.0.1-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 d9e789141d7d9752534a4b667925895952ccb9de32363d4432830cca227e0375
MD5 012c0a38eca054f968c604a33ff3f850
BLAKE2b-256 b90a884722c69ee1cb1b2ae0c70bc64665bdd82d3d869e5ebf55a1d57d6c066f

See more details on using hashes here.

Provenance

The following attestation bundles were made for dgs_py-1.0.1-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:

Publisher: build_and_publish_wheels.yaml on splatsdotcom/DGS

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file dgs_py-1.0.1-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for dgs_py-1.0.1-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 3375cb9310c86d0904718eebcb627ef784f748706511657ce5b144576fde7193
MD5 46daa0822033db6759715934782b4420
BLAKE2b-256 03a80584fcf5c82d8f9cb7ca87e643090237c0bd19c273ce5aae22a2e180391f

See more details on using hashes here.

Provenance

The following attestation bundles were made for dgs_py-1.0.1-cp311-cp311-macosx_11_0_arm64.whl:

Publisher: build_and_publish_wheels.yaml on splatsdotcom/DGS

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file dgs_py-1.0.1-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: dgs_py-1.0.1-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 99.8 kB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for dgs_py-1.0.1-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 4745613771841ca2af99a19473ad5baca97c45a5153552537e8491169e850203
MD5 4bd5ac7c11fca1422dd2f44737dea15e
BLAKE2b-256 8d665a9e76e7ea1890ce8556d39d68b4abfe6fff691b5b12a41f1899fda83a00

See more details on using hashes here.

Provenance

The following attestation bundles were made for dgs_py-1.0.1-cp310-cp310-win_amd64.whl:

Publisher: build_and_publish_wheels.yaml on splatsdotcom/DGS

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file dgs_py-1.0.1-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for dgs_py-1.0.1-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 e141a01e34c7738c35f5f95ac39f90983af4910cab1feec96bb7b4b3f92c3a2f
MD5 caf4e856f912b508bff00bc82c64b907
BLAKE2b-256 8a79be54d1dd66585e49e5946d83d7ec0a0670fdb2a9327496c2efebbdaf92db

See more details on using hashes here.

Provenance

The following attestation bundles were made for dgs_py-1.0.1-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:

Publisher: build_and_publish_wheels.yaml on splatsdotcom/DGS

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file dgs_py-1.0.1-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for dgs_py-1.0.1-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 9ae5ea7fbc0789c7c42a90c1923fb0a7b99b4e3f24f46a82648502e41ae02c13
MD5 60e4649b1fe29a05e99a613a934fe395
BLAKE2b-256 db62e0e3153b54275e5d3b3752a093fddc911336e78cb2404be251f86feadba1

See more details on using hashes here.

Provenance

The following attestation bundles were made for dgs_py-1.0.1-cp310-cp310-macosx_11_0_arm64.whl:

Publisher: build_and_publish_wheels.yaml on splatsdotcom/DGS

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file dgs_py-1.0.1-cp39-cp39-win_amd64.whl.

File metadata

  • Download URL: dgs_py-1.0.1-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 99.5 kB
  • Tags: CPython 3.9, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for dgs_py-1.0.1-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 724dfd32c1a1a1f4e360731f694e7ea4dd0b2fb8f1dec45cbb8c227ee1e04c51
MD5 c4c390dd09456e77efeca52c910e58ce
BLAKE2b-256 c23feffb7df74db77915b99b5f243a37322f458ea2ab952696531d8b16312e25

See more details on using hashes here.

Provenance

The following attestation bundles were made for dgs_py-1.0.1-cp39-cp39-win_amd64.whl:

Publisher: build_and_publish_wheels.yaml on splatsdotcom/DGS

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file dgs_py-1.0.1-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for dgs_py-1.0.1-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 ef3155c4f9ff6b7ad0b324ab187c295cf048defbf98f13726dd6cfc64cf7468a
MD5 834c0bf578c79cdd39b94d741433a9b3
BLAKE2b-256 65633b23c3317087884ded4a308e522e78357604b19fd896c6bb5ebd45652696

See more details on using hashes here.

Provenance

The following attestation bundles were made for dgs_py-1.0.1-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:

Publisher: build_and_publish_wheels.yaml on splatsdotcom/DGS

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file dgs_py-1.0.1-cp39-cp39-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for dgs_py-1.0.1-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 bbfc3cac0c1b977ed2dd108ed8c415f7dc59c6be3f6b0a808bcbac64198b8ce5
MD5 8d7ba149d77ea63f7ce27271a1ed5f57
BLAKE2b-256 9de044013193e5369418a5f5d6c49d8398eb0bea01b0260f19a4afec8c93b919

See more details on using hashes here.

Provenance

The following attestation bundles were made for dgs_py-1.0.1-cp39-cp39-macosx_11_0_arm64.whl:

Publisher: build_and_publish_wheels.yaml on splatsdotcom/DGS

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page