Skip to main content

Ambra 3D Viewer

Project description

Ambra

Ambra is a pure-Python library based on PyXPG for creating 3D visualization and GUI tools. Ambra aims to be a tool that can be quickly installed in most environments and can bring any data from any source to the screen in as few lines of code as possible.

The main motivation for writing Ambra in Python is to minimize the effort and time required for setup and customizations. Compared to other 3D tools, Ambra is designed to allow full customization and configuration for the application needs. You can start using Ambra with some of the default primitives, UIs and controls, but as your application grows, you are encouraged to customize any big or small part of the library. For example, you can add your own primitives, shaders, render passes, data streaming systems, etc..

Even though Python isn't the fastest language, Ambra tries to provide fast primitives that limit the overhead of the interpreter. This includes supporting modern GPU features like asynchronous streaming, GPU driven rendering, and bindless resources.

Ambra has minimal dependencies and should be easy to integrate into any Python 3.8+ environment alongside other packages.

Quickstart

The easiest way to install Ambra is from prebuilt wheels on Pypi:

pip install ambra

After the setup you can run the example scripts in examples/ to test the installation and learn more about the library.

Build

Ambra is still in development and changing rapidly, to get the latest version and for development, it is recommended to build from source both pyxpg and ambra:

git clone --recursive https://github.com/ramenguy99/xpg.git
cd xpg
pip install scikit-build-core
pip install -C cmake.build-type=Debug -C editable.rebuild=true  --no-build-isolation -ve .
cd ambra
pip install -e .

This will install pyxpg in debug and editable mode (automatically recompiling after changes) and ambra in editable mode.

Project details


Download files

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

Source Distribution

ambra-0.4.0.tar.gz (386.9 kB view details)

Uploaded Source

Built Distribution

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

ambra-0.4.0-py3-none-any.whl (418.0 kB view details)

Uploaded Python 3

File details

Details for the file ambra-0.4.0.tar.gz.

File metadata

  • Download URL: ambra-0.4.0.tar.gz
  • Upload date:
  • Size: 386.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for ambra-0.4.0.tar.gz
Algorithm Hash digest
SHA256 c2075d315e660ca9d233007555955ed6c9adc56d2ade6d1328910a1282d4a837
MD5 20ad273364e720468ad1bdb0e9432376
BLAKE2b-256 e74ecc2565080a628860162901737611f326c213612243dbcdd4a3e93ddf1615

See more details on using hashes here.

Provenance

The following attestation bundles were made for ambra-0.4.0.tar.gz:

Publisher: ambra_pypi.yml on ramenguy99/xpg

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

File details

Details for the file ambra-0.4.0-py3-none-any.whl.

File metadata

  • Download URL: ambra-0.4.0-py3-none-any.whl
  • Upload date:
  • Size: 418.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for ambra-0.4.0-py3-none-any.whl
Algorithm Hash digest
SHA256 aea303845dd2672fef4864b8659e0f8fab24af32af1e3b62ed3778ed45889fce
MD5 5f0521326a0f9e111c5e143d16d77c86
BLAKE2b-256 ed146526bbc3c6796755494f4af2252e2e44f0594706dd42bf22f78d7eae9511

See more details on using hashes here.

Provenance

The following attestation bundles were made for ambra-0.4.0-py3-none-any.whl:

Publisher: ambra_pypi.yml on ramenguy99/xpg

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