Skip to main content

scikit-fem-native: native assembly for scikit-fem-style Python workflows

PyPI Python CI Documentation Status License: LGPL-3.0

scikit-fem-native is an independent native finite-element assembly engine for scikit-fem-style Python workflows. It accelerates reusable assembly, geometry, quadrature, and sparse-scatter kernels while preserving readable Python weak forms and, for its supported feature subset, scikit-fem-compatible DOF ordering and numerical results.

Motivation

The project exists to improve the performance of Python assembly workflows represented by scikit-fem without replacing their Python programming model. Weak forms, nonlinear constitutive updates, contact formulations, and solver policy remain ordinary Python components; stable and reusable numerical kernels are moved to native code where doing so provides a practical benefit.

This boundary is becoming more important in the era of AI-assisted coding. Application-specific nonlinear formulations can now be developed, reviewed, and revised rapidly when they remain small, explicit Python components. Libraries such as scikit-fem therefore become more valuable, not less: they provide a transparent mathematical vocabulary while avoiding the cost of embedding every new formulation in a monolithic compiled solver.

scikit-fem-native aims to combine that flexibility with faster assembly. It is a selectable backend for Python finite-element applications, not a separate owner of their material models or physical formulations.

Built on the work of scikit-fem

This project exists because scikit-fem demonstrated how effective a finite-element library can be when mathematical forms remain concise, readable Python. scikit-fem is implemented in pure Python, which makes its environment straightforward to install, inspect, and reproduce across development machines, notebooks, and CI systems. Its small and composable API makes the connection between a weak formulation and the assembled system unusually clear. That transparency is valuable for teaching and research, but also for production engineering: new elements, multiphysics terms, nonlinear material models, and contact formulations can be inspected and changed without hiding the governing equations behind a large generated or compiled framework. See the scikit-fem documentation for its installation guide, examples, and API reference.

scikit-fem also provides the practical foundation on which scikit-fem-native is built: its public abstractions, element conventions, DOF ordering, examples, and extensive body of implementation work define the compatibility target of this project. scikit-fem-native does not seek to replace that contribution. It explores how selected assembly kernels can be accelerated while preserving the Python-first model that makes scikit-fem useful.

We are grateful to the scikit-fem authors and contributors. The usefulness of this backend is a direct consequence of the careful design and sustained work of that community.

Installation

python -m pip install scikit-fem-native

The distribution is named scikit-fem-native; import it as skfemntv.

Quick start

import skfemntv
from skfemntv.helpers import dot, grad

mesh = skfemntv.MeshTet()
basis = skfemntv.Basis(mesh, skfemntv.ElementTetP1())

@skfemntv.BilinearForm
def diffusion(u, v, w):
    return dot(grad(u), grad(v))

matrix = skfemntv.asm(diffusion, basis)

Applications can select skfem.asm or skfemntv.asm at their backend boundary while preserving the weak-form call site. skfemntv is not yet a complete replacement for every scikit-fem feature, so backend selection should remain explicit.

For the supported mesh, element, basis, and assembly subset, the compatibility target is stronger: changing

import skfem

to

import skfemntv as skfem

should preserve public DOF ordering and numerical results. Higher-order DOFs are numbered by topological entity, following scikit-fem: vertices first, shared edges or facets next, and element interiors last. This makes assembled vectors and matrices directly interchangeable without a coordinate permutation.

Solver conveniences such as solve, enforce, and penalize are outside the native assembly backend. Applications may continue to use scikit-fem or SciPy for these operations.

Capabilities

  • functional, linear, bilinear, and cross-bilinear assembly
  • meshes, elements, bases, tabulation, and quadrature
  • caller-supplied tensor coefficient assembly
  • threaded native kernels and sparse scatter
  • cut-cell and implicit-interface quadrature
  • interface supermeshes and contact-facet search

Scalar anisotropic diffusion uses the same readable helper syntax as scikit-fem:

from skfemntv.helpers import dot, grad, mul

