Github Actions status:
Coverage status:
Semi-analytical methods for plates, shells and stiffened panels
- Linear and non-linear static analyses, with field outputs of displacements, strains and stresses
- Linear buckling
- Vibration, with or without pre-stress
- Panel flutter using the piston theory
- Geometrically non-linear static analyses (postbuckling) using the Newton-Raphson method or the arc-length methods of Riks and Crisfield, with the product of the tangent stiffness matrix by a vector available without assembly
- Dead or follower (hydrostatic) pressure loads, with the unsymmetric load stiffness of the follower pressure
- Multi-domain assemblies of plates, cylindrical shells, cylinders, stiffened panels, with the domains connected exactly with the null-space method, the default, or by penalty stiffnesses. Debonding defects or cohesive zone can be simulated
- Prescribed displacements and rotations imposed exactly with the null-space method,
MultiDomain(..., pd_method='null-space'), for displacement control in linear static, linear buckling and geometrically non-linear (Newton-Raphson, Riks, Crisfield) analyses, with the reaction forces; or by penalty stiffnesses, the default - CLPT, FSDT and TSDT kinematics for plates and cylindrical shells
- Donnell and Sanders-Koiter kinematics for cylindrical shells
The structural matrices are solved with structsolve.
Citing this library
Saullo G. P. Castro, Nathan D'Souza. (2026). Semi-analytical methods for plates, shells and stiffened panels (Version 0.13.2). Zenodo. DOI: https://doi.org/10.5281/zenodo.2541522.
Documentation
The documentation is available on: https://saullocastro.github.io/panels.
Installation
To get the latest version:
python -m pip install panels
Running in the browser with Pyodide
A WebAssembly wheel is published on PyPI for Pyodide
314 (CPython 3.14), such that panels runs in the browser, e.g. in
JupyterLite or in a web page with Pyodide. NumPy, SciPy and matplotlib come
with Pyodide, and micropip installs composites and structsolve from PyPI:
import micropip
await micropip.install("panels")
import io
from structsolve import lb
from panels.shell import Shell, load
s = Shell(a=0.6, b=0.4, stack=[0, 45, -45, 90], plyt=0.125e-3,
laminaprop=(142.5e9, 8.7e9, 0.28, 5.1e9, 5.1e9, 3.0e9), m=10, n=10)
s.Nxx = -1.
eigvals, eigvecs = lb(s.calc_kC(), s.calc_kG(), silent=True)
print('critical load: Nxx = %1.2f N/m' % -eigvals[0])
s.results['eigvals'] = eigvals
s.results['eigvecs'] = eigvecs
# saving to memory, since a web page has no file system
buf = io.BytesIO()
s.save(buf)
data = buf.getvalue()
# offering the file for download
from js import Blob, Object, URL, document
from pyodide.ffi import to_js
blob = Blob.new(to_js([data]), to_js({'type': 'application/zip'},
dict_converter=Object.fromEntries))
link = document.createElement('a')
link.href = URL.createObjectURL(blob)
link.download = 'plate.shell.zip'
link.click()
# loading the bytes back, e.g. from a file uploaded by the user
s2 = load(io.BytesIO(data))
In Pyodide the field outputs run serially, without OpenMP.
Saving and loading
Shell, StiffPanelBay and MultiDomain are saved with save() to a zip
file with the inputs in JSON and the arrays, such as the results, in NumPy's
.npy format, see panels.json_io. The files are independent of the Python
version, readable outside Python and safe to load from untrusted sources,
unlike pickle:
from panels.shell import load
s.name = 'plate'
s.save() # writes plate.shell.zip
s2 = load('plate')
The pickle files saved by older versions are no longer loaded, since a pickle
file can execute arbitrary code; one from a trusted source can be converted
by loading it with pickle.load() and saving the object again.
History
See CHANGELOG.md for the details of each version.
- version 0.13.2 (2026-10-14)
- Maintenance:
.gitignorewithout the runs ofthesis_timing.py
- Maintenance:
- version 0.13.1 (2026-10-14)
- Cohesive zone
'SB_TSL': rules of the discretisation of the cohesive domain,tsl_resolution(),tsl_margin()andtsl_discretization(), and a warning when the cohesive domain is under-resolved - No upper limit for the number of Gauss-Legendre points of
MultiDomain.calc_results()andMultiDomain.force() calc_kw_tsl()requiresk_i,tau_oandG1c
- Cohesive zone
- version 0.13.0 (2026-10-14)
Shell.calc_kTv()andMultiDomain.calc_kTv(): product of the tangent stiffness matrix by a vector without assembling it, for all the models, at the cost of one evaluation of the internal forces; used for the displacement control with prescribed displacements imposed exactly- The numerically integrated kernels evaluate the approximation functions once per integration point instead of in their innermost loops, with identical results: the non-linear matrices, the connections, the cohesive zone and the stiffeners are assembled several times faster
- Requires
structsolve>=0.8.0
- version 0.12.0 (2026-10-14)
- Prescribed displacements imposed exactly with the null-space method,
MultiDomain(..., pd_method='null-space'), as inhomogeneous linear constraintsc = T c_r + c_p0 + lbd*c_p1: linear static, linear buckling, Newton-Raphson and arc-length analyses under displacement control, reactionsMultiDomain.reaction_pd()andMultiDomain.reaction_resultant(), also for a singleShell; prescribed rotations; the penalty method remains the default - BUG:
fkCld_xcteandfkCld_ycteplaced the penalty stiffnesses ofkuandkvat the rows and columns ofw - Requires
structsolve>=0.7.0
- Prescribed displacements imposed exactly with the null-space method,
- version 0.11.1 (2026-10-08)
- Saving and loading in a zip file with JSON and NumPy arrays, replacing pickle:
Shell.save(),StiffPanelBay.save(),MultiDomain.save(), also toio.BytesIO, andpanels.json_io - Pyodide support:
await micropip.install("panels")in the browser, and the whole test suite runs in Pyodide in GitHub Actions - Requires
composites>=0.9.21andstructsolve>=0.6.1
- Saving and loading in a zip file with JSON and NumPy arrays, replacing pickle:
- version 0.11.0 (2026-10-07)
- Follower (hydrostatic) pressure loads,
Shell.add_pressure_load(..., follower=True), with the unsymmetric load stiffnesskCfollowerinShellandMultiDomain - Theory documentation, verification tests and validation notebooks of the follower pressure
- Interactive 3D plots of multi-domain assemblies with plotly,
MultiDomain.plot3d() - Improved Cython and compiler flags
- TSDT uses
Laminate.DtsandLaminate.Fts, requirescomposites>=0.9.12andstructsolve>=0.5.0
- Follower (hydrostatic) pressure loads,
- version 0.9.0 (2026-09-24)
- Null-space connection, exact, new default, as alternative to penalty-based connection
- version 0.8.0 (2026-09-23)
- FSDT and TSDT for plate and cylindrical shells
- Sanders-Koiter for cylindrical shells
- Shell and Multidomain connections supporting FSDT, TSDT and Sanders-Koiter kinematics
- Many improvements in the documentation
- New tests based on literature
- BUG fixes on aerodynamic matrix of cylindrical shells and mass matrix of stiffener 1D
- version 0.7.1 (2026-09-21)
- Fixed the cohesive zone of the
MultiDomainconnection'SB_TSL', which could not capture the onset of failure of the DCB: tangential separation with the rotation of each panel, tractions with the uncorrected separation and separation correction as in the thesis of D'Souza (2024) - Consistent tangent of the cohesive zone,
MultiDomain.calc_kT_TSL(), and faster assembly of the'SB_TSL'secant stiffness - The kernels
fkCSB11_dmg,fkCSB12_dmgandfkCSB22_dmgtake the distancesdtanddbfrom each mid-surface to the interface - Validation of the cohesive zone against mode I DCB results in the
literature, in
notebooks/, with a convergence study - Fixed
StiffPanelBay.save()withcomposites>=0.9.0
- Fixed the cohesive zone of the
- version 0.6.21 (2026-09-18)
- Fixed the mass of the base of
BladeStiff2D, which was missing, and the section forces ofMultiDomain.force(), which lacked the Jacobian StiffPanelBay.calc_kA()sums the contribution of every panel, andcalc_kA,calc_cA,calc_fext,save,get_sizeanduvw_stiffenerofStiffPanelBayandShell.calc_cAno longer raiseShell.strain()andShell.stress()work for a plate withr=None- Line coverage of the tests raised from 67 % to 92 %
- Fixed
StiffPanelBay.add_paneland the partial-domain integration ofShell.calc_kC,calc_kGandcalc_kM - The limits
Shell.x1, x2, y1, y2of the integration domain default toNoneinstead of the sentinels-1and+1, which silently integrated the full domain for a limit at1.0and ignored a limit given on one side only; the old-1now raises - Fixed the
MultiDomainskin-base connections: the'SB'penalty was a hard-coded mm-unit value, the top and bottom panels depended on their order in the assembly, and the connection dictionaries were modified - Penalty constants of each
MultiDomainconnection can be given with'kt'and'kr' - Reproduction of Stamatelos and Labeas with plate domains only in
tests/multidomain/test_stamatelos_labeas_2023_multidomain.py, using everyMultiDomainconnection - Fixed the argument handling of the stiffness API: an invalid
corc_cteno longer reaches the nogil kernels, and a model that needs a radius raises instead of computing withr = 0 - Reproduction of Stamatelos and Labeas (Computation 2023, 11, 110) in
notebooks/stamatelos_labeas_2023.ipynb - Tangent stiffness matrix that is the exact derivative of the internal force vector, giving quadratic convergence to the Newton-Raphson method
ShellandMultiDomaincan be passed directly tostructsolve.Analysis, including the arc-length methods- Gauss-Legendre points and weights from
scipy.special.roots_legendre - Modules of the models renamed without the
_bardellsuffix, and the legacy_bardellmodel names removed frompanels.modelDB.db - Sphinx documentation with usage examples
- Fixed the mass of the base of
- versions 0.5.x
- Damaged multidomain connections
- up to version 0.3.x
- Multidomain methods for pristine structures
License
Distributed under the 3-Clause BSD license (https://raw.github.com/saullocastro/panels/main/LICENSE).
Contact: S.G.P.Castro@tudelft.nl
Metadata
Release files for panels 0.13.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| panels-0.13.2.tar.gz | 7.8 MB | Details |
Built distributions (wheels)
Total release size: 339.3 MB
Release files / panels-0.13.2.tar.gz
| Download URL | panels-0.13.2.tar.gz |
|---|---|
| Size | 7.8 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
924e7990843ee266945b8390313f6f1d8b7673a84c9631f3c016ce5dafa4163b
|
|
BLAKE2b-256 checksum How to use checksums |
a4caec31ad4eba7312578cf71b0ec008ac2edeb598139be0b4e98f7ca86b68db
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
Release files / panels-0.13.2-cp314-cp314-win_amd64.whl
| Download URL | panels-0.13.2-cp314-cp314-win_amd64.whl |
|---|---|
| Size | 4.8 MB |
| Tags | CPython 3.14 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
28e0d40522a40c7a6dbcf767b16ee465c2a622899aa98d9dab668ca465293d84
|
|
BLAKE2b-256 checksum How to use checksums |
b8d5f33fd070ac33be5e0331cb2d34f1a9dd026c5375295017ad313321390444
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.7
|
Release files / panels-0.13.2-cp314-cp314-pyemscripten_2026_0_wasm32.whl
| Download URL | panels-0.13.2-cp314-cp314-pyemscripten_2026_0_wasm32.whl |
|---|---|
| Size | 10.5 MB |
| Tags | CPython 3.14 PyEmscripten 2026.0+ WebAssembly |
|
SHA-256 checksum How to use checksums |
82fd869e316ac642a3e7d9cc62edfbb90db99f0525c91420107c7e72e0ad7ae1
|
|
BLAKE2b-256 checksum How to use checksums |
793102275a3d09afca18db29c603fb7ce87334c5fc8d816c8589d7d88315ca14
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.8
|
Release files / panels-0.13.2-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
| Download URL | panels-0.13.2-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 38.8 MB |
| Tags | CPython 3.14 Linux glibc 2.17+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
9adceba5f6367bdf13704179d5284ea7476d01d2060ebb1663c276c37dac2922
|
|
BLAKE2b-256 checksum How to use checksums |
a1728f5a5fdb1c9f50cb6539a9c706d553dd2a80dce3848ac4032a983b77d5f2
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.8
|
Release files / panels-0.13.2-cp314-cp314-macosx_10_15_universal2.whl
| Download URL | panels-0.13.2-cp314-cp314-macosx_10_15_universal2.whl |
|---|---|
| Size | 10.3 MB |
| Tags | CPython 3.14 macOS 10.15+ universal2 (ARM64, x86-64) |
|
SHA-256 checksum How to use checksums |
91b05e2e419a13c2927a2ee2a3bd77e3ea4f5ac8113d6257c8207e82c9ec6be3
|
|
BLAKE2b-256 checksum How to use checksums |
1e9dad6d57ce841c1c74b91e66124edd58aca20584634a547345bb7ad85ac16f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.7
|
Release files / panels-0.13.2-cp313-cp313-win_amd64.whl
| Download URL | panels-0.13.2-cp313-cp313-win_amd64.whl |
|---|---|
| Size | 4.7 MB |
| Tags | CPython 3.13 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
933176cde11a4b262f761fce94d101928dba97da746c58bd0a9696ca09d91f7a
|
|
BLAKE2b-256 checksum How to use checksums |
8bcbe40483d15837e58798c8511264754a163756030968a1e929ae80c7801084
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.15
|
Release files / panels-0.13.2-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
| Download URL | panels-0.13.2-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 38.9 MB |
| Tags | CPython 3.13 Linux glibc 2.17+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
2219d5138dbd7a2d240e2e457ba488a413a8cb792777607ca9cf6ba4af4870ea
|
|
BLAKE2b-256 checksum How to use checksums |
6637d90441b6ab3e67bf574bfc881439eb8d9b61828697353862f93abcc70393
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
Release files / panels-0.13.2-cp313-cp313-macosx_10_13_universal2.whl
| Download URL | panels-0.13.2-cp313-cp313-macosx_10_13_universal2.whl |
|---|---|
| Size | 10.2 MB |
| Tags | CPython 3.13 macOS 10.13+ universal2 (ARM64, x86-64) |
|
SHA-256 checksum How to use checksums |
91936bb13e356c8e0a9246a7677ac339430173ed9b289a6280da58e11a9b4ef3
|
|
BLAKE2b-256 checksum How to use checksums |
f7c0f3dcecf1ffba349c97e64909d61f7074c9894e8f9356ea03842c614bbe7e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.15
|
Release files / panels-0.13.2-cp312-cp312-win_amd64.whl
| Download URL | panels-0.13.2-cp312-cp312-win_amd64.whl |
|---|---|
| Size | 4.7 MB |
| Tags | CPython 3.12 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
2d98f1f4084696c7bfcc239d202edf444dd864b131fa324c369218d73747c156
|
|
BLAKE2b-256 checksum How to use checksums |
cf204926743f0bb94917d4cd1ac01f6048ba540bbe9240f4a21511cf93af11fa
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.10
|
Release files / panels-0.13.2-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
| Download URL | panels-0.13.2-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 39.0 MB |
| Tags | CPython 3.12 Linux glibc 2.17+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
0dc036665e36203998367925e898fcee226c9bb71604d5b6df5276ae56de44b4
|
|
BLAKE2b-256 checksum How to use checksums |
bc356f7385e60ece0e5e6850a1f13e8fa0ca3c76f66fd38f91894f98cb1b56e7
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.15
|
Release files / panels-0.13.2-cp312-cp312-macosx_10_13_universal2.whl
| Download URL | panels-0.13.2-cp312-cp312-macosx_10_13_universal2.whl |
|---|---|
| Size | 10.0 MB |
| Tags | CPython 3.12 macOS 10.13+ universal2 (ARM64, x86-64) |
|
SHA-256 checksum How to use checksums |
bf70802365b2b01c70f7dcee5678d2ee5e7fb5306e4bb3fa4620a47941a80def
|
|
BLAKE2b-256 checksum How to use checksums |
4a6d4826dfc13995ceb023dd7def3de00d0bd47f24c6bd21f7cd4c59a7febf6c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.10
|
Release files / panels-0.13.2-cp311-cp311-win_amd64.whl
| Download URL | panels-0.13.2-cp311-cp311-win_amd64.whl |
|---|---|
| Size | 4.8 MB |
| Tags | CPython 3.11 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
a37d5d70f327ed0bfd013308c39bcb735f512a9c866f5c1237fc76bb25a6b851
|
|
BLAKE2b-256 checksum How to use checksums |
77a63c5172eb687e10a6c75835db9fd39f36143659fb33223ca0fabd0ef28a0b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.11.9
|
Release files / panels-0.13.2-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
| Download URL | panels-0.13.2-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 38.9 MB |
| Tags | CPython 3.11 Linux glibc 2.17+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
927e8d53fc96fc0d9d4bc9105ac9fef73f95b1b93113e44985e3d5a726c35531
|
|
BLAKE2b-256 checksum How to use checksums |
2a97e7ead6db8acc0892f099de63639017ae75cdfe3626098be0d98f921427bd
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.11.17
|
Release files / panels-0.13.2-cp311-cp311-macosx_10_9_universal2.whl
| Download URL | panels-0.13.2-cp311-cp311-macosx_10_9_universal2.whl |
|---|---|
| Size | 10.2 MB |
| Tags | CPython 3.11 macOS 10.9+ universal2 (ARM64, x86-64) |
|
SHA-256 checksum How to use checksums |
31c969d2d58ba864a214e72c36885d46fcbf8106af8691d58c9b2fc1c767e9db
|
|
BLAKE2b-256 checksum How to use checksums |
b5a827f30bb1f1c3d935303861ba55f8d9c4b6db5a287fb5e78435ec33337c84
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.11.9
|
Release files / panels-0.13.2-cp310-cp310-win_amd64.whl
| Download URL | panels-0.13.2-cp310-cp310-win_amd64.whl |
|---|---|
| Size | 4.8 MB |
| Tags | CPython 3.10 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
80a0ddbb2704d2c5f1e2afddfd0a17da7f13a57560a60a233808b4d1cc12da61
|
|
BLAKE2b-256 checksum How to use checksums |
52fcdae6b6bb2a5040afbd6a20fe652025a75067b67643cc4a968befc6845303
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.10.11
|
Release files / panels-0.13.2-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
| Download URL | panels-0.13.2-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 37.8 MB |
| Tags | CPython 3.10 Linux glibc 2.17+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
fced42070347f54ecc9d7b25020a2a84cf3d9127badeb5f7a353c18df4390ffb
|
|
BLAKE2b-256 checksum How to use checksums |
d3c88d9be2563fa435fd609a37100571053eea46b00fb62ca1585a2d353dd186
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.10.22
|
Release files / panels-0.13.2-cp310-cp310-macosx_10_9_universal2.whl
| Download URL | panels-0.13.2-cp310-cp310-macosx_10_9_universal2.whl |
|---|---|
| Size | 10.3 MB |
| Tags | CPython 3.10 macOS 10.9+ universal2 (ARM64, x86-64) |
|
SHA-256 checksum How to use checksums |
2003a21480abd2f2fdcf5f0e742f889984d5c2fd5059742b0c58803fea2247c6
|
|
BLAKE2b-256 checksum How to use checksums |
3dfc0506083560c61c8b096d32e9c875664d308ef7dc13d87c3cc28e519d3667
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.10.11
|
Release files / panels-0.13.2-cp39-cp39-win_amd64.whl
| Download URL | panels-0.13.2-cp39-cp39-win_amd64.whl |
|---|---|
| Size | 4.8 MB |
| Tags | CPython 3.9 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
d8719d08008e3272247f9528e2613918eed3be1dabb7dc11f64f880dca7fa188
|
|
BLAKE2b-256 checksum How to use checksums |
f77e9aea3ed5b31069441c2c26911b3cc29517b6273e34e62a7b39d93fcc6cc7
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.9.13
|
Release files / panels-0.13.2-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
| Download URL | panels-0.13.2-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 37.6 MB |
| Tags | CPython 3.9 Linux glibc 2.17+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
ffb287d437d50029534e6b1e61d26d6d787863939f2ff1637edc3725989ec188
|
|
BLAKE2b-256 checksum How to use checksums |
4dcf4f1c479f134f2810b673c883c90d9dd95c814627921067fd3791c9cedadc
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.9.25
|
Release files / panels-0.13.2-cp39-cp39-macosx_10_9_universal2.whl
| Download URL | panels-0.13.2-cp39-cp39-macosx_10_9_universal2.whl |
|---|---|
| Size | 10.4 MB |
| Tags | CPython 3.9 macOS 10.9+ universal2 (ARM64, x86-64) |
|
SHA-256 checksum How to use checksums |
3df016774491fc0c061c0e664ab10ec823e5ed4a1d00462e394e75abf42e82ec
|
|
BLAKE2b-256 checksum How to use checksums |
49e708093b7c0f5bfcf6a7ff9d340e2b6fcb596dd94d4b2459b4ac260b0fe53c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.9.13
|