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.1). 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.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.1
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.1.tar.gz | 7.8 MB | Details |
Built distributions (wheels)
Total release size: 339.3 MB
Release files / panels-0.13.1.tar.gz
| Download URL | panels-0.13.1.tar.gz |
|---|---|
| Size | 7.8 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
2449e54785522cc48756a0e9733dac9987a90441fdbc6a7b39bafbd77fe79608
|
|
BLAKE2b-256 checksum How to use checksums |
a38daf9b22ec94d0289b25d5a6b3845cfb7833bdab1b4b1cce624072d3d3218a
|
| 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.1-cp314-cp314-win_amd64.whl
| Download URL | panels-0.13.1-cp314-cp314-win_amd64.whl |
|---|---|
| Size | 4.8 MB |
| Tags | CPython 3.14 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
90752bf6bf921d6faf2259482aac5f3d4e64f7a9f3ec1a13d1929091ab100809
|
|
BLAKE2b-256 checksum How to use checksums |
1bce593a84960607c543e4f7f978adbcde818bc81f7abc737c8290ff785955e6
|
| 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.1-cp314-cp314-pyemscripten_2026_0_wasm32.whl
| Download URL | panels-0.13.1-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 |
d34bcdd3e8dcb7e65df6e2a2fc80149d67623545ac0fbc5c605e4234072660bb
|
|
BLAKE2b-256 checksum How to use checksums |
33c1730cd8622daf864e8434c1abc79844e535b8b689fa6d72d945730190da5d
|
| 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.1-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
| Download URL | panels-0.13.1-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 |
28080b10678991dbc59e2fb7b3632091c2b768649f8fc2dc115fb5f8d3be0219
|
|
BLAKE2b-256 checksum How to use checksums |
b817525d560970068985044b64f8b4f9332ba574d281e49d26bce52419167ece
|
| 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.1-cp314-cp314-macosx_10_15_universal2.whl
| Download URL | panels-0.13.1-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 |
f597dc8f4ca2d5c7998edf3ebf48fc7cb8850f55421e5b8c70490052892b2ac6
|
|
BLAKE2b-256 checksum How to use checksums |
3febbe3b1803d3aad61999af46fd2850444216ec4d21580ac3fefa04e27ada79
|
| 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.1-cp313-cp313-win_amd64.whl
| Download URL | panels-0.13.1-cp313-cp313-win_amd64.whl |
|---|---|
| Size | 4.7 MB |
| Tags | CPython 3.13 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
4091f83c21a53d6c56395f4ec10c01582c7bc932b962b11ec4b658299fa30f31
|
|
BLAKE2b-256 checksum How to use checksums |
43fdd6fffc6d88632af05964b791011439564c4e681aabfb5d957156836d6b0b
|
| 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.1-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
| Download URL | panels-0.13.1-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 |
bf829ef53b215c0b4c6c5c59b5454f1bac28593ae5fd6cf30802acf7d5470a4a
|
|
BLAKE2b-256 checksum How to use checksums |
ccb28c53a9dbe3ddc3eb02906d15a0669c5bba33c1ccebbce74a2175fcb0d11a
|
| 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.1-cp313-cp313-macosx_10_13_universal2.whl
| Download URL | panels-0.13.1-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 |
d86018401c4e95f1d14a9f46a07096ae1c581062f3f05e50fc164de8978ec20c
|
|
BLAKE2b-256 checksum How to use checksums |
a1245ff9e57fe999d5e22a10e6ae79cf4ec2c6dda746e43d95b807d0b13bc1eb
|
| 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.1-cp312-cp312-win_amd64.whl
| Download URL | panels-0.13.1-cp312-cp312-win_amd64.whl |
|---|---|
| Size | 4.7 MB |
| Tags | CPython 3.12 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
6fb517cedada4b2dec0e9d0950c4975b8a65dec22303d891cf004ae1f8db1103
|
|
BLAKE2b-256 checksum How to use checksums |
76b96012f7236e4a5ac88957e156b4f9d99de38e05a7704fa35e0b63641f3849
|
| 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.1-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
| Download URL | panels-0.13.1-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 |
4368264d50b8918d1840ddee52de9be37148d731a9e2330b8252cc26dae9afb1
|
|
BLAKE2b-256 checksum How to use checksums |
b16f251ef82608b957079b9950ce8bcdf9c93c727805df8e3e6d347e15416622
|
| 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.1-cp312-cp312-macosx_10_13_universal2.whl
| Download URL | panels-0.13.1-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 |
e1b219a817b58a73202ef312220d37f4585f4b0679214df1beb1a81ea489c252
|
|
BLAKE2b-256 checksum How to use checksums |
12c655f4a36fd6ba402ffde07fe42cdd744dafe990a83b9e953033e9a0890218
|
| 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.1-cp311-cp311-win_amd64.whl
| Download URL | panels-0.13.1-cp311-cp311-win_amd64.whl |
|---|---|
| Size | 4.8 MB |
| Tags | CPython 3.11 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
544d6da4f9289ebb449b004238d9b2f40132bc6801e33bb12cbc27be172053a7
|
|
BLAKE2b-256 checksum How to use checksums |
e7d5041a94d9871d6b0cfc33ca6bb5f1d7d752451d77b016aca37ac306fcadea
|
| 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.1-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
| Download URL | panels-0.13.1-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 |
03e68ee76f5c59b365d7502885ba03019aa8b466d78765663a3ff794f30ad5a3
|
|
BLAKE2b-256 checksum How to use checksums |
bd4ebf2365bd0b718cc99b4a9103727656e5f0c36118b538795418dd0eab0b52
|
| 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.1-cp311-cp311-macosx_10_9_universal2.whl
| Download URL | panels-0.13.1-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 |
90d9ced3f114dee1b18968bc552cafceae249c4be4738d4903338faf8149cbe8
|
|
BLAKE2b-256 checksum How to use checksums |
1002dfda0d462a089e371498d132c06f4650ca974a1c7e5fc7356cf5a2411d3c
|
| 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.1-cp310-cp310-win_amd64.whl
| Download URL | panels-0.13.1-cp310-cp310-win_amd64.whl |
|---|---|
| Size | 4.8 MB |
| Tags | CPython 3.10 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
80945636b7ec8a2a0f7194ed7968139d908800226252696678dcced6d1d77b06
|
|
BLAKE2b-256 checksum How to use checksums |
223ca009adeb36c8202533eab980240d96f79e3eeb3f55e28c991bf07a7aa2f6
|
| 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.1-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
| Download URL | panels-0.13.1-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 |
196d55371d5925de2eec6c36f037f6d39cf746e9b1f6ac6e6aafcf5d5c4106b2
|
|
BLAKE2b-256 checksum How to use checksums |
f29f08e1e3429ee24325b06f7a9b9895454426aa1764f707cb623ba682ce64a5
|
| 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.1-cp310-cp310-macosx_10_9_universal2.whl
| Download URL | panels-0.13.1-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 |
3e7627e9a3dfb12de0f18896f4f0d242602c19fbc6ace243d896d2742b0cbab6
|
|
BLAKE2b-256 checksum How to use checksums |
2e779b55e745012858a9155266b438dbacaec13c75245e41e13ba5def8de883d
|
| 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.1-cp39-cp39-win_amd64.whl
| Download URL | panels-0.13.1-cp39-cp39-win_amd64.whl |
|---|---|
| Size | 4.8 MB |
| Tags | CPython 3.9 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
b4489b06588d93ae1db30f02564d87e5f8a619e6ef9f489c135f038594336dd5
|
|
BLAKE2b-256 checksum How to use checksums |
eef8caa2439cfbe789c99671336222e8f4abc7a1cd0615a43a12d2339fa695ed
|
| 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.1-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
| Download URL | panels-0.13.1-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 |
940607438c0dd63578a1673973ddd8e435216021c0f959b118188f0dc8102ede
|
|
BLAKE2b-256 checksum How to use checksums |
d82eb6de55d25fc963ddc7241dd7d7e7ecf68f7f1d75559d04eacbe8d85a7369
|
| 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.1-cp39-cp39-macosx_10_9_universal2.whl
| Download URL | panels-0.13.1-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 |
e1fcd3042b24671609ddda293dcfed6164a803d31ae85965d21d9b55bb03e8ec
|
|
BLAKE2b-256 checksum How to use checksums |
3a05651d434d734848f6deedc6be32c2aa8dbd7fccc40e3576a8965a6c8e70d7
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.9.13
|