@skfemntv.BilinearForm
def anisotropic_diffusion(u, v, w):
    return dot(mul(w.diffusion, grad(u)), grad(v))

A = np.array([[2.0, 0.4], [0.1, 0.8]])
matrix = skfemntv.asm(anisotropic_diffusion, basis, diffusion=A)

The recommended public layout is the scikit-fem component-first form (dim, dim, entities, quadrature). A constant (dim, dim) tensor is also accepted and broadcast over all integration points. The entity-first native layout (entities, quadrature, dim, dim) remains accepted for low-level compatibility, but is not the preferred user-facing representation. The native kernel uses that internal layout so each quadrature-local tensor is contiguous in memory. Nonsymmetric tensors are retained rather than silently symmetrized. This first typed operation targets scalar H1 fields; vector-field fourth-order constitutive tensors remain separate work.

Coefficient components follow scikit-fem's component-first convention as well: w.material[0] selects axis 0. Multiple named fields can be used in a single typed form, for example:

@skfemntv.BilinearForm
def material_form(u, v, w):
    return (
        w.material[0] * dot(u, v)
        + w.material[1] * ddot(grad(u), grad(v))
        + dot(mul(w.diffusion, grad(u)), grad(v))
    )

Component indices must be integers. Missing fields and out-of-range components are reported with the coefficient name before assembly.

The mathematical compatibility boundary is also available at runtime:

skfemntv.supports("space.h1")       # True
skfemntv.supports("space.hcurl")    # False (declared as planned)
skfemntv.require_capability("space.hcurl")  # precise capability error

Use skfemntv.capabilities() for the complete machine-readable registry. Experimental capabilities require include_experimental=True; solver policy is explicitly marked external.

Experimental H(curl) simplex slices

The lowest-order first-family Nédélec element is available as a deliberately small experimental API for affine triangular meshes:

import numpy as np
from scipy.sparse.linalg import spsolve
import skfemntv

mesh = skfemntv.MeshTri.init_tensor(
    np.linspace(0.0, 1.0, 9), np.linspace(0.0, 1.0, 7)
)
basis = skfemntv.AffineTriN1Basis(mesh, intorder=3)
assembler = skfemntv.TriN1Assembler(basis)
linear_assembler = skfemntv.TriN1LinearAssembler(basis)
matrix = assembler.assemble_maxwell(
    mass_coefficient=1.0, curl_coefficient=0.05
).copy()

boundary = basis.boundary_dofs()
free = np.setdiff1d(np.arange(basis.N), boundary)
load = linear_assembler.assemble_vector_load(
    lambda x: np.array((0.0 * x[0], np.sin(np.pi * x[0])))
).copy()
solution = np.zeros(basis.N)
solution[free] = spsolve(matrix[free][:, free], load[free])

Analytic vector fields can be interpolated by their globally oriented edge moments and evaluated at basis quadrature points:

def field(x):
    return np.array((0.0 * x[0], x[0] * x[1]))

edge_values = basis.interpolate_edge_moments(field)
values = basis.evaluate(edge_values)       # (component, cell, quadrature)
curls = basis.evaluate_curl(edge_values)   # (cell, quadrature)
points = basis.global_coordinates          # (component, cell, quadrature)

The tetrahedral counterpart uses the same explicit workflow:

axis = np.linspace(0.0, 1.0, 5)
mesh = skfemntv.MeshTet.init_tensor(axis, axis, axis)
basis = skfemntv.AffineTetN1Basis(mesh, intorder=3)
assembler = skfemntv.TetN1Assembler(basis)
linear_assembler = skfemntv.TetN1LinearAssembler(basis)

# TetN1 integration is cell-parallel; applications retain thread ownership.
with skfemntv.thread_limit(4):
    matrix = assembler.assemble_maxwell(
        mass_coefficient=1.0, curl_coefficient=0.05
    ).copy()

load = linear_assembler.assemble_vector_load(
    lambda x: np.array((1.0 + 0.0 * x[0], x[0], -x[1]))
).copy()
boundary = basis.boundary_dofs()

