Python bindings for the VCell moving-boundary parabolic PDE solver
Project description
VCell Moving Boundary Solver
A C++ solver library for moving-boundary problems in biological systems. A single build produces three artifacts:
| Artifact | Description |
|---|---|
MovingBoundarySolver |
Standalone command-line binary |
libMovingBoundaryLib |
Linkable static (or shared) library |
vcellmbsolver_py |
Python extension module (pybind11) |
Prerequisites
All platforms
| Dependency | Notes |
|---|---|
| CMake ≥ 3.13 | https://cmake.org/download/ |
| C++14 compiler | GCC 7+, Clang 6+, MSVC 2017+ |
| HDF5 (C + C++) | See platform sections below |
| Python 3 + headers | Python 3.8+ recommended |
| pybind11 | pip install pybind11 or system package |
| All former VCell monorepo dependencies (FronTier, ExpressionParser, | |
| vcommons) are bundled in this repo and built automatically — no external | |
| paths required. |
Building
Ubuntu / Debian
# System dependencies
sudo apt-get install cmake libhdf5-dev python3-dev python3-pip
pip3 install pybind11
# Configure (substitute your actual library paths)
cmake -S . -B build -DCMAKE_BUILD_TYPE=Release
# Build everything
cmake --build build --parallel
Output files land in build/bin/:
build/bin/
MovingBoundarySolver # binary
libMovingBoundaryLib.a # static library
vcellmbsolver_py.cpython-*.so # Python module
macOS
# Dependencies via Homebrew
brew install cmake hdf5 python pybind11
# Configure
cmake -S . -B build -DCMAKE_BUILD_TYPE=Release
# Build everything
cmake --build build --parallel
For Apple Silicon the build system detects the architecture automatically and
sets -DCMAKE_OSX_ARCHITECTURES=arm64. On Intel Macs it sets x86_64.
Windows (Visual Studio)
Install prerequisites:
- CMake
- Python 3 (check "Add to PATH")
- HDF5: use the official HDF Group Windows installer or vcpkg
(
vcpkg install hdf5) - pybind11:
pip install pybind11or vcpkg (vcpkg install pybind11)
cmake -S . -B build
cmake --build build --config Release --parallel
If using vcpkg, add -DCMAKE_TOOLCHAIN_FILE=C:\vcpkg\scripts\buildsystems\vcpkg.cmake
to the configure step so CMake finds the vcpkg-installed packages automatically.
Output files land in build\bin\Release\.
Build options
| CMake variable | Default | Description |
|---|---|---|
CMAKE_BUILD_TYPE |
Release |
Release, Debug, RelWithDebInfo, MinSizeRel |
BUILD_SHARED_LIBS |
OFF |
Build libMovingBoundaryLib as a shared library instead of static |
BUILD_TESTING |
ON |
Also build the TestMovingBoundary test executable |
VARIABLE_SPECIES_STORAGE |
OFF |
Enable dynamic species storage (-DMB_VARY_MASS) |
Example — debug build, shared library, no tests:
cmake -S . -B build \
-DCMAKE_BUILD_TYPE=Debug \
-DBUILD_SHARED_LIBS=ON \
-DBUILD_TESTING=OFF \
cmake --build build --parallel
Running the tests
Tests are built by default (BUILD_TESTING=ON). After a successful build:
cd build
ctest --output-on-failure
Test suites
All three suites run automatically when you invoke ctest. The Python tests
require pytest (pip install pytest).
| Suite | Name in ctest | Framework |
|---|---|---|
| Moving boundary unit tests (~150 cases) | TestMovingBoundary.* |
Google Test |
| Expression parser smoke test | ExpressionParserTest |
custom main |
| Python wrapper tests | PyVcellMbSolver |
pytest |
Python test prerequisites
No manual setup required. CMake creates an isolated virtual environment in
build/python_venv/ at configure time and installs pytest into it
automatically. The venv is recreated on every cmake -S . -B build run.
The Python tests import vcellmbsolver_py (the compiled extension) and
vcellmbsolver (the pure-Python wrapper in python/). ctest sets
PYTHONPATH so both are importable from the build tree without installation.
Useful ctest options
# Run in parallel
ctest --output-on-failure -j$(nproc)
# Run only tests whose name matches a pattern
ctest --output-on-failure -R "algo"
ctest --output-on-failure -R "ExpressionParser"
ctest --output-on-failure -R "PyVcellMbSolver"
# List all registered tests without running them
ctest -N
# Show full output even for passing tests
ctest -V
Running the Python tests directly
After configuring, the venv already has pytest installed. Run the suite
directly using the venv's Python:
PYTHONPATH=build/bin:python build/python_venv/bin/python -m pytest python/tests -v
On Windows, substitute build\python_venv\Scripts\python.exe.
Skipping tests
Pass -DBUILD_TESTING=OFF at configure time to skip building and registering
the test executables entirely (this also disables the Python tests):
cmake -S . -B build -DBUILD_TESTING=OFF
Using the binary
./build/bin/MovingBoundarySolver <input.xml> <output.h5>
The input file format is described in metadata/MovingBoundarySolverInputFile.docx
and validated by Solver/MovingBoundarySetup.xsd.
Linking the library
Add to your project's CMakeLists.txt:
find_library(MB_LIB MovingBoundaryLib HINTS /path/to/vcell-mbsolver/build/bin)
find_path(MB_INCLUDE MovingBoundaryParabolicProblem.h
HINTS /path/to/vcell-mbsolver/Solver/include)
target_link_libraries(my_target PRIVATE ${MB_LIB})
target_include_directories(my_target PRIVATE ${MB_INCLUDE})
Or install the project first and use the installed headers under
<prefix>/include/vcell-mbsolver/.
Using the Python module
The bindings are shipped as the pyvcell_mbsolver package: the compiled
extension is the private submodule pyvcell_mbsolver._core, and the high-level
wrapper (MovingBoundarySolver, observer base classes) is the package itself.
import sys
sys.path.insert(0, "/path/to/vcell-mbsolver/build/bin")
import pyvcell_mbsolver
from pyvcell_mbsolver import MovingBoundarySolver # high-level wrapper
from pyvcell_mbsolver import _core # low-level C++ API
# See python/pyvcellmbsolver.cpp for the exposed _core API
After cmake --install build --prefix /usr/local, the package is installed to
the active Python's site-packages and importable directly:
import pyvcell_mbsolver
Python package & wheels
The repository also ships a PEP 517 build
configuration (pyproject.toml, using the
scikit-build-core backend) that
drives the same CMake build to produce an installable Python wheel. The wheel
contains only the pyvcell_mbsolver package (the _core extension and its
pure-Python wrapper) — not the C++ library, CLI binary, or headers.
Install from a downloaded wheel
CI builds redistributable wheels for Linux (x86_64 + arm64) and macOS (x86_64 + arm64, macOS 15+) and uploads them as workflow artifacts (see the Wheels GitHub Actions workflow). Download the wheel for your platform/Python version and:
pip install pyvcell_mbsolver-<version>-<tags>.whl
python -c "import pyvcell_mbsolver; from pyvcell_mbsolver import _core; print('ok')"
The wheels are self-contained: the shared HDF5 libraries are vendored in by the
wheel-repair step (auditwheel / delocate), so no system HDF5 install is
required to use a wheel.
Windows is not currently supported. The bundled FronTier library is Unix/GCC code that does not compile under MSVC (its
POINT/booleantypes clash with the Windows SDK and it relies on GCC anonymous-struct extensions). Windows users can build/run under WSL using the Linux wheels.
Build a wheel locally
Building from source still needs the native toolchain and dependencies from the Prerequisites section (CMake, a C++14 compiler, HDF5, Boost):
pip install build
python -m build --wheel # writes dist/vcellmbsolver-*.whl
pip install dist/vcellmbsolver-*.whl
pip install . works too. Wheel builds set BUILD_TESTING=OFF and
OPTION_TARGET_MESSAGING=OFF automatically (see [tool.scikit-build] in
pyproject.toml).
Publishing to PyPI
The Wheels workflow has a publish job that uploads the built wheels and
sdist to PyPI via trusted publishing
(OIDC — no stored API token). It runs only on v* tag pushes and stays
dormant until a one-time setup is done on PyPI:
- Register the project on PyPI (claim the
pyvcell_mbsolvername). - Under the project's Publishing settings, add a trusted publisher:
- Owner:
virtualcell, Repository:vcell-mbsolver - Workflow:
wheels.yml, Environment:pypi
- Owner:
- Create the
pypienvironment in the repo settings (optionally with reviewers/branch protection).
Once configured, pushing a vX.Y.Z tag builds all wheels and publishes them.
Until then, normal pushes and PRs simply produce downloadable wheel artifacts.
Dry run on TestPyPI first (recommended)
The workflow also has a publish-testpypi job to rehearse the release against
TestPyPI before touching real PyPI. It runs only when
the workflow is manually dispatched with the testpypi flag, and needs its
own one-time setup mirroring the above:
- Create a TestPyPI account (separate from PyPI; 2FA required).
- At https://test.pypi.org/manage/account/publishing/, add a pending
publisher:
- PyPI Project Name:
pyvcell_mbsolver - Owner:
virtualcell, Repository:vcell-mbsolver - Workflow:
wheels.yml, Environment:testpypi
- PyPI Project Name:
- Create a
testpypienvironment in the repo settings.
Then trigger the dry run (no tag needed):
gh workflow run wheels.yml -f testpypi=true
(or Actions → Wheels → Run workflow, check the box). It builds all wheels +
sdist and uploads them to TestPyPI; skip-existing keeps repeat runs of the
same version from failing. Verify at
https://test.pypi.org/project/pyvcell-mbsolver/, then do the real release by
tagging vX.Y.Z.
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 pyvcell_mbsolver-1.0.0.tar.gz.
File metadata
- Download URL: pyvcell_mbsolver-1.0.0.tar.gz
- Upload date:
- Size: 2.0 MB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7a1ad025b924d6dba90e4a25989d060f60ae6be6faf7db8a42ec52d28f7d83bb
|
|
| MD5 |
dcc53ffdbb6d22cae64d9c9939b7c8f5
|
|
| BLAKE2b-256 |
53c36b18d96bcd05913f5c4da5a4046d249c479efbd2eb245ed825cab2a74a1c
|
Provenance
The following attestation bundles were made for pyvcell_mbsolver-1.0.0.tar.gz:
Publisher:
wheels.yml on virtualcell/vcell-mbsolver
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
pyvcell_mbsolver-1.0.0.tar.gz -
Subject digest:
7a1ad025b924d6dba90e4a25989d060f60ae6be6faf7db8a42ec52d28f7d83bb - Sigstore transparency entry: 1933357966
- Sigstore integration time:
-
Permalink:
virtualcell/vcell-mbsolver@f612d6b1ea433ef59165a8b3565a6ba42e534503 -
Branch / Tag:
refs/tags/v1.0.0 - Owner: https://github.com/virtualcell
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
wheels.yml@f612d6b1ea433ef59165a8b3565a6ba42e534503 -
Trigger Event:
push
-
Statement type:
File details
Details for the file pyvcell_mbsolver-1.0.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.
File metadata
- Download URL: pyvcell_mbsolver-1.0.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
- Upload date:
- Size: 3.4 MB
- Tags: CPython 3.13, manylinux: glibc 2.27+ x86-64, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d22811b8ff6c077b6cb1eb4f284c865860e19ed136a130323d57ec632145e827
|
|
| MD5 |
fad2061bf97e65ef0cf5187dbb09b467
|
|
| BLAKE2b-256 |
0c762a0fdaa267f8a90f1cfdd87bb02f03156ff0e12eaf72e7bc7b58886b7b60
|
Provenance
The following attestation bundles were made for pyvcell_mbsolver-1.0.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:
Publisher:
wheels.yml on virtualcell/vcell-mbsolver
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
pyvcell_mbsolver-1.0.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl -
Subject digest:
d22811b8ff6c077b6cb1eb4f284c865860e19ed136a130323d57ec632145e827 - Sigstore transparency entry: 1933359510
- Sigstore integration time:
-
Permalink:
virtualcell/vcell-mbsolver@f612d6b1ea433ef59165a8b3565a6ba42e534503 -
Branch / Tag:
refs/tags/v1.0.0 - Owner: https://github.com/virtualcell
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
wheels.yml@f612d6b1ea433ef59165a8b3565a6ba42e534503 -
Trigger Event:
push
-
Statement type:
File details
Details for the file pyvcell_mbsolver-1.0.0-cp313-cp313-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl.
File metadata
- Download URL: pyvcell_mbsolver-1.0.0-cp313-cp313-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
- Upload date:
- Size: 3.2 MB
- Tags: CPython 3.13, manylinux: glibc 2.27+ ARM64, manylinux: glibc 2.28+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8671d1bce48af578982e2e9d87344295ff1f83a95066bf11171764f3e3da2c59
|
|
| MD5 |
a4ee6de9adbedf0be9b6a1e648660769
|
|
| BLAKE2b-256 |
02a104f71b0f10a4677460225dee437d13a361a802242232155842a4bafd9543
|
Provenance
The following attestation bundles were made for pyvcell_mbsolver-1.0.0-cp313-cp313-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl:
Publisher:
wheels.yml on virtualcell/vcell-mbsolver
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
pyvcell_mbsolver-1.0.0-cp313-cp313-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl -
Subject digest:
8671d1bce48af578982e2e9d87344295ff1f83a95066bf11171764f3e3da2c59 - Sigstore transparency entry: 1933358984
- Sigstore integration time:
-
Permalink:
virtualcell/vcell-mbsolver@f612d6b1ea433ef59165a8b3565a6ba42e534503 -
Branch / Tag:
refs/tags/v1.0.0 - Owner: https://github.com/virtualcell
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
wheels.yml@f612d6b1ea433ef59165a8b3565a6ba42e534503 -
Trigger Event:
push
-
Statement type:
File details
Details for the file pyvcell_mbsolver-1.0.0-cp313-cp313-macosx_15_0_x86_64.whl.
File metadata
- Download URL: pyvcell_mbsolver-1.0.0-cp313-cp313-macosx_15_0_x86_64.whl
- Upload date:
- Size: 3.4 MB
- Tags: CPython 3.13, macOS 15.0+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7baf922a9c0875dff9f81cbd4b80fd4fd244d71dc41d54290f34498403c2c535
|
|
| MD5 |
13dc624b66358c220f888501d9055e4c
|
|
| BLAKE2b-256 |
0654da3da1f61a0111ab92f856768269c177b1102aa161971495875802f85f52
|
Provenance
The following attestation bundles were made for pyvcell_mbsolver-1.0.0-cp313-cp313-macosx_15_0_x86_64.whl:
Publisher:
wheels.yml on virtualcell/vcell-mbsolver
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
pyvcell_mbsolver-1.0.0-cp313-cp313-macosx_15_0_x86_64.whl -
Subject digest:
7baf922a9c0875dff9f81cbd4b80fd4fd244d71dc41d54290f34498403c2c535 - Sigstore transparency entry: 1933360981
- Sigstore integration time:
-
Permalink:
virtualcell/vcell-mbsolver@f612d6b1ea433ef59165a8b3565a6ba42e534503 -
Branch / Tag:
refs/tags/v1.0.0 - Owner: https://github.com/virtualcell
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
wheels.yml@f612d6b1ea433ef59165a8b3565a6ba42e534503 -
Trigger Event:
push
-
Statement type:
File details
Details for the file pyvcell_mbsolver-1.0.0-cp313-cp313-macosx_15_0_arm64.whl.
File metadata
- Download URL: pyvcell_mbsolver-1.0.0-cp313-cp313-macosx_15_0_arm64.whl
- Upload date:
- Size: 3.0 MB
- Tags: CPython 3.13, macOS 15.0+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7d362feea354076925db5dde5995cb6ccd8253ee2450be5d7e8b9eb616e9e61a
|
|
| MD5 |
483df7bd2afd56068855e140f1feb60c
|
|
| BLAKE2b-256 |
f8aace0cbce26fc4bcec46e4bed52786984389d08750eb448e641fd17309044f
|
Provenance
The following attestation bundles were made for pyvcell_mbsolver-1.0.0-cp313-cp313-macosx_15_0_arm64.whl:
Publisher:
wheels.yml on virtualcell/vcell-mbsolver
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
pyvcell_mbsolver-1.0.0-cp313-cp313-macosx_15_0_arm64.whl -
Subject digest:
7d362feea354076925db5dde5995cb6ccd8253ee2450be5d7e8b9eb616e9e61a - Sigstore transparency entry: 1933358431
- Sigstore integration time:
-
Permalink:
virtualcell/vcell-mbsolver@f612d6b1ea433ef59165a8b3565a6ba42e534503 -
Branch / Tag:
refs/tags/v1.0.0 - Owner: https://github.com/virtualcell
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
wheels.yml@f612d6b1ea433ef59165a8b3565a6ba42e534503 -
Trigger Event:
push
-
Statement type:
File details
Details for the file pyvcell_mbsolver-1.0.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.
File metadata
- Download URL: pyvcell_mbsolver-1.0.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
- Upload date:
- Size: 3.4 MB
- Tags: CPython 3.12, manylinux: glibc 2.27+ x86-64, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4926079e9c3b7d3ad403f46327dd9f5039d61b5196b1890d7c21a904e7c84b43
|
|
| MD5 |
d9bee1175853b110ee7d2b3f8fb6a9fa
|
|
| BLAKE2b-256 |
72f92dc128dd15ceb8dfa2f169d93d8c287450b602084e3fbd5a0faa723d6545
|
Provenance
The following attestation bundles were made for pyvcell_mbsolver-1.0.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:
Publisher:
wheels.yml on virtualcell/vcell-mbsolver
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
pyvcell_mbsolver-1.0.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl -
Subject digest:
4926079e9c3b7d3ad403f46327dd9f5039d61b5196b1890d7c21a904e7c84b43 - Sigstore transparency entry: 1933359204
- Sigstore integration time:
-
Permalink:
virtualcell/vcell-mbsolver@f612d6b1ea433ef59165a8b3565a6ba42e534503 -
Branch / Tag:
refs/tags/v1.0.0 - Owner: https://github.com/virtualcell
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
wheels.yml@f612d6b1ea433ef59165a8b3565a6ba42e534503 -
Trigger Event:
push
-
Statement type:
File details
Details for the file pyvcell_mbsolver-1.0.0-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl.
File metadata
- Download URL: pyvcell_mbsolver-1.0.0-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
- Upload date:
- Size: 3.2 MB
- Tags: CPython 3.12, manylinux: glibc 2.27+ ARM64, manylinux: glibc 2.28+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7af987d44b35079162b50ff2d8ccd45da6c40dbfb4549d0d9e85350327d81c20
|
|
| MD5 |
5517c2416b6a921cb992021a6a9ba1aa
|
|
| BLAKE2b-256 |
19b4f1de3603319847032b8290fa0bfebe9a614287f63bfc38f84bfa68e8be33
|
Provenance
The following attestation bundles were made for pyvcell_mbsolver-1.0.0-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl:
Publisher:
wheels.yml on virtualcell/vcell-mbsolver
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
pyvcell_mbsolver-1.0.0-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl -
Subject digest:
7af987d44b35079162b50ff2d8ccd45da6c40dbfb4549d0d9e85350327d81c20 - Sigstore transparency entry: 1933358616
- Sigstore integration time:
-
Permalink:
virtualcell/vcell-mbsolver@f612d6b1ea433ef59165a8b3565a6ba42e534503 -
Branch / Tag:
refs/tags/v1.0.0 - Owner: https://github.com/virtualcell
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
wheels.yml@f612d6b1ea433ef59165a8b3565a6ba42e534503 -
Trigger Event:
push
-
Statement type:
File details
Details for the file pyvcell_mbsolver-1.0.0-cp312-cp312-macosx_15_0_x86_64.whl.
File metadata
- Download URL: pyvcell_mbsolver-1.0.0-cp312-cp312-macosx_15_0_x86_64.whl
- Upload date:
- Size: 3.4 MB
- Tags: CPython 3.12, macOS 15.0+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
65f5a41f41ccafa72aab3901f3595360134a55f8e85eb3ac0380e3e5a8190948
|
|
| MD5 |
93deff77d0576de3bf9cdf5e136708b9
|
|
| BLAKE2b-256 |
465cfd1bade319edcb3ba07bf0cdfeb5d647273e802f77feb6333b486b360319
|
Provenance
The following attestation bundles were made for pyvcell_mbsolver-1.0.0-cp312-cp312-macosx_15_0_x86_64.whl:
Publisher:
wheels.yml on virtualcell/vcell-mbsolver
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
pyvcell_mbsolver-1.0.0-cp312-cp312-macosx_15_0_x86_64.whl -
Subject digest:
65f5a41f41ccafa72aab3901f3595360134a55f8e85eb3ac0380e3e5a8190948 - Sigstore transparency entry: 1933360822
- Sigstore integration time:
-
Permalink:
virtualcell/vcell-mbsolver@f612d6b1ea433ef59165a8b3565a6ba42e534503 -
Branch / Tag:
refs/tags/v1.0.0 - Owner: https://github.com/virtualcell
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
wheels.yml@f612d6b1ea433ef59165a8b3565a6ba42e534503 -
Trigger Event:
push
-
Statement type:
File details
Details for the file pyvcell_mbsolver-1.0.0-cp312-cp312-macosx_15_0_arm64.whl.
File metadata
- Download URL: pyvcell_mbsolver-1.0.0-cp312-cp312-macosx_15_0_arm64.whl
- Upload date:
- Size: 3.0 MB
- Tags: CPython 3.12, macOS 15.0+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f6e8a82c055475ee4021a0b822a7e2e460d09c2fbb6bca0507c6cb7a546ee19b
|
|
| MD5 |
e401b0fc8245a50a5f3860afaf25fc3e
|
|
| BLAKE2b-256 |
00574b66e80153a68788ee35b9ce2e5bee5d4a59f34a92d56495b05b4ef17985
|
Provenance
The following attestation bundles were made for pyvcell_mbsolver-1.0.0-cp312-cp312-macosx_15_0_arm64.whl:
Publisher:
wheels.yml on virtualcell/vcell-mbsolver
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
pyvcell_mbsolver-1.0.0-cp312-cp312-macosx_15_0_arm64.whl -
Subject digest:
f6e8a82c055475ee4021a0b822a7e2e460d09c2fbb6bca0507c6cb7a546ee19b - Sigstore transparency entry: 1933360648
- Sigstore integration time:
-
Permalink:
virtualcell/vcell-mbsolver@f612d6b1ea433ef59165a8b3565a6ba42e534503 -
Branch / Tag:
refs/tags/v1.0.0 - Owner: https://github.com/virtualcell
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
wheels.yml@f612d6b1ea433ef59165a8b3565a6ba42e534503 -
Trigger Event:
push
-
Statement type:
File details
Details for the file pyvcell_mbsolver-1.0.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.
File metadata
- Download URL: pyvcell_mbsolver-1.0.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
- Upload date:
- Size: 3.4 MB
- Tags: CPython 3.11, manylinux: glibc 2.27+ x86-64, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e431595b6bc39a4e8f89bc5e80abbea3286bf6ba8c9dda9978a02d222c12f097
|
|
| MD5 |
3e965eda332b9b38895b2d16a376bf0e
|
|
| BLAKE2b-256 |
b27032ab53b90ecae8a6bbb256a2d989735378237a9c5938e44a48111ea6c3b1
|
Provenance
The following attestation bundles were made for pyvcell_mbsolver-1.0.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:
Publisher:
wheels.yml on virtualcell/vcell-mbsolver
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
pyvcell_mbsolver-1.0.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl -
Subject digest:
e431595b6bc39a4e8f89bc5e80abbea3286bf6ba8c9dda9978a02d222c12f097 - Sigstore transparency entry: 1933358345
- Sigstore integration time:
-
Permalink:
virtualcell/vcell-mbsolver@f612d6b1ea433ef59165a8b3565a6ba42e534503 -
Branch / Tag:
refs/tags/v1.0.0 - Owner: https://github.com/virtualcell
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
wheels.yml@f612d6b1ea433ef59165a8b3565a6ba42e534503 -
Trigger Event:
push
-
Statement type:
File details
Details for the file pyvcell_mbsolver-1.0.0-cp311-cp311-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl.
File metadata
- Download URL: pyvcell_mbsolver-1.0.0-cp311-cp311-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
- Upload date:
- Size: 3.2 MB
- Tags: CPython 3.11, manylinux: glibc 2.27+ ARM64, manylinux: glibc 2.28+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ab41460d8ac8e3cd20f86e8bcc63719c7396a015a2cf5529a529e1633d6f54ec
|
|
| MD5 |
1f229e017a8c84aa258870bd6cda0cce
|
|
| BLAKE2b-256 |
8b46f44685330674097c9e1b8f78e85392196054af26db8a3e48452c134e9520
|
Provenance
The following attestation bundles were made for pyvcell_mbsolver-1.0.0-cp311-cp311-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl:
Publisher:
wheels.yml on virtualcell/vcell-mbsolver
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
pyvcell_mbsolver-1.0.0-cp311-cp311-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl -
Subject digest:
ab41460d8ac8e3cd20f86e8bcc63719c7396a015a2cf5529a529e1633d6f54ec - Sigstore transparency entry: 1933358856
- Sigstore integration time:
-
Permalink:
virtualcell/vcell-mbsolver@f612d6b1ea433ef59165a8b3565a6ba42e534503 -
Branch / Tag:
refs/tags/v1.0.0 - Owner: https://github.com/virtualcell
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
wheels.yml@f612d6b1ea433ef59165a8b3565a6ba42e534503 -
Trigger Event:
push
-
Statement type:
File details
Details for the file pyvcell_mbsolver-1.0.0-cp311-cp311-macosx_15_0_x86_64.whl.
File metadata
- Download URL: pyvcell_mbsolver-1.0.0-cp311-cp311-macosx_15_0_x86_64.whl
- Upload date:
- Size: 3.4 MB
- Tags: CPython 3.11, macOS 15.0+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
02c7b8ba1f500b8f09548e40e4e9f2dd5289412d9225a6d998e368965cc849ac
|
|
| MD5 |
0600d40e67e03f2f533a1fa87c0caa74
|
|
| BLAKE2b-256 |
8bfda26499ee363a7e65fc79fe6c6f511f72ca042a6955aa15f3d6820ad16500
|
Provenance
The following attestation bundles were made for pyvcell_mbsolver-1.0.0-cp311-cp311-macosx_15_0_x86_64.whl:
Publisher:
wheels.yml on virtualcell/vcell-mbsolver
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
pyvcell_mbsolver-1.0.0-cp311-cp311-macosx_15_0_x86_64.whl -
Subject digest:
02c7b8ba1f500b8f09548e40e4e9f2dd5289412d9225a6d998e368965cc849ac - Sigstore transparency entry: 1933360479
- Sigstore integration time:
-
Permalink:
virtualcell/vcell-mbsolver@f612d6b1ea433ef59165a8b3565a6ba42e534503 -
Branch / Tag:
refs/tags/v1.0.0 - Owner: https://github.com/virtualcell
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
wheels.yml@f612d6b1ea433ef59165a8b3565a6ba42e534503 -
Trigger Event:
push
-
Statement type:
File details
Details for the file pyvcell_mbsolver-1.0.0-cp311-cp311-macosx_15_0_arm64.whl.
File metadata
- Download URL: pyvcell_mbsolver-1.0.0-cp311-cp311-macosx_15_0_arm64.whl
- Upload date:
- Size: 3.0 MB
- Tags: CPython 3.11, macOS 15.0+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
93068fff9a4d3b38a587cc824b3f590cf9ede0d7eb1a9b0f7fb7c3d3e8238517
|
|
| MD5 |
017c82cafc39a648a489930da86b5f69
|
|
| BLAKE2b-256 |
8c6e284a44fa20c1ff08836226dd5e9ef3c63e5f02feb727c05842ca4d0ed922
|
Provenance
The following attestation bundles were made for pyvcell_mbsolver-1.0.0-cp311-cp311-macosx_15_0_arm64.whl:
Publisher:
wheels.yml on virtualcell/vcell-mbsolver
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
pyvcell_mbsolver-1.0.0-cp311-cp311-macosx_15_0_arm64.whl -
Subject digest:
93068fff9a4d3b38a587cc824b3f590cf9ede0d7eb1a9b0f7fb7c3d3e8238517 - Sigstore transparency entry: 1933358692
- Sigstore integration time:
-
Permalink:
virtualcell/vcell-mbsolver@f612d6b1ea433ef59165a8b3565a6ba42e534503 -
Branch / Tag:
refs/tags/v1.0.0 - Owner: https://github.com/virtualcell
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
wheels.yml@f612d6b1ea433ef59165a8b3565a6ba42e534503 -
Trigger Event:
push
-
Statement type:
File details
Details for the file pyvcell_mbsolver-1.0.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.
File metadata
- Download URL: pyvcell_mbsolver-1.0.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
- Upload date:
- Size: 3.4 MB
- Tags: CPython 3.10, manylinux: glibc 2.27+ x86-64, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8cc0dfcf9d53ae48c49d8b61bd411628f83ca540d0e1213e92b307a6ea35a698
|
|
| MD5 |
fd9fb473ca15684c8c76109affa2774a
|
|
| BLAKE2b-256 |
36a8fee2d8ec9a720a6104c805b549c80faca53708c6fcd7d8e05256f95901cb
|
Provenance
The following attestation bundles were made for pyvcell_mbsolver-1.0.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:
Publisher:
wheels.yml on virtualcell/vcell-mbsolver
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
pyvcell_mbsolver-1.0.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl -
Subject digest:
8cc0dfcf9d53ae48c49d8b61bd411628f83ca540d0e1213e92b307a6ea35a698 - Sigstore transparency entry: 1933358770
- Sigstore integration time:
-
Permalink:
virtualcell/vcell-mbsolver@f612d6b1ea433ef59165a8b3565a6ba42e534503 -
Branch / Tag:
refs/tags/v1.0.0 - Owner: https://github.com/virtualcell
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
wheels.yml@f612d6b1ea433ef59165a8b3565a6ba42e534503 -
Trigger Event:
push
-
Statement type:
File details
Details for the file pyvcell_mbsolver-1.0.0-cp310-cp310-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl.
File metadata
- Download URL: pyvcell_mbsolver-1.0.0-cp310-cp310-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
- Upload date:
- Size: 3.2 MB
- Tags: CPython 3.10, manylinux: glibc 2.27+ ARM64, manylinux: glibc 2.28+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1ed15f816224919c7c98de8fb7016769c1313fe360d0b3ffdd8c7b9866bc12e0
|
|
| MD5 |
c1ddb4417453e61a3e0d8a45ac419bd5
|
|
| BLAKE2b-256 |
7b742977a72f8abcc00f18d5a2291bd1d6533471d5af181cbab358d74f27af39
|
Provenance
The following attestation bundles were made for pyvcell_mbsolver-1.0.0-cp310-cp310-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl:
Publisher:
wheels.yml on virtualcell/vcell-mbsolver
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
pyvcell_mbsolver-1.0.0-cp310-cp310-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl -
Subject digest:
1ed15f816224919c7c98de8fb7016769c1313fe360d0b3ffdd8c7b9866bc12e0 - Sigstore transparency entry: 1933360192
- Sigstore integration time:
-
Permalink:
virtualcell/vcell-mbsolver@f612d6b1ea433ef59165a8b3565a6ba42e534503 -
Branch / Tag:
refs/tags/v1.0.0 - Owner: https://github.com/virtualcell
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
wheels.yml@f612d6b1ea433ef59165a8b3565a6ba42e534503 -
Trigger Event:
push
-
Statement type:
File details
Details for the file pyvcell_mbsolver-1.0.0-cp310-cp310-macosx_15_0_x86_64.whl.
File metadata
- Download URL: pyvcell_mbsolver-1.0.0-cp310-cp310-macosx_15_0_x86_64.whl
- Upload date:
- Size: 3.4 MB
- Tags: CPython 3.10, macOS 15.0+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
88a6d94bde508b23f19fd476b81f81db06473532da74b7f0404013ee4dc8e5ed
|
|
| MD5 |
503f0958d09571db5d72d72e1c5550f2
|
|
| BLAKE2b-256 |
3b94eec0a6c65bfa6dfb88e4e80f6d8f6da90e5bb54f4c56d8ae701d787a5e23
|
Provenance
The following attestation bundles were made for pyvcell_mbsolver-1.0.0-cp310-cp310-macosx_15_0_x86_64.whl:
Publisher:
wheels.yml on virtualcell/vcell-mbsolver
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
pyvcell_mbsolver-1.0.0-cp310-cp310-macosx_15_0_x86_64.whl -
Subject digest:
88a6d94bde508b23f19fd476b81f81db06473532da74b7f0404013ee4dc8e5ed - Sigstore transparency entry: 1933358507
- Sigstore integration time:
-
Permalink:
virtualcell/vcell-mbsolver@f612d6b1ea433ef59165a8b3565a6ba42e534503 -
Branch / Tag:
refs/tags/v1.0.0 - Owner: https://github.com/virtualcell
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
wheels.yml@f612d6b1ea433ef59165a8b3565a6ba42e534503 -
Trigger Event:
push
-
Statement type:
File details
Details for the file pyvcell_mbsolver-1.0.0-cp310-cp310-macosx_15_0_arm64.whl.
File metadata
- Download URL: pyvcell_mbsolver-1.0.0-cp310-cp310-macosx_15_0_arm64.whl
- Upload date:
- Size: 3.0 MB
- Tags: CPython 3.10, macOS 15.0+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0faa09e3ca36ed1f00c2ec9bb48acede64440432a87c458c6501a424bf7cdafe
|
|
| MD5 |
66e59d0d87054fcb2449558d248cce8f
|
|
| BLAKE2b-256 |
508f1bea0468e598e3cf3145e415c0ed8e71d6dbd3949cf35dcdc8e2194f82e5
|
Provenance
The following attestation bundles were made for pyvcell_mbsolver-1.0.0-cp310-cp310-macosx_15_0_arm64.whl:
Publisher:
wheels.yml on virtualcell/vcell-mbsolver
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
pyvcell_mbsolver-1.0.0-cp310-cp310-macosx_15_0_arm64.whl -
Subject digest:
0faa09e3ca36ed1f00c2ec9bb48acede64440432a87c458c6501a424bf7cdafe - Sigstore transparency entry: 1933359908
- Sigstore integration time:
-
Permalink:
virtualcell/vcell-mbsolver@f612d6b1ea433ef59165a8b3565a6ba42e534503 -
Branch / Tag:
refs/tags/v1.0.0 - Owner: https://github.com/virtualcell
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
wheels.yml@f612d6b1ea433ef59165a8b3565a6ba42e534503 -
Trigger Event:
push
-
Statement type: