Skip to main content

Github Actions status:

Actions Status

Coverage status:

Codecov 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.14.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 the tests

From the root of the repository, with the Cython extensions built in place:

python -m pip install -r requirements.txt -r requirements_ci.txt
python setup.py build_ext --inplace
python -m pytest tests

The tests marked slow, @pytest.mark.slow, registered in pyproject.toml, are those that are slow under the line tracing of the Cython code and cover no line of the .pyx files that the other tests do not cover. Every test runs by default; the coverage workflow, .github/workflows/coverage.yml, deselects them with -m "not slow" in its run with the line-traced build only, and runs them in its run with the optimized build, which measures the Python code. A new test that is slow under line tracing can be marked once the coverage of the other tests, measured with pytest --cov --cov-context=test on the line-traced build, is shown to include every line of the .pyx files that it covers.

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.14.2 (2026-11-01)
    • Tests of the transverse shear correction of the FSDT against Rohwer (1988), Table 2, and Vlachoutsis (1992), Table I
    • Coverage workflow in one job of two runs, the optimized build for the Python code and the line-traced build without the tests marked slow for the Cython code, with the same coverage as before
    • Requires composites>=0.10.2, whose MatLamina invariants are those of plane stress also for materials given with nine constants, and whose lamination-parameter route accounts for the offset of the laminate
  • version 0.14.1 (2026-10-28)
    • BUG: the mass matrices used shell.rho in the closed-form kernels and the opposite sign of the laminate offset; they now use the moments of the density of the laminate, exact for per-ply densities
    • BUG: TSDT with a laminate offset, the transverse shear vanishes at the faces of the laminate, and the connections tie the rotations at the common reference surface
    • BUG: BladeStiff1D torsion with GJ = 4 bf D66 and coupling S1 with the condensed stiffness about the mid-plane of the flange; StiffPanelBay.calc_kA no longer skew-symmetrizes; one load per panel in the cylinder assembly functions; MultiDomain.force_out_plane and MultiDomain.plot fixed
    • Documentation of the theory in the docstrings, new page on the TSDT with an offset, validation notebook of the snap-through of a shallow circular arch (Fung and Kaplan, 1952); the rotations of the von Kármán terms take the sign of the rotations of the normal, beta_x = -w,x, results unchanged
    • Requires composites>=0.10.0 and structsolve>=0.9.3, whose residual is R = F_int - F_ext, as in the documentation of panels, and whose arc-length steps no longer double back along the path (since 0.9.2)
  • version 0.13.11 (2026-10-16)
    • BUG: the analytical constitutive stiffness matrix of the CLPT models ignored force_orthotropic_laminate, inconsistently with the internal forces and the numerical matrices
    • Shell.ABD is calculated from the laminate and read-only; new attribute Shell.ABDnxny for a stiffness that is not that of the laminate, constant or one matrix per integration point, used by all the kernels, also within a MultiDomain, and by Shell.stress(), and checked to have symmetric blocks as any laminate; new Shell.integration_points()
    • Documentation: the derivation of the tangent stiffness matrix of the CLPT models with Donnell kinematics, formerly a LaTeX file, is part of the theory page of the tangent stiffness
    • Shell.calc_kTv() and MultiDomain.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
    • Cohesive zone 'SB_TSL': rules of the discretisation of the cohesive domain, tsl_resolution(), tsl_margin() and tsl_discretization(), and a warning when the cohesive domain is under-resolved; the decay rate of the opening is (k_o (1/D11_1 + 1/D11_2)/4)**0.25, (k_o/(2 D11))**0.25 for the symmetric DCB (the tag 0.13.9 used the rate of one panel on a rigid foundation, (k_o/(4 D11))**0.25), and the margin ahead of the crack front is 3 l_cz + 8/lambda
    • No upper limit for the number of Gauss-Legendre points of MultiDomain.calc_results() and MultiDomain.force()
    • calc_kw_tsl() requires k_i, tau_o and G1c
    • Maintenance: .gitignore without the runs of thesis_timing.py
    • 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 constraints c = Z c_r + c_p0 + lbd*c_p1: linear static, linear buckling, Newton-Raphson and arc-length analyses under displacement control, reactions MultiDomain.reaction_pd() and MultiDomain.reaction_resultant(), also for a single Shell; prescribed rotations; the penalty method remains the default
    • BUG: fkCld_xcte and fkCld_ycte placed the penalty stiffnesses of ku and kv at the rows and columns of w
    • Requires structsolve>=0.7.0
  • 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 to io.BytesIO, and panels.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.21 and structsolve>=0.6.1
  • version 0.11.0 (2026-10-07)
    • Follower (hydrostatic) pressure loads, Shell.add_pressure_load(..., follower=True), with the unsymmetric load stiffness kCfollower in Shell and MultiDomain
    • 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.Dts and Laminate.Fts, requires composites>=0.9.12 and structsolve>=0.5.0
  • 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 MultiDomain connection '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_dmg and fkCSB22_dmg take the distances dt and db from 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() with composites>=0.9.0
  • version 0.6.21 (2026-09-18)
    • Fixed the mass of the base of BladeStiff2D, which was missing, and the section forces of MultiDomain.force(), which lacked the Jacobian
    • StiffPanelBay.calc_kA() sums the contribution of every panel, and calc_kA, calc_cA, calc_fext, save, get_size and uvw_stiffener of StiffPanelBay and Shell.calc_cA no longer raise
    • Shell.strain() and Shell.stress() work for a plate with r=None
    • Line coverage of the tests raised from 67 % to 92 %
    • Fixed StiffPanelBay.add_panel and the partial-domain integration of Shell.calc_kC, calc_kG and calc_kM
    • The limits Shell.x1, x2, y1, y2 of the integration domain default to None instead of the sentinels -1 and +1, which silently integrated the full domain for a limit at 1.0 and ignored a limit given on one side only; the old -1 now raises
    • Fixed the MultiDomain skin-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 MultiDomain connection 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 every MultiDomain connection
    • Fixed the argument handling of the stiffness API: an invalid c or c_cte no longer reaches the nogil kernels, and a model that needs a radius raises instead of computing with r = 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
    • Shell and MultiDomain can be passed directly to structsolve.Analysis, including the arc-length methods
    • Gauss-Legendre points and weights from scipy.special.roots_legendre
    • Modules of the models renamed without the _bardell suffix, and the legacy _bardell model names removed from panels.modelDB.db
    • Sphinx documentation with usage examples
  • 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.14.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for panels 0.14.2