TetN1 values and vector curls both use (basis, component, cell, quadrature) publicly; evaluated fields and curls use (component, cell, quadrature). The complete runnable example is examples/hcurl_tet_n1_maxwell.py.

These slices include oriented global edge numbering, affine covariant Piola mapping, mass/curl-curl/Maxwell CSR assembly, coefficient fields, memory preflight, and boundary-edge selection. They support only affine triangles and tetrahedra with one lowest-order tangential moment per edge. Neither basis is accepted by the general Basis or asm; curved mappings, higher order, and solver policy are not provided. Both bases support edge-moment interpolation and quadrature-point evaluation. The triangle example is examples/hcurl_tri_n1_maxwell.py.

TriN1Assembler uses NumPy/SciPy integration. TetN1Assembler uses a fused cell-parallel C++ integration kernel and the same fixed-CSR ownership model. Names describe their mathematical spaces rather than implementation details. Assembly methods reuse and overwrite one result object, so call .copy() before another assembly when results must be retained. Public basis values use component-first shape (basis, component, cell, quadrature) and curls use (basis, cell, quadrature) for triangles and (basis, component, cell, quadrature) for tetrahedra; coefficient fields use (cell, quadrature).

basis.geometry_diagnostics reports minimum signed/absolute Jacobian determinants, minimum cell area/volume, an edge-based aspect indicator, and the number of negatively oriented cells. An optional max_aspect_ratio constructor argument rejects meshes beyond an application-selected quality limit. Tests cover distorted meshes and mixed cell orientations, including manufactured PDE convergence. With this sharply limited scope, space.hcurl is declared experimental; this does not imply support for general meshes or form syntax.

Assembly memory preflight

Estimate native bilinear-assembler memory before its CSR pattern and scatter map are allocated:

estimate = skfemntv.estimate_bilinear_memory(basis)

print(skfemntv.format_bytes(
    estimate.construction_peak_total_bytes_upper_bound
))

if not estimate.fits_in(available_bytes, safety_factor=1.25):
    raise MemoryError("assembly does not fit the configured memory budget")

The same check can be enforced atomically before native CSR and scatter-map allocation:

assembler = skfemntv.NativeBilinearForm(
    basis,
    memory_limit_bytes=16 * 1024**3,
    memory_safety_factor=1.25,
)

NativeCrossBilinearForm accepts the same options. A failed check raises AssemblyMemoryBudgetError containing the estimate, configured budget, safety-adjusted requirement, and largest estimated allocation. The default safety factor is 1.25. Supplying no limit preserves existing behavior and does not impose a process-wide policy. Segmented CutCellBasis bilinear and cross assemblers use active-cell counts and flattened cut quadrature in the same preflight and budget API.

The report separates memory already retained by the basis from persistent native assembler allocations and temporary CSR-pattern construction memory. Its CSR nonzero count is a conservative, allocation-free upper bound. Python object overhead, allocator fragmentation, and coefficient arrays supplied at assembly time are intentionally excluded and listed in the report assumptions.

Use estimate_bilinear_memory(test_basis, trial_basis) for a rectangular cross-bilinear block. For mixed spaces, estimate_composite_bilinear_memory(basis, field_pairs=...) estimates the selected independently cached blocks; omitting field_pairs assumes all ordered field pairs are assembled once. Repeat a field pair when distinct value/gradient contraction kinds create multiple cached native blocks.

Assembly performance

The following reference run compares warm-cache Poisson P1 matrix and right-hand-side assembly using identical meshes and spaces. Results depend on hardware, thread affinity, and package versions; they are an example rather than a universal performance guarantee.

Poisson assembly scaling

See the benchmark methodology and recorded environment and values for details.

See DEVELOPMENT.md for the motivation, architecture boundary, and development principles.

Documentation

Read the scikit-fem-native documentation, including the precise scikit-fem compatibility boundary and the assembly performance methodology.

Build the Sphinx documentation locally:

