Differentiable moment bounds.
Project description
Moment Bounds are Differentiable:
Efficiently Approximating Measures in Inverse Rendering
ACM Transactions on Graphics (SIGGRAPH 2025)
Markus Worchel
·
Marc Alexa
About
This repository contains the official implementation of the paper "Moment Bounds are Differentiable: Efficiently Approximating Measures in Inverse Rendering", which introduces a family of techniques to differentiable rendering that can be used to approximate various effects of light attenuation, such as shadows, transmittance, and transparency.
In particular, this repository contains the core algorithms for computing and differentiating moment-based bounds, which are the key component of these approximations. The algorithms are implement in C++, targeting the CPU and the GPU (using CUDA). The diffmoments package exposes these algorithms to Python, where they are readily usable with PyTorch, NumPy, and Dr.Jit.
Note that this repository does not contain code for specific applications like shadow mapping or transmittance mapping. Moment shadow maps will soon be available in the diffshadow package, which exposes low-level primitives for differentiable shadow mapping.
Installation
The easiest way to install the Python package is via pip
pip install git+https://github.com/mworchel/differentiable-moment-bounds.git
This builds the code from source and only requires a C++20-compatible compiler.
NOTE: A PyPI package with pre-built wheels will be provided soon to simplify the installation.
Optional: Test the Installation
To test the installation, run
pip install numpy pytest
python -m pytest .\tests -v
Some tests will be skipped, depending on the availability of packages (NumPy is required, PyTorch/Dr.Jit are optional).
Usage
Please see the Getting Started tutorial to learn about the functions exposed by the diffmoments package and how to use them with the different frameworks.
Development
This section is intended for developers who want to modify the source code or who are trying to use parts of this project in a non-standard way (e.g. not via the Python bindings).
Cloning
The only external dependency is nanobind for the Python bindings, which is included as a git submodule.
To clone the repository and its dependencies use
git clone --recursive git@github.com:mworchel/differentiable-moment-bounds.git
Compilation
The project uses C++20 core and library features, so a compatible compiler is required (GCC ≥ 11, Clang ≥ 14, MSVC ≥ 19.27).
If the goal is to modify the source code and access the algorithms through the Python bindings, it is advisable to set up an editable build. Please see the root CMakeLists.txt for instructions.
Alternatively, the project can be directly built using CMake (≥ 3.25.2).
If the goal is to access functions or algorithms from another C++ project, using this project as a dependency, see the notes on architecture below.
CUDA
A potential "gotcha" is that executing the CUDA variants not necessarily reflects changes made to the source code. The reason is that compiling the CUDA code is optional, and must be enabled via the CMake option DM_BUILD_KERNELS. This requires the CUDA toolkit, specifically a C++20-compatible CUDA compiler (NVCC ≥ 12.0).
Architecture
The Python interface is just a shallow wrapper around C++ code, which is organized to be accessible by external projects. The following diagram gives an overview of the project structure:
+-----------------------+
| PyTorch/NumPy/Dr.Jit |
+-----------+-----------+
|
v
+-----------+------------+
| diffmoments (Python) |
+-----------+------------+
|
v
+-----------+-------------+
| diffmoments_ext (C++) |
+-----------+-------------+
|
v
+-----------------+------------+
| diffmoments_dispatch (C++) |
+-----------+---------------+--+
| ^
| |
| v
| +----------+------------------+
| | diffmoments_kernels (CUDA) |
| +----+------------------------+
| |
v v
+-----------+---------+---+
| diffmoments (C++/CUDA) |
+-------------------------+
All entities labeled with C++/C++/CUDA are CMake targets. A brief description, from bottom to top:
diffmoments: contains low-level building blocks (e.g. Cholesky factorization and polynomial root finding), and the primal and adjoint algorithms (compute_moment_bound/compute_moment_bound_backwardinmoment_problem.hpp)diffmoments_dispatch/diffmoments_kernels: both targets are tightly coupled (see remarks below) and define high-level functions that, for example, apply the core algorithms to multiple inputs (potentially in parallel) or detect errors in a list of outputs.diffmoments_ext: exposes the high-level functions to Python (thediffmomentsPython package is just a shallow wrapper around this extension module).
Remarks on CUDA kernels
The target diffmoments_kernels has a single source file, src/kernels.cu, which contains the CUDA implementation of the high-level functions. The code is not directly compiled to machine code, but instead translated to PTX (an intermediate language), producing the file src/generated/kernels.ptx. Since PTX can be JIT-compiled on a user system, the user's hardware doesn't need to be known in advance, ensuring forward-compatibility. The diffmoments_dispatch library loads and executes the PTX code using the CUDA driver API.
The PTX file is tracked by git and is only updated when the CMake option DM_BUILD_KERNELS is enabled. This ensures that the project compiles on systems missing the CUDA toolkit (e.g., the GitHub runners that build the PyPI wheels).
License and Copyright
The code in this repository is provided under a 3-clause BSD license.
Citation
If you find this code or our method useful for your research, please cite our paper
@article{worchel:2025:diffmoments,
author = {Worchel, Markus and Alexa, Marc},
title = {Moment Bounds are Differentiable: Efficiently Approximating Measures in Inverse Rendering},
year = {2025},
issue_date = {August 2025},
publisher = {Association for Computing Machinery},
address = {New York, NY, USA},
volume = {44},
number = {4},
issn = {0730-0301},
url = {https://doi.org/10.1145/3730899},
doi = {10.1145/3730899},
journal = {ACM Trans. Graph.},
month = jul,
articleno = {80},
numpages = {21},
keywords = {differentiable rendering, shadows}
}
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distributions
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file diffmoments-0.1.0.tar.gz.
File metadata
- Download URL: diffmoments-0.1.0.tar.gz
- Upload date:
- Size: 10.6 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.9.23
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9c62958e45c767f4a6fb113ecab9d0ac42bdc83ece3978b304d5d16b50bc68f3
|
|
| MD5 |
5a2830c83181e7aafebf45d060c1c799
|
|
| BLAKE2b-256 |
95fdb2d4418ebfd5f704d86817661ce7e783dcb21fb549ad4a21f5caced579dc
|
File details
Details for the file diffmoments-0.1.0-cp314-cp314t-win_amd64.whl.
File metadata
- Download URL: diffmoments-0.1.0-cp314-cp314t-win_amd64.whl
- Upload date:
- Size: 1.0 MB
- Tags: CPython 3.14t, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.9.23
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
609355911e204314b533e8f089ce5fd1f04528191cd749cf69ec94db7e678bde
|
|
| MD5 |
c6ff9f58d18793979ac35394d880936f
|
|
| BLAKE2b-256 |
4e7c99efa55924d2e2a871d10f738870ad007f6d16e1442fcd05fb88a7756f70
|
File details
Details for the file diffmoments-0.1.0-cp314-cp314t-win32.whl.
File metadata
- Download URL: diffmoments-0.1.0-cp314-cp314t-win32.whl
- Upload date:
- Size: 983.3 kB
- Tags: CPython 3.14t, Windows x86
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.9.23
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
43016748d6c30ee6a9ba96ff240664e4e82759622678fa23719956506824753f
|
|
| MD5 |
1c1fc191259ff3e6ed7a1f9a522ef072
|
|
| BLAKE2b-256 |
2423da7dbcad7f89f752a8fd1791d37a58f9925bf88d2d8bf9a9720a1c36ce7f
|
File details
Details for the file diffmoments-0.1.0-cp314-cp314t-musllinux_1_2_x86_64.whl.
File metadata
- Download URL: diffmoments-0.1.0-cp314-cp314t-musllinux_1_2_x86_64.whl
- Upload date:
- Size: 1.1 MB
- Tags: CPython 3.14t, musllinux: musl 1.2+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.9.23
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
060358ab98ced947484dab5be8777246e1f43e88d0f88a7fc35a597f866815c8
|
|
| MD5 |
dac0db43f666f1431a34992d12fd3b20
|
|
| BLAKE2b-256 |
f34bff866bb4e962a120b055403d97ba98ba05e6ba66c512c861210bfecdf25f
|
File details
Details for the file diffmoments-0.1.0-cp314-cp314t-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.
File metadata
- Download URL: diffmoments-0.1.0-cp314-cp314t-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
- Upload date:
- Size: 1.0 MB
- Tags: CPython 3.14t, manylinux: glibc 2.24+ x86-64, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.9.23
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
04033a6602398b8e1f856bbfc9a6bc7fdfb20d62ab6162e91ba69cd6409d9bc8
|
|
| MD5 |
a5035535db008ceaec08dd0b72bcb554
|
|
| BLAKE2b-256 |
f901e9314ab465bb761004c45ccb1d3a94049d2bdb21cfd79eab7a1d5e214366
|
File details
Details for the file diffmoments-0.1.0-cp314-cp314t-macosx_11_0_arm64.whl.
File metadata
- Download URL: diffmoments-0.1.0-cp314-cp314t-macosx_11_0_arm64.whl
- Upload date:
- Size: 1.0 MB
- Tags: CPython 3.14t, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.9.23
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e4c2b3f881654a7a1f60faefc3febd5f5255b7848a6150b89ffd564c9831f8c1
|
|
| MD5 |
120864d4bf4bc3c08cd372cff24eadc9
|
|
| BLAKE2b-256 |
0f67727435616dacd4cd86626eaacde3beb6cf6ab484a32ca7336e320da281ed
|
File details
Details for the file diffmoments-0.1.0-cp314-cp314t-macosx_10_14_x86_64.whl.
File metadata
- Download URL: diffmoments-0.1.0-cp314-cp314t-macosx_10_14_x86_64.whl
- Upload date:
- Size: 998.2 kB
- Tags: CPython 3.14t, macOS 10.14+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.9.23
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
fde21ea1f943e851b7771a4ddce23945e9b613bd94165dd7676dd265b5e611a8
|
|
| MD5 |
e4cf551d627018c3e534ab415ca74da1
|
|
| BLAKE2b-256 |
a0f254d598bc97acef713a35252a0ce5cc92c925f8ec60060523998e602ef20f
|
File details
Details for the file diffmoments-0.1.0-cp314-cp314-win_amd64.whl.
File metadata
- Download URL: diffmoments-0.1.0-cp314-cp314-win_amd64.whl
- Upload date:
- Size: 996.9 kB
- Tags: CPython 3.14, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.9.23
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9dd3ceeff33f7a865968171a9d50d3707ef4e030d915c2bac15b76ae45ba201c
|
|
| MD5 |
5389217688d1a4308477f9ddb621dbc3
|
|
| BLAKE2b-256 |
874628d9cd9f4a886fac33c01154de5ea5442c2afb195610e482b3c518c9f88e
|
File details
Details for the file diffmoments-0.1.0-cp314-cp314-win32.whl.
File metadata
- Download URL: diffmoments-0.1.0-cp314-cp314-win32.whl
- Upload date:
- Size: 978.3 kB
- Tags: CPython 3.14, Windows x86
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.9.23
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b8b5e61e4d1a46156ee1917dd2142c823f5ea7c07d50b3063c1d3566f684dcad
|
|
| MD5 |
e05cb9ece039aaf1e5df08da92e77719
|
|
| BLAKE2b-256 |
5c9e66fc45e7f71259e82aa2807510e4ab8be2edf4acc7e7b25eaef5f488ce23
|
File details
Details for the file diffmoments-0.1.0-cp314-cp314-musllinux_1_2_x86_64.whl.
File metadata
- Download URL: diffmoments-0.1.0-cp314-cp314-musllinux_1_2_x86_64.whl
- Upload date:
- Size: 1.1 MB
- Tags: CPython 3.14, musllinux: musl 1.2+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.9.23
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
92f7910f98092260fde07d79a8e55cfbceab9c688aade7a41bdb2403c8a99fe9
|
|
| MD5 |
a864c8c243f3f93598d408290754f20b
|
|
| BLAKE2b-256 |
98219a8197fca47454eb528e84b553ab1850b8ec2f04e5d48a74aa0eeec0ce8e
|
File details
Details for the file diffmoments-0.1.0-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.
File metadata
- Download URL: diffmoments-0.1.0-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
- Upload date:
- Size: 1.0 MB
- Tags: CPython 3.14, manylinux: glibc 2.24+ x86-64, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.9.23
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4ade6fd3167d7c3ae1a04b5ab51621603d188d0285733a395f2bf2b0a02c75b4
|
|
| MD5 |
1f1d05e2e183eac6ed5bdbd4eedb08b4
|
|
| BLAKE2b-256 |
91662ba6e5eaee810c4fb077326e48d4ad21e6ca656dd102008b1287ae1a67fd
|
File details
Details for the file diffmoments-0.1.0-cp314-cp314-macosx_11_0_arm64.whl.
File metadata
- Download URL: diffmoments-0.1.0-cp314-cp314-macosx_11_0_arm64.whl
- Upload date:
- Size: 1.0 MB
- Tags: CPython 3.14, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.9.23
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a70a2a56cd9f2c2055fb093b001fd0b9d002596e990fa8dbcd1f4dfd5c6369dd
|
|
| MD5 |
ce4b208d77e32c6ab2c727eff0743aa1
|
|
| BLAKE2b-256 |
94d2e7fd602a1fdb3e17b47434ce31874851240853b2ad90ec02c8056bcd2ead
|
File details
Details for the file diffmoments-0.1.0-cp314-cp314-macosx_10_14_x86_64.whl.
File metadata
- Download URL: diffmoments-0.1.0-cp314-cp314-macosx_10_14_x86_64.whl
- Upload date:
- Size: 994.1 kB
- Tags: CPython 3.14, macOS 10.14+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.9.23
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f630bdbb3a49b5e7195c9acb3c70efccc1f5483dfcb8e4d3fd6b8e37a75cfd4a
|
|
| MD5 |
2e5ea74f692afebfcadc2ccbcf913fbf
|
|
| BLAKE2b-256 |
94e717cf577e21b60923a38682ae254c745a7f58ac505c633ef62551c0065ba5
|
File details
Details for the file diffmoments-0.1.0-cp313-cp313-win_amd64.whl.
File metadata
- Download URL: diffmoments-0.1.0-cp313-cp313-win_amd64.whl
- Upload date:
- Size: 972.1 kB
- Tags: CPython 3.13, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.9.23
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
334d3a90e4b5eba457e8bd8faac988f6fc916cf25d371df6ea203847e9fdbd76
|
|
| MD5 |
b77100fa5b063d363e680fc4463f387a
|
|
| BLAKE2b-256 |
afd9a8cb25e0d125e073b8b529891bc11c94c9d20947b991d41465c5efb67ce7
|
File details
Details for the file diffmoments-0.1.0-cp313-cp313-win32.whl.
File metadata
- Download URL: diffmoments-0.1.0-cp313-cp313-win32.whl
- Upload date:
- Size: 954.6 kB
- Tags: CPython 3.13, Windows x86
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.9.23
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
119a56845c4c08bd1af9b29bafd5cb5d42c518ca9438003428de169b0b78d3a2
|
|
| MD5 |
aa8af870f7a2f22aff6b49ef724e4719
|
|
| BLAKE2b-256 |
9b08e7ce8c0bab4eeeb75edd3f8fd5234af2d8f34b7a42150a1db47a42fe664f
|
File details
Details for the file diffmoments-0.1.0-cp313-cp313-musllinux_1_2_x86_64.whl.
File metadata
- Download URL: diffmoments-0.1.0-cp313-cp313-musllinux_1_2_x86_64.whl
- Upload date:
- Size: 1.1 MB
- Tags: CPython 3.13, musllinux: musl 1.2+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.9.23
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5747cabeec92a71c938fa6444b410b8650c75e6a4b4b6c592c41a39067b4759b
|
|
| MD5 |
f6d46a48961177db3caab88698ccbbcf
|
|
| BLAKE2b-256 |
bf560c6c6f7ebc38a4ea88231bcb1a1073ecf4ff9f2780a9fa5a7f9f84e13c4c
|
File details
Details for the file diffmoments-0.1.0-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.
File metadata
- Download URL: diffmoments-0.1.0-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
- Upload date:
- Size: 1.0 MB
- Tags: CPython 3.13, manylinux: glibc 2.24+ x86-64, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.9.23
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ac98f74b2df40db88272c9a965424214f063023b002baa265bbcba5a6468314b
|
|
| MD5 |
98b374d3759e85105accab2c4afd5972
|
|
| BLAKE2b-256 |
d0198b2d94f431e8450a90f83a6a604c2c2eff331db542274c2a21efec1dbc21
|
File details
Details for the file diffmoments-0.1.0-cp313-cp313-macosx_11_0_arm64.whl.
File metadata
- Download URL: diffmoments-0.1.0-cp313-cp313-macosx_11_0_arm64.whl
- Upload date:
- Size: 1.0 MB
- Tags: CPython 3.13, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.9.23
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
cf9daace9ad43ec79b3194a37542d51a49dfff1473e39114123d1b6e50eea73d
|
|
| MD5 |
1badb0a749e327aeab032861542d9fde
|
|
| BLAKE2b-256 |
d20e71066b15213d11ee717e5ba52bf134d483959a2f8b598be51f498a63f8c5
|
File details
Details for the file diffmoments-0.1.0-cp313-cp313-macosx_10_14_x86_64.whl.
File metadata
- Download URL: diffmoments-0.1.0-cp313-cp313-macosx_10_14_x86_64.whl
- Upload date:
- Size: 994.1 kB
- Tags: CPython 3.13, macOS 10.14+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.9.23
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
cdcaca8655373ef29c95e17b18361931819e85bcddffc40a20f0b3211cbb65b4
|
|
| MD5 |
7c980d670b73af7937925ff52eb1dc32
|
|
| BLAKE2b-256 |
ee3aa39abec92aa21a24847200374147a630b5e2c17d09d1ec6307acc4e09046
|
File details
Details for the file diffmoments-0.1.0-cp312-cp312-win_amd64.whl.
File metadata
- Download URL: diffmoments-0.1.0-cp312-cp312-win_amd64.whl
- Upload date:
- Size: 972.1 kB
- Tags: CPython 3.12, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.9.23
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a4853f13af5b55f5a1c4695fc083f4dcfbffef01d22ec3411617d4be14b1034b
|
|
| MD5 |
d52affc97832fe4b85452517a0a59a22
|
|
| BLAKE2b-256 |
a0550373f53c20055b8ff12217de8d4570f4b04a5e8facb468055678114c5f86
|
File details
Details for the file diffmoments-0.1.0-cp312-cp312-win32.whl.
File metadata
- Download URL: diffmoments-0.1.0-cp312-cp312-win32.whl
- Upload date:
- Size: 954.6 kB
- Tags: CPython 3.12, Windows x86
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.9.23
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9b68ca8b8b72c429e3ddc1a334bcc439c7431b5ca6417ee20473df41dfda01f3
|
|
| MD5 |
5a91d8e3c66c7e40b7f0176c9d3dee08
|
|
| BLAKE2b-256 |
1ab43172a0b1e364d51335ab26cd14ea89a8abda999541e3693649ecab176673
|
File details
Details for the file diffmoments-0.1.0-cp312-cp312-musllinux_1_2_x86_64.whl.
File metadata
- Download URL: diffmoments-0.1.0-cp312-cp312-musllinux_1_2_x86_64.whl
- Upload date:
- Size: 1.1 MB
- Tags: CPython 3.12, musllinux: musl 1.2+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.9.23
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7cb6ffeefdcbc48b6a123141fe3fd33fcf56db95e5a467bae9ca9d4690fd38dc
|
|
| MD5 |
d5fba525036e63a133416324cda38e16
|
|
| BLAKE2b-256 |
d8e4623680a16f61dc6b696ae1175ab527b7f962c76dbe77f3b6eda0b63b80c9
|
File details
Details for the file diffmoments-0.1.0-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.
File metadata
- Download URL: diffmoments-0.1.0-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
- Upload date:
- Size: 1.0 MB
- Tags: CPython 3.12, manylinux: glibc 2.24+ x86-64, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.9.23
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
fff723556e7cc92b5e16dbf51506bea33bf95b7edfeb944bd1367d2d62dc9a90
|
|
| MD5 |
c08d9de34ba6adccbc1968c12e434edd
|
|
| BLAKE2b-256 |
342a6190e619f352997c64b952ec8f04ac31a9241229886cf48f75f3a53214d9
|
File details
Details for the file diffmoments-0.1.0-cp312-cp312-macosx_11_0_arm64.whl.
File metadata
- Download URL: diffmoments-0.1.0-cp312-cp312-macosx_11_0_arm64.whl
- Upload date:
- Size: 1.0 MB
- Tags: CPython 3.12, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.9.23
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
72330c7a35929d0219e4782ede30e56e8362bc73e9396bb6e4c27b21fa578da2
|
|
| MD5 |
fa92c234f74e182c1c7952008cfabfe5
|
|
| BLAKE2b-256 |
970d06acdbf65cd051383d3d2196317fdcbe437f59fdce649ca7994b1a81fff0
|
File details
Details for the file diffmoments-0.1.0-cp312-cp312-macosx_10_14_x86_64.whl.
File metadata
- Download URL: diffmoments-0.1.0-cp312-cp312-macosx_10_14_x86_64.whl
- Upload date:
- Size: 994.1 kB
- Tags: CPython 3.12, macOS 10.14+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.9.23
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
45adc961419f60a30975de74c2afe851d5d88ebc20621c2a748a75503a91f4b5
|
|
| MD5 |
515ca0e8dab9c7db7c6d39eea9ca20af
|
|
| BLAKE2b-256 |
f179a4177a8ac3f4ab4058f3803a8bde8d5b3b45d818c542416bbdc6187abad0
|
File details
Details for the file diffmoments-0.1.0-cp311-cp311-win_amd64.whl.
File metadata
- Download URL: diffmoments-0.1.0-cp311-cp311-win_amd64.whl
- Upload date:
- Size: 973.8 kB
- Tags: CPython 3.11, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.9.23
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
564fb8ca1842cdde30580ef429ccbc87e71f418dd77d6709be7de189293bb248
|
|
| MD5 |
3e928473d0403ea41f3fd7049a3258b0
|
|
| BLAKE2b-256 |
f79510dba5f2d6160d8bbc2591a08dddaaaa6469302964362836b9ba8c50d2af
|
File details
Details for the file diffmoments-0.1.0-cp311-cp311-win32.whl.
File metadata
- Download URL: diffmoments-0.1.0-cp311-cp311-win32.whl
- Upload date:
- Size: 956.2 kB
- Tags: CPython 3.11, Windows x86
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.9.23
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4e3535aef1ce3dd0c6e9dfd4dfb39b0b0a8263cd21420bd21e1ee6383a53adc3
|
|
| MD5 |
991cb228a256c295039c69d5ca095043
|
|
| BLAKE2b-256 |
1f60a59667e3ceaf03c107052589213146ca25a365535c772d762fe54de61282
|
File details
Details for the file diffmoments-0.1.0-cp311-cp311-musllinux_1_2_x86_64.whl.
File metadata
- Download URL: diffmoments-0.1.0-cp311-cp311-musllinux_1_2_x86_64.whl
- Upload date:
- Size: 1.1 MB
- Tags: CPython 3.11, musllinux: musl 1.2+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.9.23
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3a208fb759200ad554ff9d224fbaea66ecdbdad39b965b4b0baa2df769564437
|
|
| MD5 |
4eb8bc4b63a54ee141abb8ec44c554bc
|
|
| BLAKE2b-256 |
644cfe9a9512f45da290efb4c8e55a6d0b10a66039ddf09349139195ac177e03
|
File details
Details for the file diffmoments-0.1.0-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.
File metadata
- Download URL: diffmoments-0.1.0-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
- Upload date:
- Size: 1.0 MB
- Tags: CPython 3.11, manylinux: glibc 2.24+ x86-64, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.9.23
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9420480649cb22ec8fbea67fc0c800f9cbc210712f808dd2576ad5eb322ecb57
|
|
| MD5 |
0366041c0eaacd459081fe862daaa850
|
|
| BLAKE2b-256 |
45661cb786992bc8e5abe17627f24c794c13069a95e3bb0e9005c2b57cee7cd0
|
File details
Details for the file diffmoments-0.1.0-cp311-cp311-macosx_11_0_arm64.whl.
File metadata
- Download URL: diffmoments-0.1.0-cp311-cp311-macosx_11_0_arm64.whl
- Upload date:
- Size: 1.0 MB
- Tags: CPython 3.11, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.9.23
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0d9de4a8fe835ff5a003090f64622de9cc56b9dcbd0eb60c5223b562d8b37121
|
|
| MD5 |
2cf41349172d848e31be195148595c16
|
|
| BLAKE2b-256 |
1ed1276b44c91e95038d2be36d689ca99781f4aa3dce6b3e20fa1ca1fb828571
|
File details
Details for the file diffmoments-0.1.0-cp311-cp311-macosx_10_14_x86_64.whl.
File metadata
- Download URL: diffmoments-0.1.0-cp311-cp311-macosx_10_14_x86_64.whl
- Upload date:
- Size: 995.0 kB
- Tags: CPython 3.11, macOS 10.14+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.9.23
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
eb8bb1153e8bab311b944c5bcc98fed93ee419d1b976b1e295f4b6a7ea65e4c4
|
|
| MD5 |
b0a0ac9bc7b90613fba14777317e53cf
|
|
| BLAKE2b-256 |
41b28ac4f2735d7b164d460d1ef7b732248a2d221187019c4b17d6531c805c2e
|
File details
Details for the file diffmoments-0.1.0-cp310-cp310-win_amd64.whl.
File metadata
- Download URL: diffmoments-0.1.0-cp310-cp310-win_amd64.whl
- Upload date:
- Size: 973.6 kB
- Tags: CPython 3.10, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.9.23
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7c2bf6f326e000de7f189899b0b88cfbf39437665debc9d687148c3ed57ae1c3
|
|
| MD5 |
fa8f57bf68232ced768103c3ce19e738
|
|
| BLAKE2b-256 |
54f4adb751ac6f477526b623f095348f104ccca325ac14876a7bf53233395bdc
|
File details
Details for the file diffmoments-0.1.0-cp310-cp310-win32.whl.
File metadata
- Download URL: diffmoments-0.1.0-cp310-cp310-win32.whl
- Upload date:
- Size: 955.8 kB
- Tags: CPython 3.10, Windows x86
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.9.23
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
25001315832d840cc4d703105a149cd022deb38c169c0874795c44932ea86e6f
|
|
| MD5 |
57f94fe813c130842fa42a42505b1ac0
|
|
| BLAKE2b-256 |
c6edc1ce1b8591598563139105c6e2585485165368391ce93c9b42f7e97624a5
|
File details
Details for the file diffmoments-0.1.0-cp310-cp310-musllinux_1_2_x86_64.whl.
File metadata
- Download URL: diffmoments-0.1.0-cp310-cp310-musllinux_1_2_x86_64.whl
- Upload date:
- Size: 1.1 MB
- Tags: CPython 3.10, musllinux: musl 1.2+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.9.23
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
dd3d138ab8bd89a5278789f702af24367652d451a581b76c5834d4547c4e9901
|
|
| MD5 |
ef8da094298b2000fcbdb6bce00428d2
|
|
| BLAKE2b-256 |
c045e5e1e6208f9cb19b17d431bf9a3794a8fe2106a6d4528c6eb9335e24e246
|
File details
Details for the file diffmoments-0.1.0-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.
File metadata
- Download URL: diffmoments-0.1.0-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
- Upload date:
- Size: 1.0 MB
- Tags: CPython 3.10, manylinux: glibc 2.24+ x86-64, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.9.23
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b27c1b81bef2c6e977d76b1bcb1f11dd57ce1d640e41c4b6a3b4583cf060f708
|
|
| MD5 |
ddd191cbd85aa10ce9c6b6f9fdcbeb9e
|
|
| BLAKE2b-256 |
d30a1c316f689dc38acf07cb65b0ace94c04108dd77679ef3a0796f775177af0
|
File details
Details for the file diffmoments-0.1.0-cp310-cp310-macosx_11_0_arm64.whl.
File metadata
- Download URL: diffmoments-0.1.0-cp310-cp310-macosx_11_0_arm64.whl
- Upload date:
- Size: 1.0 MB
- Tags: CPython 3.10, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.9.23
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8018312f75ddf70a59c1f58d5ec81032ea7611d6b58c53563ed526a1e0d5f18e
|
|
| MD5 |
8c6c0961276fba2e5d2b5981eea0718b
|
|
| BLAKE2b-256 |
aef330ae11ef9b2809848ba1b4226cfef9eae70c7bd16e0e8020931c5ea44d5f
|
File details
Details for the file diffmoments-0.1.0-cp310-cp310-macosx_10_14_x86_64.whl.
File metadata
- Download URL: diffmoments-0.1.0-cp310-cp310-macosx_10_14_x86_64.whl
- Upload date:
- Size: 994.5 kB
- Tags: CPython 3.10, macOS 10.14+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.9.23
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f357b84a5cf3e898a52dd302fb9108957be24a49e43d744dc3f7c2215291887d
|
|
| MD5 |
1c6606447225523ff593b30a6fa5dca7
|
|
| BLAKE2b-256 |
a91b04d8144a9cad7310bf277767dbe58f7412674e451e75473571b623d5ada5
|
File details
Details for the file diffmoments-0.1.0-cp39-cp39-win_amd64.whl.
File metadata
- Download URL: diffmoments-0.1.0-cp39-cp39-win_amd64.whl
- Upload date:
- Size: 973.9 kB
- Tags: CPython 3.9, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.9.23
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
73bf57d281cc928e59432a11570c672824d26521df032cb3b01b25da51727ca5
|
|
| MD5 |
1e4545b4fae163e4bf4abb2b6dfbc09e
|
|
| BLAKE2b-256 |
e87aea6939b909438917f5b2554c5c201f7e6f18ff055089ede8c39adea657a8
|
File details
Details for the file diffmoments-0.1.0-cp39-cp39-win32.whl.
File metadata
- Download URL: diffmoments-0.1.0-cp39-cp39-win32.whl
- Upload date:
- Size: 956.2 kB
- Tags: CPython 3.9, Windows x86
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.9.23
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
acf5fc03246dc23078c755483b9fb24c116d19e6619364d4b4e3d219fa0dcad5
|
|
| MD5 |
5a313c4c3b524733dcb513c6875a0339
|
|
| BLAKE2b-256 |
c06cbd58cd7acc124cff249cce62e68279b5ce82e43d5f956723f1a08a2a0eb4
|
File details
Details for the file diffmoments-0.1.0-cp39-cp39-musllinux_1_2_x86_64.whl.
File metadata
- Download URL: diffmoments-0.1.0-cp39-cp39-musllinux_1_2_x86_64.whl
- Upload date:
- Size: 1.1 MB
- Tags: CPython 3.9, musllinux: musl 1.2+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.9.23
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
52b18bcf3b02f4252ccce860f51d2e84a858a3ad357c2bb870858b4c2b595257
|
|
| MD5 |
a1b03cbef2eef80bf000aa1adc8506aa
|
|
| BLAKE2b-256 |
19d1ff78296d61307bd2b10684db450fb60b415bdc30bfd19b8cc0daa87de43d
|
File details
Details for the file diffmoments-0.1.0-cp39-cp39-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.
File metadata
- Download URL: diffmoments-0.1.0-cp39-cp39-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
- Upload date:
- Size: 1.0 MB
- Tags: CPython 3.9, manylinux: glibc 2.24+ x86-64, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.9.23
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8a275e03115c18b0d818fcb0fc7e2db429ca8b7b85315848efcbbd26d9955452
|
|
| MD5 |
8cba0ad95e196ee878a4c6d8f25bf218
|
|
| BLAKE2b-256 |
de4f684bd3fb8708b1beb561df3aaaff62fd146d8fd711f4373cf1df279047f5
|
File details
Details for the file diffmoments-0.1.0-cp39-cp39-macosx_11_0_arm64.whl.
File metadata
- Download URL: diffmoments-0.1.0-cp39-cp39-macosx_11_0_arm64.whl
- Upload date:
- Size: 1.0 MB
- Tags: CPython 3.9, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.9.23
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
77d11d553e04d9811b5f20eb2dce5819ee3f35a71be4a3ee303602ec407616e7
|
|
| MD5 |
79d453f59947b507990d8e711a28b374
|
|
| BLAKE2b-256 |
872dc7d3aac00adc87a5768ba1d4df0ae551970cdc37b09bd7fe2c3b4711874f
|
File details
Details for the file diffmoments-0.1.0-cp39-cp39-macosx_10_14_x86_64.whl.
File metadata
- Download URL: diffmoments-0.1.0-cp39-cp39-macosx_10_14_x86_64.whl
- Upload date:
- Size: 994.6 kB
- Tags: CPython 3.9, macOS 10.14+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.9.23
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b7c9077eddb51b56bd02cd45020210a3b10eff9ed1055a7626236b8d905ba844
|
|
| MD5 |
031b00ed0ba8ab12658f7e2e6e1cc0fd
|
|
| BLAKE2b-256 |
07b23ffd715ec8e1aef9f7c2a83e1d8c598245cb4a2810ed2b7f4c146d4d1465
|
File details
Details for the file diffmoments-0.1.0-cp38-cp38-win_amd64.whl.
File metadata
- Download URL: diffmoments-0.1.0-cp38-cp38-win_amd64.whl
- Upload date:
- Size: 973.8 kB
- Tags: CPython 3.8, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.9.23
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
939f1ba5c8f90d3f7c7ac23ff42099cd9a8a89e60fd4cd8670b94aca9eb5bf94
|
|
| MD5 |
31de5a358106556c547fb0c03b3c01db
|
|
| BLAKE2b-256 |
d7423c0b9ee2754778ee370c6d5411cd5d1f8d2634dbc30342684802d4591e9e
|
File details
Details for the file diffmoments-0.1.0-cp38-cp38-win32.whl.
File metadata
- Download URL: diffmoments-0.1.0-cp38-cp38-win32.whl
- Upload date:
- Size: 956.1 kB
- Tags: CPython 3.8, Windows x86
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.9.23
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
01216a49023ce574da61be87e870f78a68fa6a39d41fa0f7c7409c11e3202023
|
|
| MD5 |
6b19e3541f2685b6e978975d7e5d9124
|
|
| BLAKE2b-256 |
24eef1fb12506a356850aa05020c6364943eee3a7b14a473164f2053f00ae3bd
|
File details
Details for the file diffmoments-0.1.0-cp38-cp38-musllinux_1_2_x86_64.whl.
File metadata
- Download URL: diffmoments-0.1.0-cp38-cp38-musllinux_1_2_x86_64.whl
- Upload date:
- Size: 1.1 MB
- Tags: CPython 3.8, musllinux: musl 1.2+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.9.23
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
10ddef2217856f2d485e60e8cb26e9fd00595d13455102f05b256e5aa931e178
|
|
| MD5 |
66ceef1e2cafc2ab0fd8e697a8bbd5ee
|
|
| BLAKE2b-256 |
377d27fcc6b7ff4dd42b0cbac34763cd829897951c7ce64897eadca21fc3ad72
|
File details
Details for the file diffmoments-0.1.0-cp38-cp38-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.
File metadata
- Download URL: diffmoments-0.1.0-cp38-cp38-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
- Upload date:
- Size: 1.0 MB
- Tags: CPython 3.8, manylinux: glibc 2.24+ x86-64, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.9.23
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
470132066527309a1799c5fdf3a280848e5fae864dcd62c2b09d08ab02e12d08
|
|
| MD5 |
948086481d796a9a082e6b6af363a9ca
|
|
| BLAKE2b-256 |
c0b3ffa6eb553b7eb2e805904a4f681723a3a8f861ea7d20024dae4d43393ac5
|
File details
Details for the file diffmoments-0.1.0-cp38-cp38-macosx_11_0_arm64.whl.
File metadata
- Download URL: diffmoments-0.1.0-cp38-cp38-macosx_11_0_arm64.whl
- Upload date:
- Size: 1.0 MB
- Tags: CPython 3.8, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.9.23
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e3f70f5c974e64ae61c68b176e77f35cde445181479b3a4d0e7ea8d166bf1d59
|
|
| MD5 |
435d7e6855c828015f29a1253902554a
|
|
| BLAKE2b-256 |
def81d834ced00ae360e11ccbb4269e51688f43e273a96094a7927b18ffb067d
|
File details
Details for the file diffmoments-0.1.0-cp38-cp38-macosx_10_14_x86_64.whl.
File metadata
- Download URL: diffmoments-0.1.0-cp38-cp38-macosx_10_14_x86_64.whl
- Upload date:
- Size: 994.6 kB
- Tags: CPython 3.8, macOS 10.14+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.9.23
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a1ffa654cc5822360b3a5fbe906af5b0eda5c401b3e0cd1b99b8b03a730d624e
|
|
| MD5 |
84adc7c0f660a3499a724e148fb41e1c
|
|
| BLAKE2b-256 |
8a87fb3fa24fcbbc6048ac23998d0caa217625b54fad0219b6797f53f623de7f
|