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.0-cp313-cp313-win_amd64.whl (101.5 kB view details)

Uploaded CPython 3.13Windows x86-64

dgs_py-1.0.0-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.0-cp313-cp313-macosx_11_0_arm64.whl (113.9 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

dgs_py-1.0.0-cp312-cp312-win_amd64.whl (101.4 kB view details)

Uploaded CPython 3.12Windows x86-64

dgs_py-1.0.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (1.4 MB view details)

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

dgs_py-1.0.0-cp312-cp312-macosx_11_0_arm64.whl (113.9 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

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

Uploaded CPython 3.11Windows x86-64

dgs_py-1.0.0-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.0-cp311-cp311-macosx_11_0_arm64.whl (113.4 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

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

Uploaded CPython 3.10Windows x86-64

dgs_py-1.0.0-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.0-cp310-cp310-macosx_11_0_arm64.whl (112.2 kB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

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

Uploaded CPython 3.9Windows x86-64

dgs_py-1.0.0-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.0-cp39-cp39-macosx_11_0_arm64.whl (112.4 kB view details)

Uploaded CPython 3.9macOS 11.0+ ARM64

File details

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

File metadata

  • Download URL: dgs_py-1.0.0-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 101.5 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.0-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 c63ab5fc0f610437f09826bbd72a69e999927d7000d80f94eee1b019a5f18fe9
MD5 94dc3b32b635317598eccc3b5a93ac77
BLAKE2b-256 d5389a9441a3134cea0007005397874e63dcac354a9d94f33181d969e3f1e6bd

See more details on using hashes here.

Provenance

The following attestation bundles were made for dgs_py-1.0.0-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.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for dgs_py-1.0.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 d5c1d5a30a512812c4f10108fe3a538059c32b0b6957ff768f2c10856fe5315c
MD5 31c09ef4864f913c61a1394d7c887129
BLAKE2b-256 7389156ee5105f943c1a40a9fa1eb0a26e14d615135296ee8cb7b8f08ff05530

See more details on using hashes here.

Provenance

The following attestation bundles were made for dgs_py-1.0.0-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.0-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for dgs_py-1.0.0-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 f50a0ef4157fa37380128b9c695086c5b3e1f7927e20f94540ce41acf1b6c855
MD5 eb74162c8bfe2bb008bc395f3ce4ef19
BLAKE2b-256 1e5a221a300e10b74915e568a3c50448eb99175f7af1697476de836f78c21493

See more details on using hashes here.

Provenance

The following attestation bundles were made for dgs_py-1.0.0-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.0-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: dgs_py-1.0.0-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 101.4 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.0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 ad32f6c1eee057fd57d0c0cb3cbaf4cc2aec53101ef57f68db3f780a14b1da13
MD5 3a24dce64041654c5d10375facb6c707
BLAKE2b-256 dd83d6f3a3a930e8a74957b8a51781ed999ae91b88234cbe9611d11e401d872b

See more details on using hashes here.

Provenance

The following attestation bundles were made for dgs_py-1.0.0-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.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for dgs_py-1.0.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 feb77806ddf8c4ff046eaf18271051d0ac9e6256bee1197e8d9c6ca0794aa0e0
MD5 1cfc8ff4d7ff05399858714d39d51030
BLAKE2b-256 64662386290810f55381bb3536fca72e26f2312328a225b6427dbf6870b76d0e

See more details on using hashes here.

Provenance

The following attestation bundles were made for dgs_py-1.0.0-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.0-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for dgs_py-1.0.0-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 4560213480d7c0f1936e5b9915f5d3e9896eb12e2208a504d8f636bd751106a9
MD5 f45acb2bf34368526a83c0e25b40186c
BLAKE2b-256 738c51591cbfeba7a8061e03f331a73e387d40033fa90e5275dbda93a5c8b703

See more details on using hashes here.

Provenance

The following attestation bundles were made for dgs_py-1.0.0-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.0-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: dgs_py-1.0.0-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.0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 df2da8d1f86ccd43accd7b43cc5e9ade5016e1cf75d173fe3ed151062edd291d
MD5 9f183c77374ea458030ee6e8ffdf2d6b
BLAKE2b-256 67cf5b940bd48374a5cbc92f9a1e4ff01824644468a4312d988a91c680b150b4

See more details on using hashes here.

Provenance

The following attestation bundles were made for dgs_py-1.0.0-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.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for dgs_py-1.0.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 f4472acc4ae76b52d7460e0f12295098be08db363172263dcb5f2e1e3d173d2b
MD5 82ea216eb112c798df0e7ada0446342b
BLAKE2b-256 f78ca8882473099d0bb7c80ad5107d0be70165222298637e5e592c048b1db37a

See more details on using hashes here.

Provenance

The following attestation bundles were made for dgs_py-1.0.0-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.0-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for dgs_py-1.0.0-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 f020e24c74e17e7a4b1541b9cf41e485e78ab2c1641aefe7cfce072126a33f77
MD5 aee7f3604ed7065ba8c64a7a7785b74e
BLAKE2b-256 65c3bd1462808139476e940fcd4dfe0982a18be729fe4f58a4f3b77f38f41ad9

See more details on using hashes here.

Provenance

The following attestation bundles were made for dgs_py-1.0.0-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.0-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: dgs_py-1.0.0-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.0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 eff9c1c231b22b83a71e640d064ced55d85932460d11c3e272d555d74c510d55
MD5 bbdfa51e526d06fa5accd2c48481f8e0
BLAKE2b-256 ad489cd7cf33c463f5d42b4089f1edfb7586b184907e0a5fac6be0cd4cd1c761

See more details on using hashes here.

Provenance

The following attestation bundles were made for dgs_py-1.0.0-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.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for dgs_py-1.0.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 059019784821be91b734a563a104decc310c47c85c4cad76e73329ea8843dd48
MD5 98f68bab0cad073ae5236c52c024e4c1
BLAKE2b-256 1450712e8bab19626d500e75ea4d1e48724e39e8f36f4f078af3fb3a3753674f

See more details on using hashes here.

Provenance

The following attestation bundles were made for dgs_py-1.0.0-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.0-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for dgs_py-1.0.0-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 0d3a102b0ce55b457f4469f59a77cbe5cf5f25e5372f773c358aa43eabe40921
MD5 3ebe8d674c9b166d107492dfd60139ce
BLAKE2b-256 6cded70d7c1a0e8c2837ad3426afc689f03de82c3bbe91724181287b46d6b2a4

See more details on using hashes here.

Provenance

The following attestation bundles were made for dgs_py-1.0.0-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.0-cp39-cp39-win_amd64.whl.

File metadata

  • Download URL: dgs_py-1.0.0-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.0-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 3ff235451aae995008d12e803cdee5c5cd447680af31b9b1d1eda269dff8b7d5
MD5 1971b48f5a2ad2f88fbf40f463aae92b
BLAKE2b-256 bcb0761ab4480d8614021b7c29b8d7c68b3e9f885d10de7a3bd5509b9ba74ebc

See more details on using hashes here.

Provenance

The following attestation bundles were made for dgs_py-1.0.0-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.0-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for dgs_py-1.0.0-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 1f7ab5c519f35d85974028a5cb3c5a89b0249fdd0c689b36d8a411a3cc3a7a42
MD5 2f4e37668747e80489dfdb20ab322f17
BLAKE2b-256 1746e03572e1e757102723a735df8001db39ec448f6fb8bc87b0a94ff10b7acf

See more details on using hashes here.

Provenance

The following attestation bundles were made for dgs_py-1.0.0-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.0-cp39-cp39-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for dgs_py-1.0.0-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 c0f46e24733cd26854b00c8b6c7a14a785a7afcfd89ac5e49e3aa89ff6b294ee
MD5 66c37a2a179a82c4102c8f50f9187ca0
BLAKE2b-256 821ef5e600f6035c46e26c6539f92256306eaf0e6d66650a43db44a71bc25f9b

See more details on using hashes here.

Provenance

The following attestation bundles were made for dgs_py-1.0.0-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