python -m pip install -e '.[docs]'
sphinx-build -M html docs docs/_build

Open docs/_build/html/index.html after the build completes.

Development

python -m pip install -e '.[test]'
pytest -q

Metadata

Release files for scikit-fem-native 0.3.1

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

Source distribution (sdist)

Source distribution for scikit-fem-native 0.3.1
File Size Uploaded
scikit_fem_native-0.3.1.tar.gz 2.5 MB Details

Built distributions (wheels)

Table of built distributions (wheels) for scikit-fem-native 0.3.1
File
scikit_fem_native-0.3.1-cp314-cp314-win_amd64.whl CPython 3.14 CPython 3.14 Windows x86-64 Details
scikit_fem_native-0.3.1-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl CPython 3.14 CPython 3.14 Linux glibc 2.28+ x86-64, Linux glibc 2.27+ x86-64 Details
scikit_fem_native-0.3.1-cp314-cp314-macosx_11_0_arm64.whl CPython 3.14 CPython 3.14 macOS 11.0+ ARM64 Details
scikit_fem_native-0.3.1-cp314-cp314-macosx_10_15_x86_64.whl CPython 3.14 CPython 3.14 macOS 10.15+ x86-64 Details
scikit_fem_native-0.3.1-cp313-cp313-win_amd64.whl CPython 3.13 CPython 3.13 Windows x86-64 Details
scikit_fem_native-0.3.1-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl CPython 3.13 CPython 3.13 Linux glibc 2.28+ x86-64, Linux glibc 2.27+ x86-64 Details
scikit_fem_native-0.3.1-cp313-cp313-macosx_11_0_arm64.whl CPython 3.13 CPython 3.13 macOS 11.0+ ARM64 Details
scikit_fem_native-0.3.1-cp313-cp313-macosx_10_13_x86_64.whl CPython 3.13 CPython 3.13 macOS 10.13+ x86-64 Details
scikit_fem_native-0.3.1-cp312-cp312-win_amd64.whl CPython 3.12 CPython 3.12 Windows x86-64 Details
scikit_fem_native-0.3.1-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl CPython 3.12 CPython 3.12 Linux glibc 2.28+ x86-64, Linux glibc 2.27+ x86-64 Details
scikit_fem_native-0.3.1-cp312-cp312-macosx_11_0_arm64.whl CPython 3.12 CPython 3.12 macOS 11.0+ ARM64 Details
scikit_fem_native-0.3.1-cp312-cp312-macosx_10_13_x86_64.whl CPython 3.12 CPython 3.12 macOS 10.13+ x86-64 Details
scikit_fem_native-0.3.1-cp311-cp311-win_amd64.whl CPython 3.11 CPython 3.11 Windows x86-64 Details
scikit_fem_native-0.3.1-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl CPython 3.11 CPython 3.11 Linux glibc 2.28+ x86-64, Linux glibc 2.27+ x86-64 Details
scikit_fem_native-0.3.1-cp311-cp311-macosx_11_0_arm64.whl CPython 3.11 CPython 3.11 macOS 11.0+ ARM64 Details
scikit_fem_native-0.3.1-cp311-cp311-macosx_10_9_x86_64.whl CPython 3.11 CPython 3.11 macOS 10.9+ x86-64 Details
scikit_fem_native-0.3.1-cp310-cp310-win_amd64.whl CPython 3.10 CPython 3.10 Windows x86-64 Details
scikit_fem_native-0.3.1-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl CPython 3.10 CPython 3.10 Linux glibc 2.28+ x86-64, Linux glibc 2.27+ x86-64 Details
scikit_fem_native-0.3.1-cp310-cp310-macosx_11_0_arm64.whl CPython 3.10 CPython 3.10 macOS 11.0+ ARM64 Details
scikit_fem_native-0.3.1-cp310-cp310-macosx_10_9_x86_64.whl CPython 3.10 CPython 3.10 macOS 10.9+ x86-64 Details

Total release size: 9.5 MB

