Skip to main content

Diligent RenderStatePackager

License PyPI Build

Prebuilt Diligent Engine RenderStatePackager command-line tool, distributed as a per-platform Python binary wheel on PyPI. It compiles declarative render states (.drsn + HLSL) into a DeviceObjectArchive at build time, so an application can unpack pipeline states at runtime through IDearchiver instead of compiling shaders on startup.

The wheel ships only the native executable — install it and run the tool, with no need to build the packager (and all of DiligentCore + Dawn) from source.

Platform Wheel tag Serialized backends
Windows x64 win_amd64 Direct3D11, Direct3D12, Vulkan, WebGPU
macOS arm64 macosx_11_0_arm64 Vulkan, WebGPU
Linux x64 manylinux_2_28_x86_64 Vulkan, WebGPU

Installation

pip install diligent-drsn-packager
diligent-drsn-packager --help

The wheel is independent of the Python ABI (py3-none-<platform>) and works with any Python 3.8+.

Cloning the Repository

To build from source, clone with submodules:

git clone --recursive https://github.com/MikhailGorobets/Diligent-RenderStatePackager.git

If you cloned without --recursive, run git submodule update --init --recursive.

Repository Structure

Path Description
CMakeLists.txt Builds only the Diligent-RenderStatePackager executable
src/diligent_drsn_packager/ Python wrapper: get_executable_path() and a CLI passthrough
pyproject.toml, setup.py Packaging into a platform-tagged binary wheel
bootstrap.sh Init submodules, build, stage the binary
.github/workflows/ CI — build wheels (build.yml), publish to PyPI (publish.yml)
DiligentCore, DiligentTools Pinned submodules

Build and Run Instructions

Requires CMake 3.19+, Ninja and a C++20 toolchain. On Linux also install X11/xcb development headers (a configure-time dependency of DiligentTools' NativeApp): apt install libx11-dev libxcb1-dev or dnf install libX11-devel libxcb-devel.

./bootstrap.sh            # init submodules, build, stage the binary
python -m build --wheel   # produce dist/*.whl
pip install dist/*.whl

Usage from CMake

Resolve the executable from the installed wheel at configure time:

find_package(Python3 COMPONENTS Interpreter REQUIRED)
set(_pfx "${CMAKE_BINARY_DIR}/_drsn_packager")
execute_process(COMMAND "${Python3_EXECUTABLE}" -m pip install --target "${_pfx}"
                "diligent-drsn-packager==0.1.0")
execute_process(
    COMMAND "${Python3_EXECUTABLE}" -c
            "import sys;sys.path.insert(0,r'${_pfx}');import diligent_drsn_packager as p;print(p.get_executable_path())"
    OUTPUT_VARIABLE PACKAGER_EXE OUTPUT_STRIP_TRAILING_WHITESPACE)
# e.g. ${PACKAGER_EXE} -o RenderStates.bin --vulkan --webgpu -s Shaders -r RenderStates -i Lib.drsn

Version Compatibility

A DeviceObjectArchive is bound to DiligentCore's serialization format (header ArchiveVersion); an archive only loads in a runtime built from a compatible DiligentCore commit. The wheel records the commit it was built from in diligent_drsn_packager.__diligentcore_sha__. When the submodules are bumped, release a new wheel version and pin to it in the consumer.

Release

Set the version in pyproject.toml, then tag:

git tag v0.1.0 && git push --tags

publish.yml builds every platform wheel and uploads them to PyPI via Trusted Publishing (OIDC). Configure the PyPI project's trusted publisher (this repository, environment pypi) beforehand.

License

Apache-2.0 — see LICENSE. Bundled binaries are built from DiligentCore and DiligentTools, which are also licensed under Apache-2.0.

Metadata

Release files for diligent-drsn-packager 0.1.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Built distributions (wheels)

Table of built distributions (wheels) for diligent-drsn-packager 0.1.2
File Interpreter ABI Platform
diligent_drsn_packager-0.1.2-py3-none-win_amd64.whl Python 3 none Windows x86-64 Details
diligent_drsn_packager-0.1.2-py3-none-manylinux_2_28_x86_64.whl Python 3 none Linux glibc 2.28+ x86-64 Details
diligent_drsn_packager-0.1.2-py3-none-macosx_10_9_universal2.whl Python 3 none macOS 10.9+ universal2 (ARM64, x86-64) Details

Total release size: 18.5 MB

Release files / diligent_drsn_packager-0.1.2-py3-none-win_amd64.whl

Download URL diligent_drsn_packager-0.1.2-py3-none-win_amd64.whl
Size 4.1 MB
Tags Python 3 Windows x86-64
SHA-256 checksum
How to use checksums
f6ccc894c496705a26118f6884c1a7845a1153d22e5013c84bc5564861f80c7d
BLAKE2b-256 checksum
How to use checksums
7b90e90a4416bc9776bb2d6864cad46466b83c9e7360f0cd0c7cd5cd76f4dde9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 30, 2026.

Transparency log

Release files / diligent_drsn_packager-0.1.2-py3-none-manylinux_2_28_x86_64.whl

Download URL diligent_drsn_packager-0.1.2-py3-none-manylinux_2_28_x86_64.whl
Size 9.2 MB
Tags Linux glibc 2.28+ x86-64 Python 3
SHA-256 checksum
How to use checksums
c88ec9f05024fc8641a8e11afcbacb448572e5c422d9ed1a836d20301025ba7c
BLAKE2b-256 checksum
How to use checksums
ec75bac9e972f9fe5796e614c4467b36657d96bef4764df037944ec598394912
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 30, 2026.

Transparency log

Release files / diligent_drsn_packager-0.1.2-py3-none-macosx_10_9_universal2.whl

Download URL diligent_drsn_packager-0.1.2-py3-none-macosx_10_9_universal2.whl
Size 5.1 MB
Tags Python 3 macOS 10.9+ universal2 (ARM64, x86-64)
SHA-256 checksum
How to use checksums
0b1d0b451d3c4a23eeee26495cfffde415eaff408a32c67fd049087531318e90
BLAKE2b-256 checksum
How to use checksums
823929205a6372139ad7f05d19fdab145670694611f74cdffe6e2a114156682c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 30, 2026.

Transparency log

Security for diligent-drsn-packager 0.1.2

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

Full provenance

All 3 files in this release have been uploaded with provenance metadata.

Select from 3 files

Attestation for diligent_drsn_packager-0.1.2-py3-none-win_amd64.whl

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 30, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page