Skip to main content

General-purpose finite element solver - pyfe3d

Github Actions status:

Actions Status

Coverage status:

Codecov Status

About pyfe3d

The pyfe3d module is a general-purpose finite element solver for structural analysis and optimization based on Python and Cython. The main principles guiding the development of pyfe3d are: simplicity, efficiency and compatibility. The aimed level of compatibility allows one to run this solver in any platform, including the Google Colab environment.

Citing this library

Saullo G. P. Castro. (2026). General-purpose finite element solver based on Python and Cython (Version 0.11.3). Zenodo. DOI: https://doi.org/10.5281/zenodo.6573489.

Documentation

The documentation is available on: https://saullocastro.github.io/pyfe3d.

Important features of this library

  • efficient and simple for linear and nonlinear analyses
  • importable and cimportable code
  • 6 degrees-of-freedom per node

Available finite elements

  • 'Quad4' - 4-node plate with linear interpolation, equivalent to Nastran's CQUAD4. The recommended quadrilateral plate element.

  • 'Quad4R' - 4-node plate with linear interpolation, equivalent to Abaqus' S4R. It has a not very robust hourglass control.

  • 'Tria3DSG' - 3-node plate with linear interpolation and a discrete shear gap transverse shear field, after Bletzinger, Bischoff and Ramm (2000). The recommended triangular plate element: it is free of shear locking by construction and needs no tuning parameter.

  • 'Tria3R' - 3-node plate with linear interpolation, equivalent to Abaqus' S3R or Nastran's CTRIA3. Its transverse shear is taken at the centroid and locks, and it relies on the alpha_shear_locking stabilisation to unlock. No single value of that parameter serves every problem class, so it has to be verified per problem, see the element documentation. Prefer Tria3DSG for new work.

  • 'BeamC' - 2-node Timoshenko beam element with consistent shape functions and analytical integration. The recommended beam element.

  • 'BeamLR' - 2-node Timoshenko beam element with linear interpolation and reduced integration.

  • 'Spring' - 2-node spring element with 6 stiffenesses defined in the element coordinate system.

  • 'Truss' - 2-node truss element with only axial and torsion stiffness. I recommend using the BeamLR instead, which is physically more consistent.

Development history

See CHANGELOG.md for the details of each version.