Release files / scikit_fem_native-0.3.1.tar.gz

Download URL scikit_fem_native-0.3.1.tar.gz
Size 2.5 MB
Tags Source
SHA-256 checksum
How to use checksums
a1cab78affeba281bec5eca7fc1c46b168f757a196306b15388de79fc23d5717
BLAKE2b-256 checksum
How to use checksums
7a309179c4573d2ab0c74380dd4dbd6a4f659f15fa73719a82ef11bab02072b4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 20, 2026.

Transparency log

Release files / scikit_fem_native-0.3.1-cp314-cp314-win_amd64.whl

Download URL scikit_fem_native-0.3.1-cp314-cp314-win_amd64.whl
Size 498.1 kB
Tags CPython 3.14 Windows x86-64
SHA-256 checksum
How to use checksums
4cad7812c55b3fa05dfcb338701dc6ead15811dc325e95ba02c77e4acdd1722e
BLAKE2b-256 checksum
How to use checksums
ca5dd598d7796b65a927cb66beaacea4a0b10cc2b07de36024f6646ded3bc85f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 20, 2026.

Transparency log

Release files / scikit_fem_native-0.3.1-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL scikit_fem_native-0.3.1-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 333.6 kB
Tags CPython 3.14 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
0b6bfe90698447c5fa80132d9ab0d72442b28bc7d536f1487ba0fd90b0ee80eb
BLAKE2b-256 checksum
How to use checksums
0b5cb55dc3b9fea97554f3dfcfbaff9a3c9eac1d2777430ddf4d7970bcb7b7d4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 20, 2026.

Transparency log

Release files / scikit_fem_native-0.3.1-cp314-cp314-macosx_11_0_arm64.whl

Download URL scikit_fem_native-0.3.1-cp314-cp314-macosx_11_0_arm64.whl
Size 282.7 kB
Tags CPython 3.14 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
d12c0c37244bd8b4b4aecac3eedc430eb59440ae0ebef93bbd4eb769186afedd
BLAKE2b-256 checksum
How to use checksums
ab8b1d779ddd09103654fcb85e436b926f357103380221971834581cf512cfee
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 20, 2026.

Transparency log

Release files / scikit_fem_native-0.3.1-cp314-cp314-macosx_10_15_x86_64.whl

Download URL scikit_fem_native-0.3.1-cp314-cp314-macosx_10_15_x86_64.whl
Size 298.1 kB
Tags CPython 3.14 macOS 10.15+ x86-64
SHA-256 checksum
How to use checksums
b9caaf680113f58181a97151dc9ddf2fd2e6a04f24783667bcda7fd5ffa02ae9
BLAKE2b-256 checksum
How to use checksums
339ff9103e08d3feaf99607ac2ebe735516fe9e450b5b1f8de61106ed8f60d91
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 20, 2026.

Transparency log

Release files / scikit_fem_native-0.3.1-cp313-cp313-win_amd64.whl

Download URL scikit_fem_native-0.3.1-cp313-cp313-win_amd64.whl
Size 486.4 kB
Tags CPython 3.13 Windows x86-64
SHA-256 checksum
How to use checksums
5b6500d41924090fcdc3b062ffed009891da253ae7f8f1ea77c799063af3f127
BLAKE2b-256 checksum
How to use checksums
ed789a342089db8783272f819ecd73a67674149ba60cf27fe611d23d2e612658
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 20, 2026.

Transparency log

Release files / scikit_fem_native-0.3.1-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL scikit_fem_native-0.3.1-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 333.5 kB
Tags CPython 3.13 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
6032713f1be9a6e8c6ca6f911ec812b38862df9de8594c845d9e2d4927b39089
BLAKE2b-256 checksum
How to use checksums
a45b2a5a1d090dcf174ed93c2df4f24f1bc77612ec41bd34e7ea70c5c372bf64
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 20, 2026.

Transparency log

Release files / scikit_fem_native-0.3.1-cp313-cp313-macosx_11_0_arm64.whl

