VVCM
C++ and Python project for multi-robot transporting system with a deformable sheet, use virtual variable cables model (VVCM) to model the system.
Citation
If you use the forward kinematics algorithm, please cite the following paper (bibtex):
@article{ma2026stable,
title = {Stable Kinematics for Multi-Robot Collaborative Transporting System with a Deformable Sheet},
author = {Ma, Wenyao and Hu, Jiawei and Li, Jiamao and Yi, Jingang and Xiong, Zhenhua},
year = 2026,
journal = {IEEE Transactions on Robotics},
volume = {<To be assigned>},
pages = {<To be assigned>},
doi={10.1109/TRO.2026.3653870}
}
The paper is waiting for publication, early access version can be found here.
Or
@article{hu2024forward,
title = {Forward Kinematics of Object Transporting by a Multi-Robot System With a Deformable Sheet},
author = {Hu, Jiawei and Liu, Wenhang and Yi, Jingang and Xiong, Zhenhua},
year = 2024,
journal = {IEEE Robotics and Automation Letters},
volume = {9},
number = {4},
pages = {3459--3466}
}
If you are interested in the VVCM itself, please cite the following paper (bibtex):
@article{hu2022multirobot,
title = {Multi-Robot Object Transport Motion Planning With a Deformable Sheet},
author = {Hu, Jiawei and Liu, Wenhang and Zhang, Heng and Yi, Jingang and Xiong, Zhenhua},
year = 2022,
journal = {IEEE Robotics and Automation Letters},
volume = {7},
number = {4},
pages = {9350--9357}
}
Installation
C++ Library
The most convenient way to use the C++ library is to copy the code and include it in your project.
Eigen version 3.4 or later is required; otherwise, you may need to modify
CMakeLists.txt.
We do not provide pre-built binaries for the C++ library, and have not yet provided a vcpkg or conan package.
Python Package
From PyPI
You can install the package from PyPI using pip:
pip install VVCM
PyPI hosts the following pre-built wheels:
- Linux:
x86_64,aarch64 - Windows:
AMD64 - macOS:
arm64
Only CPython wheels are provided. If you use PyPy, please build from source.
From Release
In the Release of the repository, you can find pre-built binaries for various platforms:
- Linux:
x86_64,aarch64 - Windows:
AMD64 - macOS:
arm64
Only CPython wheels are provided. If you use PyPy, please build from source.
Build From Source
1. Prerequisites
-
Windows:
-
Ubuntu:
-
macOS:
-
Other Linux distributions: Please modify the installation scripts of Ubuntu.
2. Install dependencies
python -m pip install numpy nanobind scikit-build-core[pyproject]
python -m pip install matplotlib scipy
3. Install the package
python -m pip install --no-build-isolation -v .
Usage
C++ Library
Use stable forward kinematics algorithm to compute the object pose given robot formation and deformable sheet:
#include <iostream>
#include <Eigen/Dense>
#include "VVCM_FK.hpp"
using namespace VVCM;
int main()
{
int N = 4; // number of robots
float zr = 1000.0; // height of the holding points (unit: mm)
MatrixXf Rn(4, 2); // robot formation (x, y) coordinates (unit: mm)
Rn << 213.7, 122.7,
804.6, 37.2,
904.0, 550.0,
439.3, 715.9;
MatrixXf Vn(4, 2); // shape of the deformable sheet (x, y) coordinates (unit: mm)
Vn << -316.1, -421.9,
803.4, -384.1,
746.1, 712.8,
-367.3, 664.2;
std::cout << "----------------------" << std::endl;
VVCM_FK a(N, zr, Vn); // initialize the VVCM_FK object
a.update_stable_solutions(Rn); // compute the stable forward kinematics
// M: the number of stable solutions found
std::cout << "M: " << a.M << std::endl;
if (a.M == 0)
{
std::cout << "No stable solution found." << std::endl;
return 0;
}
// Po: object pose (x, y, z) coordinates for each stable solution (unit: mm)
std::cout << "Po: " << std::endl;
for (const auto &po : a.Po)
{
std::cout << po.transpose() << std::endl;
}
// Vo: deformable sheet vertex (x, y) coordinates for each stable solution (unit: mm)
std::cout << "Vo: " << std::endl;
for (const auto &vo : a.Vo)
{
std::cout << vo.transpose() << std::endl;
}
std::cout << "----------------------" << std::endl;
return 0;
}
If everything is set up correctly, you should see output similar to the following:
----------------------
M: 2
Po:
568.812 324.726 336.736
557.931 341.231 337.246
Vo:
238.618 125.024
208.799 152.534
----------------------
Python Package
Use stable forward kinematics algorithm to compute the object pose given robot formation and deformable sheet:
import numpy as np
from VVCM import VVCM_FK
def test_VVCM_FK():
N = 4 # number of robots
zr = 1000.0 # height of the holding points (unit: mm)
# robot formation (x, y) coordinates (unit: mm)
Rn = np.array(
[
[213.7, 122.7],
[804.6, 37.2],
[904.0, 550.0],
[439.3, 715.9],
]
)
# shape of the deformable sheet (x, y) coordinates (unit: mm)
Vn = np.array(
[
[-316.1, -421.9],
[803.4, -384.1],
[746.1, 712.8],
[-367.3, 664.2],
]
)
print("----------------------")
a = VVCM_FK(N, zr, Vn) # initialize the VVCM_FK object
a.update_stable_solutions(Rn) # compute the stable forward kinematics
# M: the number of stable solutions found
print(f"M: {a.M}")
if a.M == 0:
print("No stable solution found.")
return
# Po: object pose (x, y, z) coordinates for each stable solution (unit: mm)
print("Po: ")
for po in a.Po:
print(po)
# Vo: deformable sheet vertex (x, y) coordinates for each stable solution (unit: mm)
print("Vo: ")
for vo in a.Vo:
print(vo)
print("----------------------")
if __name__ == "__main__":
test_VVCM_FK()
If everything is set up correctly, you should see output similar to the following:
----------------------
M: 2
Po:
[568.8123 324.72644 336.73608]
[557.9307 341.23087 337.2464 ]
Vo:
[238.6181 125.02439]
[208.79898 152.53357]
----------------------
Metadata
Release files for VVCM 1.0.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| vvcm-1.0.0.tar.gz | 20.7 kB | Details |
Built distributions (wheels)
Total release size: 32.2 MB
Release files / vvcm-1.0.0.tar.gz
| Download URL | vvcm-1.0.0.tar.gz |
|---|---|
| Size | 20.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
3b2078aa401afe049431b51c03cb8e74b1b4c4003c469e6bde308be75accc2d3
|
|
BLAKE2b-256 checksum How to use checksums |
0d4f12a32288a7bf01104356cdbba9865b39b434c8a8c894970b35f4f117697d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
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 Jan 24, 2026.
Transparency logRelease files / vvcm-1.0.0-cp312-abi3-win_amd64.whl
| Download URL | vvcm-1.0.0-cp312-abi3-win_amd64.whl |
|---|---|
| Size | 2.0 MB |
| Tags | CPython 3.12 Windows x86-64 abi3 |
|
SHA-256 checksum How to use checksums |
6ed3ee421db422610b608aba8b8294840899bfa82455727cfe92f70fefdb4700
|
|
BLAKE2b-256 checksum How to use checksums |
750258f469cbfbb4ff610cd075d1d7254e77f79378a839cd3d9b81b2f04b81c9
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
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 Jan 24, 2026.
Transparency logRelease files / vvcm-1.0.0-cp312-abi3-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
| Download URL | vvcm-1.0.0-cp312-abi3-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl |
|---|---|
| Size | 2.0 MB |
| Tags | CPython 3.12 Linux glibc 2.27+ ARM64 Linux glibc 2.28+ ARM64 abi3 |
|
SHA-256 checksum How to use checksums |
7577c0f901500ca4a55b0f5b522a16070a87642bdfafd34aba66bc7c3f5a9a38
|
|
BLAKE2b-256 checksum How to use checksums |
44b1a1f652e738ce822a2ceb3650ba904129c1d14fe2239a35d8cb651f47c3fd
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
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 Jan 24, 2026.
Transparency logRelease files / vvcm-1.0.0-cp312-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
| Download URL | vvcm-1.0.0-cp312-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl |
|---|---|
| Size | 2.0 MB |
| Tags | CPython 3.12 Linux glibc 2.17+ x86-64 abi3 |
|
SHA-256 checksum How to use checksums |
01a3f13ad6555b486b01ad79213dd040c06cb1673560eac7f94a1f95d6320a64
|
|
BLAKE2b-256 checksum How to use checksums |
f38882e2edbfd2075d80943de147380319ef5a4932ed48008d9582b224415a1c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
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 Jan 24, 2026.
Transparency logRelease files / vvcm-1.0.0-cp312-abi3-macosx_11_0_arm64.whl
| Download URL | vvcm-1.0.0-cp312-abi3-macosx_11_0_arm64.whl |
|---|---|
| Size | 2.0 MB |
| Tags | CPython 3.12 abi3 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
82b04058a23fe17135e22631a1abbb5001a805dc887fd5032247e8392fe49347
|
|
BLAKE2b-256 checksum How to use checksums |
8a0d3d6f8e37a9032a7c12bbca8c2f9ee2f82d16c6c27290b0584a67da5ce447
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
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 Jan 24, 2026.
Transparency logRelease files / vvcm-1.0.0-cp311-cp311-win_amd64.whl
| Download URL | vvcm-1.0.0-cp311-cp311-win_amd64.whl |
|---|---|
| Size | 2.0 MB |
| Tags | CPython 3.11 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
68c264c43b932ba61532a90c7a53e4d5c6571607666baeac950ccb43e124f86c
|
|
BLAKE2b-256 checksum How to use checksums |
aa8d1d34b630a68fbf1713d23174298b82ab12b3b3d6fd2d95ccb2c47a4e9cb7
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
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 Jan 24, 2026.
Transparency logRelease files / vvcm-1.0.0-cp311-cp311-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
| Download URL | vvcm-1.0.0-cp311-cp311-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl |
|---|---|
| Size | 2.0 MB |
| Tags | CPython 3.11 Linux glibc 2.27+ ARM64 Linux glibc 2.28+ ARM64 |
|
SHA-256 checksum How to use checksums |
a087a2a26513faff0ee72e075ed65c82567275c919e55c1ba0d7e16a53ea4fe4
|
|
BLAKE2b-256 checksum How to use checksums |
655855ce124690cc7cd2c09d729d419ca342586e232d3faff00f6987c6f82b96
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
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 Jan 24, 2026.
Transparency logRelease files / vvcm-1.0.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
| Download URL | vvcm-1.0.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl |
|---|---|
| Size | 2.0 MB |
| Tags | CPython 3.11 Linux glibc 2.17+ x86-64 |
|
SHA-256 checksum How to use checksums |
806d02e52da62c5aeb29280b9033f7c03f410ab523c203e81e5b6eb8dad0c4c7
|
|
BLAKE2b-256 checksum How to use checksums |
46e65252043d95c4421db5d98653a3b6793591be58c65118e65aa7adcb36aad0
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
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 Jan 24, 2026.
Transparency logRelease files / vvcm-1.0.0-cp311-cp311-macosx_11_0_arm64.whl
| Download URL | vvcm-1.0.0-cp311-cp311-macosx_11_0_arm64.whl |
|---|---|
| Size | 2.0 MB |
| Tags | CPython 3.11 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
89589e4d58cd00f7c43ef0da54ab3a404368b2af8e5ede231743ec24d067ee52
|
|
BLAKE2b-256 checksum How to use checksums |
657696e7280aff3a307920e1f5369e5229b798bdd933d8a12e07d3f0fbeb687e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
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 Jan 24, 2026.
Transparency logRelease files / vvcm-1.0.0-cp310-cp310-win_amd64.whl
| Download URL | vvcm-1.0.0-cp310-cp310-win_amd64.whl |
|---|---|
| Size | 2.0 MB |
| Tags | CPython 3.10 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
59c156a56596781eac92b2d7b5f45e3e893c795e87b0e99a57d8b8cee66674a9
|
|
BLAKE2b-256 checksum How to use checksums |
b7a95cb24d462a1db809ce6a1dd166f89792ef267a97f4bb2a16a8308819e777
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
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 Jan 24, 2026.
Transparency logRelease files / vvcm-1.0.0-cp310-cp310-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
| Download URL | vvcm-1.0.0-cp310-cp310-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl |
|---|---|
| Size | 2.0 MB |
| Tags | CPython 3.10 Linux glibc 2.27+ ARM64 Linux glibc 2.28+ ARM64 |
|
SHA-256 checksum How to use checksums |
d9cecc0a2a73bbb98f500130df4961c5fb2fee6e31c4dbc33577e1b448f8ae43
|
|
BLAKE2b-256 checksum How to use checksums |
12b51f49ad31f72f09fc9d925c699fb54a38fea8213417cd2adbf452c21cff8c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
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 Jan 24, 2026.
Transparency logRelease files / vvcm-1.0.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
| Download URL | vvcm-1.0.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl |
|---|---|
| Size | 2.0 MB |
| Tags | CPython 3.10 Linux glibc 2.17+ x86-64 |
|
SHA-256 checksum How to use checksums |
60d3d2a085f6e3e0bf2f1619ca63e77c1818ec98001167385d3274a405b5d0da
|
|
BLAKE2b-256 checksum How to use checksums |
d87265a1ef2f8960540054a66c7a456e9f8348b45b95c7f38b29d09c1a7a68b7
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
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 Jan 24, 2026.
Transparency logRelease files / vvcm-1.0.0-cp310-cp310-macosx_11_0_arm64.whl
| Download URL | vvcm-1.0.0-cp310-cp310-macosx_11_0_arm64.whl |
|---|---|
| Size | 2.0 MB |
| Tags | CPython 3.10 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
e230350f5884a4f8b687223c2bba76bf63fac77577a25c336bbd83038a13aab8
|
|
BLAKE2b-256 checksum How to use checksums |
fd1fbf8762df9750e5d2aeda4b434c3c753c62b82827e791657c5f1a427c09e4
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
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 Jan 24, 2026.
Transparency logRelease files / vvcm-1.0.0-cp39-cp39-win_amd64.whl
| Download URL | vvcm-1.0.0-cp39-cp39-win_amd64.whl |
|---|---|
| Size | 2.0 MB |
| Tags | CPython 3.9 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
72b2ae8911124bf3a6e2404e378e679a8d98828010a4f0282d0db06ba69c706d
|
|
BLAKE2b-256 checksum How to use checksums |
a86527a83bf5b0641848e484c9a9dabd7944e5fca7738f821539e6d966965005
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
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 Jan 24, 2026.
Transparency logRelease files / vvcm-1.0.0-cp39-cp39-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
| Download URL | vvcm-1.0.0-cp39-cp39-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl |
|---|---|
| Size | 2.0 MB |
| Tags | CPython 3.9 Linux glibc 2.27+ ARM64 Linux glibc 2.28+ ARM64 |
|
SHA-256 checksum How to use checksums |
7b83838448b604c2de52290266a2e1ff0d840e360091204a7a81e7f368a0dd80
|
|
BLAKE2b-256 checksum How to use checksums |
3d09538b432ac07876ce08372fc8de92fca8c6f9bf5c082fa4cf1717a7a92d2e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
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 Jan 24, 2026.
Transparency logRelease files / vvcm-1.0.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
| Download URL | vvcm-1.0.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl |
|---|---|
| Size | 2.0 MB |
| Tags | CPython 3.9 Linux glibc 2.17+ x86-64 |
|
SHA-256 checksum How to use checksums |
19b6297522b0ede09e74a236f73df08e703a7512a3c73b99ececbe13de9a1b8f
|
|
BLAKE2b-256 checksum How to use checksums |
f860bc69c57be9a0eae41a582027fd67782fafc1f7b67aafb5fd6e7f084894b1
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
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 Jan 24, 2026.
Transparency logRelease files / vvcm-1.0.0-cp39-cp39-macosx_11_0_arm64.whl
| Download URL | vvcm-1.0.0-cp39-cp39-macosx_11_0_arm64.whl |
|---|---|
| Size | 2.0 MB |
| Tags | CPython 3.9 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
1ae24d67ce852de5ca6ec1e8609286be311b74f8a19bcd4bf1c688a915ef5035
|
|
BLAKE2b-256 checksum How to use checksums |
c94fc10ba2e4b37208b5fb54f3997a0424ab98ecac7833f076c4d170bf087199
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
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 Jan 24, 2026.
Transparency log