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.1.1.tar.gz (191.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.1.1-py3-none-any.whl (217.1 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: ambra-0.1.1.tar.gz
  • Upload date:
  • Size: 191.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.1.1.tar.gz
Algorithm Hash digest
SHA256 ddb54e24dcadde73da33bfea3a65c8d717cc8173fdf41e140c4b973e0ff7c6d7
MD5 312af21941c1f264d1d272734252fa4e
BLAKE2b-256 c3140e0f7513d67be2eadbb9d7a416d6ff721a20d6ea37c20cbe764ffbfa4bea

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: ambra-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 217.1 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.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 c8e7bc307191d83bbce4a4794c9da3da0da584f8e0da2da8213edf52290a33df
MD5 8f080f92625828f93fc69861d55a750c
BLAKE2b-256 6c642533cbb78fd5617444ca19b12fa10e378e5b9d34ba52b757e28399347d76

See more details on using hashes here.

Provenance

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