File Size Uploaded Provenance Actions
panels-0.14.2.tar.gz 7.8 MB Without provenance Details for panels-0.14.2.tar.gz

Built distributions (wheels)

Table of built distributions (wheels) for panels 0.14.2
File Actions
panels-0.14.2-cp314-cp314-win_amd64.whl CPython 3.14 CPython 3.14 Windows x86-64 Details for panels-0.14.2-cp314-cp314-win_amd64.whl
panels-0.14.2-cp314-cp314-pyemscripten_2026_0_wasm32.whl CPython 3.14 CPython 3.14 PyEmscripten 2026.0+ WebAssembly Details for panels-0.14.2-cp314-cp314-pyemscripten_2026_0_wasm32.whl
panels-0.14.2-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl CPython 3.14 CPython 3.14 Linux glibc 2.17+ x86-64, Linux glibc 2.28+ x86-64 Details for panels-0.14.2-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
panels-0.14.2-cp314-cp314-macosx_10_15_universal2.whl CPython 3.14 CPython 3.14 macOS 10.15+ universal2 (ARM64, x86-64) Details for panels-0.14.2-cp314-cp314-macosx_10_15_universal2.whl
panels-0.14.2-cp313-cp313-win_amd64.whl CPython 3.13 CPython 3.13 Windows x86-64 Details for panels-0.14.2-cp313-cp313-win_amd64.whl
panels-0.14.2-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl CPython 3.13 CPython 3.13 Linux glibc 2.17+ x86-64, Linux glibc 2.28+ x86-64 Details for panels-0.14.2-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
panels-0.14.2-cp313-cp313-macosx_10_13_universal2.whl CPython 3.13 CPython 3.13 macOS 10.13+ universal2 (ARM64, x86-64) Details for panels-0.14.2-cp313-cp313-macosx_10_13_universal2.whl
panels-0.14.2-cp312-cp312-win_amd64.whl CPython 3.12 CPython 3.12 Windows x86-64 Details for panels-0.14.2-cp312-cp312-win_amd64.whl
panels-0.14.2-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl CPython 3.12 CPython 3.12 Linux glibc 2.17+ x86-64, Linux glibc 2.28+ x86-64 Details for panels-0.14.2-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
panels-0.14.2-cp312-cp312-macosx_10_13_universal2.whl CPython 3.12 CPython 3.12 macOS 10.13+ universal2 (ARM64, x86-64) Details for panels-0.14.2-cp312-cp312-macosx_10_13_universal2.whl
panels-0.14.2-cp311-cp311-win_amd64.whl CPython 3.11 CPython 3.11 Windows x86-64 Details for panels-0.14.2-cp311-cp311-win_amd64.whl
panels-0.14.2-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl CPython 3.11 CPython 3.11 Linux glibc 2.28+ x86-64, Linux glibc 2.17+ x86-64 Details for panels-0.14.2-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
panels-0.14.2-cp311-cp311-macosx_10_9_universal2.whl CPython 3.11 CPython 3.11 macOS 10.9+ universal2 (ARM64, x86-64) Details for panels-0.14.2-cp311-cp311-macosx_10_9_universal2.whl
panels-0.14.2-cp310-cp310-win_amd64.whl CPython 3.10 CPython 3.10 Windows x86-64 Details for panels-0.14.2-cp310-cp310-win_amd64.whl
panels-0.14.2-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl CPython 3.10 CPython 3.10 Linux glibc 2.17+ x86-64, Linux glibc 2.28+ x86-64 Details for panels-0.14.2-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
panels-0.14.2-cp310-cp310-macosx_10_9_universal2.whl CPython 3.10 CPython 3.10 macOS 10.9+ universal2 (ARM64, x86-64) Details for panels-0.14.2-cp310-cp310-macosx_10_9_universal2.whl

