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.3.0.tar.gz (212.4 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.3.0-py3-none-any.whl (243.9 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for ambra-0.3.0.tar.gz
Algorithm Hash digest
SHA256 97f3b46b2ef9503c0f7a41948101c394e85e3c5a2bcc1560ddee5e34b64f2a7b
MD5 2a0b244ce597742ff742b609ddcdc14b
BLAKE2b-256 dfad7f21aaa966277fcffaab97f5bc4b5153e1e5980c67419bd366d8d220f977

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: ambra-0.3.0-py3-none-any.whl
  • Upload date:
  • Size: 243.9 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.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 fb703fd0102859b988599baea2d92a2eeeb8941b8f44f9a44b49afd1e19f0e31
MD5 fa4a5ed44800a8be926768244ecd5740
BLAKE2b-256 cc313a6ea0a955bc417eeebb93a718c36d7749c4c8769d85ae47ae6a23f31f8e

See more details on using hashes here.

Provenance

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