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.2.0.tar.gz (211.5 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.2.0-py3-none-any.whl (243.6 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for ambra-0.2.0.tar.gz
Algorithm Hash digest
SHA256 4113975546bc7a36918439a49a8b66226c657560600c3d7e4402c9ccc5a60c9b
MD5 e1acb116bf7732795caa6304d65efe1b
BLAKE2b-256 d142d012e986b5ff48e172960f47e93a838f94f68062a29a0fb22030f8f3531a

See more details on using hashes here.

Provenance

The following attestation bundles were made for ambra-0.2.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.2.0-py3-none-any.whl.

File metadata

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

File hashes

Hashes for ambra-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 80ad9b90cf90baaca73b7d339c8534c0c5a3a60cf33cf303ad4d4e3d84b1a742
MD5 e596ab37636868f3e7291e4601506a97
BLAKE2b-256 789fc241cd2f2df00dd03f0c541af07118dca879be7ccc2503cf1930c6b1e8b4

See more details on using hashes here.

Provenance

The following attestation bundles were made for ambra-0.2.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