Total release size: 360.5 MB

Release files / panels-0.14.2.tar.gz

Download URL panels-0.14.2.tar.gz
Size 7.8 MB
Tags Source
SHA-256 checksum
How to use checksums
384d35396234b1edc26eb87c42a8167aa091c980a90850600b8177c806c41b82
BLAKE2b-256 checksum
How to use checksums
9ace60a530c93d6a578ba5b40f568d1e4d866c68e5b0cf07f45bf68deaf311f4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.17

Release files / panels-0.14.2-cp314-cp314-win_amd64.whl

Download URL panels-0.14.2-cp314-cp314-win_amd64.whl
Size 12.6 MB
Tags CPython 3.14 Windows x86-64
SHA-256 checksum
How to use checksums
99597094d88113fad6214011a41baa7c30b94b9090dae13188ecd4801aa7f3ac
BLAKE2b-256 checksum
How to use checksums
3932ecedae95cc9c2fe532c56a35004375286db2092f31c3207f68f72cacf650
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.9

Release files / panels-0.14.2-cp314-cp314-pyemscripten_2026_0_wasm32.whl

Download URL panels-0.14.2-cp314-cp314-pyemscripten_2026_0_wasm32.whl
Size 10.4 MB
Tags CPython 3.14 PyEmscripten 2026.0+ WebAssembly
SHA-256 checksum
How to use checksums
ee9c14f913430797e24ebfca3583d6829dcb91f76bc107232aa80bf44f003841
BLAKE2b-256 checksum
How to use checksums
9fcfbd15e22fb8ff9bbe2b554b869ddb1f6f022f64156aef58fed55143a7be41
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.9

Release files / panels-0.14.2-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl

Download URL panels-0.14.2-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Size 38.4 MB
Tags CPython 3.14 Linux glibc 2.17+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
749254b2d8c30c5db05b571308d06518498f11fef06f761fe9c0ee96ca3766e2
BLAKE2b-256 checksum
How to use checksums
d3d1a35006b13a9ac8ddeb921ba9511e280ec4bccbfae51faff59408f9104a9e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.9

Release files / panels-0.14.2-cp314-cp314-macosx_10_15_universal2.whl

Download URL panels-0.14.2-cp314-cp314-macosx_10_15_universal2.whl
Size 18.0 MB
Tags CPython 3.14 macOS 10.15+ universal2 (ARM64, x86-64)
SHA-256 checksum
How to use checksums
e882d572e5635f7c039d84df8fadc029dfeb4300c849a3eccd23c6b91e217829
BLAKE2b-256 checksum
How to use checksums
ac87a75b2830809c7e943058a7966aa218f534a869eac1968863df01b33d0608
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.10

Release files / panels-0.14.2-cp313-cp313-win_amd64.whl

Download URL panels-0.14.2-cp313-cp313-win_amd64.whl
Size 12.3 MB
Tags CPython 3.13 Windows x86-64
SHA-256 checksum
How to use checksums
f294487e9654e931f335ad7ceadfa9d5b060d28f362079d9f9f94749f681f787
BLAKE2b-256 checksum
How to use checksums
b63ee7c93ae7caaf9fa445e76054f3d6427d08efacdb7819a1810e96a9860e72
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.14.2-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl

Download URL panels-0.14.2-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Size 38.5 MB
Tags CPython 3.13 Linux glibc 2.17+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
5158dce8083c1d82516c2226b91110d1dd2a29e1b1a6582d571d4d8f0982bce1
BLAKE2b-256 checksum
How to use checksums
e92f7670dd13a10f1b5f8c511cae58f7889f840658faab86a52a9c940763a0d1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.17

Release files / panels-0.14.2-cp313-cp313-macosx_10_13_universal2.whl

Download URL panels-0.14.2-cp313-cp313-macosx_10_13_universal2.whl
Size 17.8 MB
Tags CPython 3.13 macOS 10.13+ universal2 (ARM64, x86-64)
SHA-256 checksum
How to use checksums
62e249c241f1fe58c07901c1a231149b47957aa0ef53ff2fc89cb83a6881ed9c
BLAKE2b-256 checksum
How to use checksums
9c8a011c3533458fb15904d294667b63cffe75053adff102133956de117d3db8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.17