Download URL scikit_fem_native-0.3.1-cp313-cp313-macosx_11_0_arm64.whl
Size 282.2 kB
Tags CPython 3.13 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
b6fd558f8854698d60b364702e63734f3a4e8336d1ec10793563ed6c791c2b08
BLAKE2b-256 checksum
How to use checksums
19f3a61f892de9ab82fb0cf6bd1b4b84d06e9a8ed1bbffe4cd53e99690197250
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 20, 2026.

Transparency log

Release files / scikit_fem_native-0.3.1-cp313-cp313-macosx_10_13_x86_64.whl

Download URL scikit_fem_native-0.3.1-cp313-cp313-macosx_10_13_x86_64.whl
Size 297.9 kB
Tags CPython 3.13 macOS 10.13+ x86-64
SHA-256 checksum
How to use checksums
deeabb571f6aee74b2c5c3a61853a2fa10757c53253e99d7ef8e46b7191ffb02
BLAKE2b-256 checksum
How to use checksums
58ea86ea940f069b6e77495fc303d25ebaef9fcbc5dc872f7265f4bd1be28411
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 20, 2026.

Transparency log

Release files / scikit_fem_native-0.3.1-cp312-cp312-win_amd64.whl

Download URL scikit_fem_native-0.3.1-cp312-cp312-win_amd64.whl
Size 486.3 kB
Tags CPython 3.12 Windows x86-64
SHA-256 checksum
How to use checksums
e607b8ead4bf93d0ddfcf7124e46e92c714c3cfbe9fe1f348651f6704aa68200
BLAKE2b-256 checksum
How to use checksums
06204ef7ff8026157311a428b045bc684f22015778dcb034c470ffed73f047a1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 20, 2026.

Transparency log

Release files / scikit_fem_native-0.3.1-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL scikit_fem_native-0.3.1-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 333.5 kB
Tags CPython 3.12 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
3d43d764a8792f7f942f397bbdc3e30efff819b27051eae3626933c5ff81e80c
BLAKE2b-256 checksum
How to use checksums
3ba820b136aae0b23d2554aae88fa8e402bd08827c0e5a20ed079d788d7f362b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 20, 2026.

Transparency log

Release files / scikit_fem_native-0.3.1-cp312-cp312-macosx_11_0_arm64.whl

Download URL scikit_fem_native-0.3.1-cp312-cp312-macosx_11_0_arm64.whl
Size 282.2 kB
Tags CPython 3.12 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
93ab266331efc92bad366d732c6244fb21465dd3162631bb231797154f704933
BLAKE2b-256 checksum
How to use checksums
4e3c1dc8ffd9272b2aba3921bfb9196a6524596aa67d61876c8139e6f2c99d39
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 20, 2026.

Transparency log

Release files / scikit_fem_native-0.3.1-cp312-cp312-macosx_10_13_x86_64.whl

Download URL scikit_fem_native-0.3.1-cp312-cp312-macosx_10_13_x86_64.whl
Size 297.9 kB
Tags CPython 3.12 macOS 10.13+ x86-64
SHA-256 checksum
How to use checksums
6aed004a2d160fb98c26a30a17b95dcdf1e45dc3862722d3f9ea9f3802ba11d6
BLAKE2b-256 checksum
How to use checksums
ca2205b57ca9164aa3ffe6033258148b885778998c243d2891c591c1a99913f9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 20, 2026.

Transparency log

Release files / scikit_fem_native-0.3.1-cp311-cp311-win_amd64.whl

Download URL scikit_fem_native-0.3.1-cp311-cp311-win_amd64.whl
Size 483.0 kB
Tags CPython 3.11 Windows x86-64
SHA-256 checksum
How to use checksums
f5b3c44c31c7e165dd9c672a6f54b1babfe1b0fa07cac4fc6ad0bad09af7e97a
BLAKE2b-256 checksum
How to use checksums
d880a59eced9cc620c2772a23653526818a8e1edd3ffa2a02aa94941a0e664e9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 20, 2026.