Main versions Changes
0.11.0 Non-linear static solvers in pyfe3d.solver (Newton-Raphson, arc-length methods of Riks and Crisfield, Crisfield's convergence criterion as the default, with a round-off floor of the residual); damped (quadratic) eigenvalue solver complex_frequency(); fixed sign of the shear parameters of BeamC; fixed piston-theory slope of Quad4 and Quad4R; fixed MatLamina c11 and q31 and the 66 row of GradABD.calc_LP_grad; pyfe3d.shellprop mirrors composites.Laminate (breaking: force_* renamed make_*, get_transf_matrix_displ_to_lamina; new shear corrections, make_smeared, a posteriori transverse shear); derivation scripts in theory/.
0.10.0 New Tria3DSG element with discrete shear gap transverse shear, the recommended triangle; physics-based drilling stiffness (Allman, Hughes-Brezzi) as the default, with the K6ROT penalty kept through drilling_model; fixed lost K6ROT coefficient; new pyfe3d.solver module for linear buckling and natural frequencies; speedup with Cython and compiler flags.
0.9.0 Shear correction factors as per Rohwer and Vlachoutsis.
0.8.0 KCNL matrix for all elements, with more accurate nonlinear analyses; fixed KC0 and KG for beams; fixed KC0 for Tria3R.
0.7.0 Drilling stiffness re-coupled with in-plane rotation using K6ROT; fixed drilling stiffness integration; restored missing pid attribute.
0.6.4 Internal force vectors (finte) for all elements; fixed drilling stiffness (K6ROT) scaling; added Python 3.14 and removed Python 3.8 support; Linux wheels limited to 64-bit; Exposed update_probe_finte to Python; new documentation examples.
0.5.2 New Quad4 element; K6ROT drilling stiffness; probe.update_BL; removed alg3dpy dependency; topology optimization tutorial
0.4.28 Piston theory aerodynamics for Quad4R; fixed array casting on some systems; Quad4R less sensitive to small element sizes; new pid attribute for elements; exposed element orientation vectors; Python 3.12 support; fixed build for Linux and macOS wheels.
0.3.24 New Tria3R element; fixed BeamC formulation; fixed beam torsion stiffness; fixed lamination parameters and added their gradients; fixed lumped mass for Tria3R; removed dependency on the NumPy C API; OpenMP build fixes; improved Zenodo metadata and documentation layout; Python 3.10 support.
0.2.8 Material coordinate systems for plate elements; Fixed Truss mass matrix; more aggressive Cython directives; license changed to 3-clause BSD; license info in README, author metadata updates.
0.1.16 New Spring element; Rotation matrices using direct rij terms instead of Euler angles; renamed update_xe to update_probe_xe; probe made a public attribute; KG with a given stress state; renamed update_ue to update_probe_ue
0.1.3 First release: Quad4R, BeamC, BeamLR and Truss elements; shell properties; linear buckling

Installing pyfe3d

First, you should try to install from the distributed binaries by simply doing:

python -m pip install pyfe3d

If a distribution could not be found, you can try to install from the source code using:

python -m pip install .

Another alternative is the following:

python -m pip install -r requirements.txt
python -m pip install --no-build-isolation .

If none of the above alternatives worked for you, this link shares some information on how to set up a C compiler on different operating systems:

https://cython2.readthedocs.io/en/latest/src/quickstart/install.html

License

Distrubuted under the 3-Clause BSD license (https://raw.github.com/saullocastro/pyfe3d/main/LICENSE):

Copyright (c) 2021-2026, Saullo G. P. Castro (S.G.P.Castro@tudelft.nl)
All rights reserved.

Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:

1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.

2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.

3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

Contacts:

Metadata

Release files for pyfe3d 0.11.3

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

Source distribution (sdist)

Source distribution for pyfe3d 0.11.3
File Size Uploaded Provenance Actions
pyfe3d-0.11.3.tar.gz 3.9 MB Without provenance Details for pyfe3d-0.11.3.tar.gz

Built distributions (wheels)

Table of built distributions (wheels) for pyfe3d 0.11.3
File Actions
pyfe3d-0.11.3-cp314-cp314-win_amd64.whl CPython 3.14 CPython 3.14 Windows x86-64 Details for pyfe3d-0.11.3-cp314-cp314-win_amd64.whl
pyfe3d-0.11.3-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 pyfe3d-0.11.3-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
pyfe3d-0.11.3-cp314-cp314-macosx_10_15_universal2.whl CPython 3.14 CPython 3.14 macOS 10.15+ universal2 (ARM64, x86-64) Details for pyfe3d-0.11.3-cp314-cp314-macosx_10_15_universal2.whl
pyfe3d-0.11.3-cp313-cp313-win_amd64.whl CPython 3.13 CPython 3.13 Windows x86-64 Details for pyfe3d-0.11.3-cp313-cp313-win_amd64.whl
pyfe3d-0.11.3-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 pyfe3d-0.11.3-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
pyfe3d-0.11.3-cp313-cp313-macosx_10_13_universal2.whl CPython 3.13 CPython 3.13 macOS 10.13+ universal2 (ARM64, x86-64) Details for pyfe3d-0.11.3-cp313-cp313-macosx_10_13_universal2.whl
pyfe3d-0.11.3-cp312-cp312-win_amd64.whl CPython 3.12 CPython 3.12 Windows x86-64 Details for pyfe3d-0.11.3-cp312-cp312-win_amd64.whl
pyfe3d-0.11.3-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 pyfe3d-0.11.3-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
pyfe3d-0.11.3-cp312-cp312-macosx_10_13_universal2.whl CPython 3.12 CPython 3.12 macOS 10.13+ universal2 (ARM64, x86-64) Details for pyfe3d-0.11.3-cp312-cp312-macosx_10_13_universal2.whl
pyfe3d-0.11.3-cp311-cp311-win_amd64.whl CPython 3.11 CPython 3.11 Windows x86-64 Details for pyfe3d-0.11.3-cp311-cp311-win_amd64.whl
pyfe3d-0.11.3-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.17+ x86-64, Linux glibc 2.28+ x86-64 Details for pyfe3d-0.11.3-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
pyfe3d-0.11.3-cp311-cp311-macosx_10_9_universal2.whl CPython 3.11 CPython 3.11 macOS 10.9+ universal2 (ARM64, x86-64) Details for pyfe3d-0.11.3-cp311-cp311-macosx_10_9_universal2.whl
pyfe3d-0.11.3-cp310-cp310-win_amd64.whl CPython 3.10 CPython 3.10 Windows x86-64 Details for pyfe3d-0.11.3-cp310-cp310-win_amd64.whl
pyfe3d-0.11.3-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 pyfe3d-0.11.3-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
pyfe3d-0.11.3-cp310-cp310-macosx_10_9_universal2.whl CPython 3.10 CPython 3.10 macOS 10.9+ universal2 (ARM64, x86-64) Details for pyfe3d-0.11.3-cp310-cp310-macosx_10_9_universal2.whl

Total release size: 134.8 MB

Release files / pyfe3d-0.11.3.tar.gz

Download URL pyfe3d-0.11.3.tar.gz
Size 3.9 MB
Tags Source
SHA-256 checksum
How to use checksums
b1d6f60b8acced7792e914fa9c693062a2c40a55b9369606f96edad30836f58b
BLAKE2b-256 checksum
How to use checksums
439dd884ede15097e30e1e6f8e09d23f765cd7d01c4116aa80c1c34ce542b57e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.8

Release files / pyfe3d-0.11.3-cp314-cp314-win_amd64.whl

Download URL pyfe3d-0.11.3-cp314-cp314-win_amd64.whl
Size 5.3 MB
Tags CPython 3.14 Windows x86-64
SHA-256 checksum
How to use checksums
a2082cfbcfb1e920bf2a14855ee09aaa62b8a3438f7586804b5dae2b4d491994
BLAKE2b-256 checksum
How to use checksums
c1d29dde876475d58885734a97f533c5519c4c49206b768d83e40d81196ec9d0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.9

Release files / pyfe3d-0.11.3-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl

Download URL pyfe3d-0.11.3-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Size 13.6 MB
Tags CPython 3.14 Linux glibc 2.17+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
199a20dce574d993dab245ceb7818b152cd90d0db7f9ccdccce878d4e102ade0
BLAKE2b-256 checksum
How to use checksums
f61c096bee2d9c92ab0f40202a4e2a6e6c1eb4dbcf855049cd8649399eb61e46
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.8

Release files / pyfe3d-0.11.3-cp314-cp314-macosx_10_15_universal2.whl

Download URL pyfe3d-0.11.3-cp314-cp314-macosx_10_15_universal2.whl
Size 7.2 MB
Tags CPython 3.14 macOS 10.15+ universal2 (ARM64, x86-64)
SHA-256 checksum
How to use checksums
7a7e107708c167449253a23d2a8f12e4e78be2ff956a35e9eccd325ab302655b
BLAKE2b-256 checksum
How to use checksums
3408af4640b1442e04fb7027694702fcc73d5c0d8d9652eb70518fdd64e9a784
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.9

Release files / pyfe3d-0.11.3-cp313-cp313-win_amd64.whl

Download URL pyfe3d-0.11.3-cp313-cp313-win_amd64.whl
Size 5.3 MB
Tags CPython 3.13 Windows x86-64
SHA-256 checksum
How to use checksums
ec789f7628cbe36d985cc9381af2ba1171ceea2ead457381e9aa52e9655447ad
BLAKE2b-256 checksum
How to use checksums
18e4779cc69292e40f7ee4c27ef2b0e6d8c34da113977d1f87335c3c2f3a9ce8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

Release files / pyfe3d-0.11.3-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl

Download URL pyfe3d-0.11.3-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Size 13.7 MB
Tags CPython 3.13 Linux glibc 2.17+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
6d5323dba7a4a73909223e8b81bbfd7b494f6896a1781e80e6240e70799299be
BLAKE2b-256 checksum
How to use checksums
e5e8f82cf373df6c0df40fba22961e0400f810195fc1278a389a07a8ac9ccab7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.8

Release files / pyfe3d-0.11.3-cp313-cp313-macosx_10_13_universal2.whl

Download URL pyfe3d-0.11.3-cp313-cp313-macosx_10_13_universal2.whl
Size 7.2 MB
Tags CPython 3.13 macOS 10.13+ universal2 (ARM64, x86-64)
SHA-256 checksum
How to use checksums
7777c7d42cd913d71ae70741989bd408b8fc52563f06c8359f3db9427bafa84a
BLAKE2b-256 checksum
How to use checksums
c5039aa1296e7150ec0e6c609685aa55a9e86bc5569e938459d245d280424d9a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

Release files / pyfe3d-0.11.3-cp312-cp312-win_amd64.whl

Download URL pyfe3d-0.11.3-cp312-cp312-win_amd64.whl
Size 5.3 MB
Tags CPython 3.12 Windows x86-64
SHA-256 checksum
How to use checksums
604783206820481ecb478120574d9369bdd4b3dc13b30d7200d5c89cbe735f2f
BLAKE2b-256 checksum
How to use checksums
20a38b030c5723e9f305fbeaf5dc86ef9473fd85d564d7aca6811fb90be11d05
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.10

Release files / pyfe3d-0.11.3-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl

Download URL pyfe3d-0.11.3-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Size 13.8 MB
Tags CPython 3.12 Linux glibc 2.17+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
7d9898b6feea30b04c9c07f5cd6dfdba00c30e5d048a91a8aeea77fe83880597
BLAKE2b-256 checksum
How to use checksums
759ed93805779a0c13f79ca2ba5bdf71464a648db00e6b89badccd196268c78c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.8

Release files / pyfe3d-0.11.3-cp312-cp312-macosx_10_13_universal2.whl

Download URL pyfe3d-0.11.3-cp312-cp312-macosx_10_13_universal2.whl
Size 7.1 MB
Tags CPython 3.12 macOS 10.13+ universal2 (ARM64, x86-64)
SHA-256 checksum
How to use checksums
8e2fecdbcd9c200cc2daa1270c3c6845badd76e05bcc52a545820f64c3034ef4
BLAKE2b-256 checksum
How to use checksums
0d59b74e99bef110b700826914c4f0c3f734917588755d41a5b3b682c9d1a20d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.10

Release files / pyfe3d-0.11.3-cp311-cp311-win_amd64.whl

Download URL pyfe3d-0.11.3-cp311-cp311-win_amd64.whl
Size 5.4 MB
Tags CPython 3.11 Windows x86-64
SHA-256 checksum
How to use checksums
cc324057555520d020bdc173d7b4b2f70a57f41ad1cdc95a3eaa5284fed702b7
BLAKE2b-256 checksum
How to use checksums
56cdc55d939b0807a06d95b2a2dfae8f1d72296e91a2c9874d75df8b1601867d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.11.9

Release files / pyfe3d-0.11.3-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl

Download URL pyfe3d-0.11.3-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Size 13.8 MB
Tags CPython 3.11 Linux glibc 2.17+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
a845960f55234dcbcb4e853003e7422c5259337e20fe56f055a4aa28ea896baa
BLAKE2b-256 checksum
How to use checksums
c16624fd6b94f285695ca194381e2d6d800084a8dedf91b85e0b01e9d06ee0c3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.8

Release files / pyfe3d-0.11.3-cp311-cp311-macosx_10_9_universal2.whl

Download URL pyfe3d-0.11.3-cp311-cp311-macosx_10_9_universal2.whl
Size 7.1 MB
Tags CPython 3.11 macOS 10.9+ universal2 (ARM64, x86-64)
SHA-256 checksum
How to use checksums
228efeff80d6c19e2746c4b9baee56e3989ad83f8a2b63ce9d38ac5839548e34
BLAKE2b-256 checksum
How to use checksums
bf287c2a247b44fa27eec8340935518ae2064b5751aeb56fd10a84bed33480ea
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.11.9

Release files / pyfe3d-0.11.3-cp310-cp310-win_amd64.whl

Download URL pyfe3d-0.11.3-cp310-cp310-win_amd64.whl
Size 5.4 MB
Tags CPython 3.10 Windows x86-64
SHA-256 checksum
How to use checksums
003472a96477f9bc40700fb8f4f8f17a81b922f11137783d97422703a1eabc02
BLAKE2b-256 checksum
How to use checksums
90121273437c0d63a4e09703fe86a712df5dd44dba41bd63a7b5e35da9472f12
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.10.11

Release files / pyfe3d-0.11.3-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl

Download URL pyfe3d-0.11.3-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Size 13.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
d2002554223d2e7e577e27cad869c39e4bd1a84374bf19b9006df758de37186d
BLAKE2b-256 checksum
How to use checksums
dae5f4da98685c57bd8d8807ae72b3367c55b89a7291eba4f79c69adc7fe9488
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.8

Release files / pyfe3d-0.11.3-cp310-cp310-macosx_10_9_universal2.whl

Download URL pyfe3d-0.11.3-cp310-cp310-macosx_10_9_universal2.whl
Size 7.2 MB
Tags CPython 3.10 macOS 10.9+ universal2 (ARM64, x86-64)
SHA-256 checksum
How to use checksums
88d43481352c6bd37e8589fd07439eb0b2316514952502b479776d9df0e0ea13
BLAKE2b-256 checksum
How to use checksums
ea76373a7cf4f7f3c412b2acd562561d3a3fd799b29c1def32575a3e7099086c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.10.11

Security for pyfe3d 0.11.3

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.

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