Release files / panels-0.14.2-cp312-cp312-win_amd64.whl

Download URL panels-0.14.2-cp312-cp312-win_amd64.whl
Size 12.3 MB
Tags CPython 3.12 Windows x86-64
SHA-256 checksum
How to use checksums
fde7fd1543c9a6edd2304acddef86edd0373796257cebd19a99e02017957864f
BLAKE2b-256 checksum
How to use checksums
c1dd261d812c746e8761a9d22fd59ab197480b83f3401adad3a98768dcc79862
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.14.2-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl

Download URL panels-0.14.2-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Size 38.6 MB
Tags CPython 3.12 Linux glibc 2.17+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
15ad28c3c505fc15a35cf00b64f36b45f7b68bbc88822c023561db518c003cfc
BLAKE2b-256 checksum
How to use checksums
02cb703c0c8b148431bff9ae5b50e9c8c38be4a89ad66fe243ebd807a4419566
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.14.2-cp312-cp312-macosx_10_13_universal2.whl

Download URL panels-0.14.2-cp312-cp312-macosx_10_13_universal2.whl
Size 17.5 MB
Tags CPython 3.12 macOS 10.13+ universal2 (ARM64, x86-64)
SHA-256 checksum
How to use checksums
5e8a828c347417d84bb3a11228eae00ea209a80957bfbe36b4be655cf12d1b8f
BLAKE2b-256 checksum
How to use checksums
bb13940737ebf26e5a7e398d5778b4d4b74d0261349962172b8262d107382620
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.14.2-cp311-cp311-win_amd64.whl

Download URL panels-0.14.2-cp311-cp311-win_amd64.whl
Size 12.4 MB
Tags CPython 3.11 Windows x86-64
SHA-256 checksum
How to use checksums
a4e85977decab240debb19c64e4aeebf029db53298c717483da250e836dc8cdb
BLAKE2b-256 checksum
How to use checksums
91b369e83de2b31f719c0ac656b2605f4dca74cb204752c313ed809ba46e96ed
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.14.2-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl

Download URL panels-0.14.2-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Size 38.5 MB
Tags CPython 3.11 Linux glibc 2.17+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
4f078e3457de4cccc9c864cc3ac153f63b1d8ad2412fae42aee2bd7446383a69
BLAKE2b-256 checksum
How to use checksums
5b2e3904cf0e657943ad01baa85b163527d10d0540d420e4f924299e611c5a4b
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.14.2-cp311-cp311-macosx_10_9_universal2.whl

Download URL panels-0.14.2-cp311-cp311-macosx_10_9_universal2.whl
Size 17.7 MB
Tags CPython 3.11 macOS 10.9+ universal2 (ARM64, x86-64)
SHA-256 checksum
How to use checksums
f1947fe8bdb7fca3c8e69c5d0b47739502eb2767939c2ec3e192e5e4b18b087a
BLAKE2b-256 checksum
How to use checksums
7fdeee26a651f831304da664e1053e7ec7e549540ae35ce893af36c38e221220
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.14.2-cp310-cp310-win_amd64.whl

Download URL panels-0.14.2-cp310-cp310-win_amd64.whl
Size 12.4 MB
Tags CPython 3.10 Windows x86-64
SHA-256 checksum
How to use checksums
bd4f0f972306206ffa3470d6f76416b37f7c2d2b03149ae54ef2989db41b9130
BLAKE2b-256 checksum
How to use checksums
ab9c8c22a8fcc4049b6b64fe25d0f78128fc815f239da1565e19ac2394e4315b
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.14.2-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl

Download URL panels-0.14.2-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Size 37.4 MB
Tags CPython 3.10 Linux glibc 2.17+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
c0514406c2d1bdd86a42e87c03455949c13c1e7af0c08ba07b657570d86b7636
BLAKE2b-256 checksum
How to use checksums
0a738a1a0a4eabf7d35a371ec48faa459fd51ba3cf44ffce1babc8fcdee36ce3
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.14.2-cp310-cp310-macosx_10_9_universal2.whl

Download URL panels-0.14.2-cp310-cp310-macosx_10_9_universal2.whl
Size 17.8 MB
Tags CPython 3.10 macOS 10.9+ universal2 (ARM64, x86-64)
SHA-256 checksum
How to use checksums
54822d3eae843f2b704e2e7b535b4131a6fdff9f62dbfccd484c7b213b6cef72
BLAKE2b-256 checksum
How to use checksums
f4eb79b75ae8ac99ea1960715cc199c971902308668657e920a7b3e78dcd33fe
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.10.11

Security for panels 0.14.2

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.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.14.2 This release

17 release files No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page