Transparency log

Release files / scikit_fem_native-0.3.1-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL scikit_fem_native-0.3.1-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 331.3 kB
Tags CPython 3.11 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
4b29bda14f0bc640580c2cd87bbbd44997901e3b72e6a746a20a7d4a8107354f
BLAKE2b-256 checksum
How to use checksums
fba2d79c86234886aae9cb5f480944942bc56674baf7dc5ad9fec696c4366cad
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 20, 2026.

Transparency log

Release files / scikit_fem_native-0.3.1-cp311-cp311-macosx_11_0_arm64.whl

Download URL scikit_fem_native-0.3.1-cp311-cp311-macosx_11_0_arm64.whl
Size 281.1 kB
Tags CPython 3.11 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
65763c1c68fe730eef233d2e63fb82519809fac5d4b67f849e1e4d3af2ad3cb3
BLAKE2b-256 checksum
How to use checksums
0500d15a5fa0afa0767dd8d402d497d6b7fc68b5e376d7decef0f0d9853c6b8c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 20, 2026.

Transparency log

Release files / scikit_fem_native-0.3.1-cp311-cp311-macosx_10_9_x86_64.whl

Download URL scikit_fem_native-0.3.1-cp311-cp311-macosx_10_9_x86_64.whl
Size 295.1 kB
Tags CPython 3.11 macOS 10.9+ x86-64
SHA-256 checksum
How to use checksums
5fe69a8c78f3e0ad3ec573220e40d982a136e410ba2c782f4ff96019b4d2ae10
BLAKE2b-256 checksum
How to use checksums
8a046436a912dd18997bf71a340483aa145b33c948ee7bc3a835acf8b206f34a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 20, 2026.

Transparency log

Release files / scikit_fem_native-0.3.1-cp310-cp310-win_amd64.whl

Download URL scikit_fem_native-0.3.1-cp310-cp310-win_amd64.whl
Size 482.0 kB
Tags CPython 3.10 Windows x86-64
SHA-256 checksum
How to use checksums
03517a3b8944af5d3f921c77c5862fbf4574be7985a51394035294686c477096
BLAKE2b-256 checksum
How to use checksums
c631800604c35474d2cbce3a41a325d4231c320571be640dd923dba5056c634c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 20, 2026.

Transparency log

Release files / scikit_fem_native-0.3.1-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL scikit_fem_native-0.3.1-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 331.0 kB
Tags CPython 3.10 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
eecb1a70d19830d49bd476f16530c09168c4ddd28d2a2721c577112e9cdebfd4
BLAKE2b-256 checksum
How to use checksums
d02b8e65dcd77213b25f9c6249f83dc386450e5c98e61ec6fd3c6daf9c26edd5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 20, 2026.

Transparency log

Release files / scikit_fem_native-0.3.1-cp310-cp310-macosx_11_0_arm64.whl

Download URL scikit_fem_native-0.3.1-cp310-cp310-macosx_11_0_arm64.whl
Size 279.9 kB
Tags CPython 3.10 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
015c4b6c65c1c081c754f9484504fe156eba9de64c65aa3243ab7d9af51aead4
BLAKE2b-256 checksum
How to use checksums
4605fea3ac1d842fa89d56d8e63a3d788f893e2961faefd4aba8f24995bef99c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 20, 2026.

Transparency log

Release files / scikit_fem_native-0.3.1-cp310-cp310-macosx_10_9_x86_64.whl

Download URL scikit_fem_native-0.3.1-cp310-cp310-macosx_10_9_x86_64.whl
Size 294.0 kB
Tags CPython 3.10 macOS 10.9+ x86-64
SHA-256 checksum
How to use checksums
156b3ba01b5551247b4c03242266d66f11816038e0a3a0f02aef3261d466f2b3
BLAKE2b-256 checksum
How to use checksums
62a202d46446d5edc54e08d933660bfe6f75427c87652f47165a866b8cb6b562
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 20, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.3.1 This release

21 release files

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