Skip to main content

skfem-native

Native assembly for scikit-fem-style Python workflows

PyPI Python CI Documentation Status License: LGPL-3.0

skfem-native is an independent native assembly backend for scikit-fem-style Python workflows. It is distributed on PyPI as skfem-native and imported as skfemntv; it is not an official scikit-fem distribution. It keeps finite-element formulations in readable Python while accelerating reusable assembly, geometry, and sparse-scatter kernels in native code.

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.

skfem-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 skfem-native is built: its public abstractions, element conventions, DOF ordering, examples, and extensive body of implementation work define the compatibility target of this project. skfem-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 skfem-native

The distribution is named skfem-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

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 skfem-native 0.3.0

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

Source distribution (sdist)

Source distribution for skfem-native 0.3.0
File Size Uploaded
skfem_native-0.3.0.tar.gz 2.5 MB Details

Built distributions (wheels)

Table of built distributions (wheels) for skfem-native 0.3.0
File
skfem_native-0.3.0-cp314-cp314-win_amd64.whl CPython 3.14 CPython 3.14 Windows x86-64 Details
skfem_native-0.3.0-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
skfem_native-0.3.0-cp314-cp314-macosx_11_0_arm64.whl CPython 3.14 CPython 3.14 macOS 11.0+ ARM64 Details
skfem_native-0.3.0-cp314-cp314-macosx_10_15_x86_64.whl CPython 3.14 CPython 3.14 macOS 10.15+ x86-64 Details
skfem_native-0.3.0-cp313-cp313-win_amd64.whl CPython 3.13 CPython 3.13 Windows x86-64 Details
skfem_native-0.3.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl CPython 3.13 CPython 3.13 Linux glibc 2.27+ x86-64, Linux glibc 2.28+ x86-64 Details
skfem_native-0.3.0-cp313-cp313-macosx_11_0_arm64.whl CPython 3.13 CPython 3.13 macOS 11.0+ ARM64 Details
skfem_native-0.3.0-cp313-cp313-macosx_10_13_x86_64.whl CPython 3.13 CPython 3.13 macOS 10.13+ x86-64 Details
skfem_native-0.3.0-cp312-cp312-win_amd64.whl CPython 3.12 CPython 3.12 Windows x86-64 Details
skfem_native-0.3.0-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
skfem_native-0.3.0-cp312-cp312-macosx_11_0_arm64.whl CPython 3.12 CPython 3.12 macOS 11.0+ ARM64 Details
skfem_native-0.3.0-cp312-cp312-macosx_10_13_x86_64.whl CPython 3.12 CPython 3.12 macOS 10.13+ x86-64 Details
skfem_native-0.3.0-cp311-cp311-win_amd64.whl CPython 3.11 CPython 3.11 Windows x86-64 Details
skfem_native-0.3.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl CPython 3.11 CPython 3.11 Linux glibc 2.27+ x86-64, Linux glibc 2.28+ x86-64 Details
skfem_native-0.3.0-cp311-cp311-macosx_11_0_arm64.whl CPython 3.11 CPython 3.11 macOS 11.0+ ARM64 Details
skfem_native-0.3.0-cp311-cp311-macosx_10_9_x86_64.whl CPython 3.11 CPython 3.11 macOS 10.9+ x86-64 Details
skfem_native-0.3.0-cp310-cp310-win_amd64.whl CPython 3.10 CPython 3.10 Windows x86-64 Details
skfem_native-0.3.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl CPython 3.10 CPython 3.10 Linux glibc 2.27+ x86-64, Linux glibc 2.28+ x86-64 Details
skfem_native-0.3.0-cp310-cp310-macosx_11_0_arm64.whl CPython 3.10 CPython 3.10 macOS 11.0+ ARM64 Details
skfem_native-0.3.0-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 / skfem_native-0.3.0.tar.gz

Download URL skfem_native-0.3.0.tar.gz
Size 2.5 MB
Tags Source
SHA-256 checksum
How to use checksums
2100352cfa2d461cd17fffa3602ab671b12c4b950c6ffb2125cd5f5b82c36b53
BLAKE2b-256 checksum
How to use checksums
0da409cfca84c51ae25249c2acecc7108b9f11058e5e621a96ab511352eef484
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 13, 2026.

Transparency log

Release files / skfem_native-0.3.0-cp314-cp314-win_amd64.whl

Download URL skfem_native-0.3.0-cp314-cp314-win_amd64.whl
Size 497.9 kB
Tags CPython 3.14 Windows x86-64
SHA-256 checksum
How to use checksums
7f62a1a1222419c9e5a937a8d89861900f16259bfe730fb514dc5e61f4bf9ef0
BLAKE2b-256 checksum
How to use checksums
8c261e26c587c644ff5654ffaa6cf214c62d2f4a214b5e8d28cf0853e09b793c
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 13, 2026.

Transparency log

Release files / skfem_native-0.3.0-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL skfem_native-0.3.0-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 333.4 kB
Tags CPython 3.14 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
df37a155fab7784bbb59cef0c441b4a14390bf3d2bf5493a9f00486d294383c7
BLAKE2b-256 checksum
How to use checksums
40dac43ef8f9df12720acd14b797e3dd6a3658cf4677b1660bb52785e90b62fc
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 13, 2026.

Transparency log

Release files / skfem_native-0.3.0-cp314-cp314-macosx_11_0_arm64.whl

Download URL skfem_native-0.3.0-cp314-cp314-macosx_11_0_arm64.whl
Size 282.5 kB
Tags CPython 3.14 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
7135a4de3ac05e074cdc18b9b6e152e5207df15e1e6f1c51167b6a111a99d7c8
BLAKE2b-256 checksum
How to use checksums
e4a9da8d129ed56528dbe2685debdb132496f37175118856f1fb6735dea204c4
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 13, 2026.

Transparency log

Release files / skfem_native-0.3.0-cp314-cp314-macosx_10_15_x86_64.whl

Download URL skfem_native-0.3.0-cp314-cp314-macosx_10_15_x86_64.whl
Size 297.9 kB
Tags CPython 3.14 macOS 10.15+ x86-64
SHA-256 checksum
How to use checksums
693f5db18c0bbce668b03e8aaee394a42b22c0d6c7cc8699eb267a0673d6b359
BLAKE2b-256 checksum
How to use checksums
1cb0558be5a18bf6d78722b07d029bf40bbe4a1c509a5a4b191d7ea1eeaebc7e
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 13, 2026.

Transparency log

Release files / skfem_native-0.3.0-cp313-cp313-win_amd64.whl

Download URL skfem_native-0.3.0-cp313-cp313-win_amd64.whl
Size 486.1 kB
Tags CPython 3.13 Windows x86-64
SHA-256 checksum
How to use checksums
c6d5651b6731f67bcf24436dd5c6b97058ea58d5ccfbbc029fd7013ae5ceb57d
BLAKE2b-256 checksum
How to use checksums
822c2642396f4a9646589e850779e10cbe2ab5d12886195e3fd2156ef97aed99
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 13, 2026.

Transparency log

Release files / skfem_native-0.3.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL skfem_native-0.3.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 333.3 kB
Tags CPython 3.13 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
6e2dab65f38f06097409fd5e124067e2e231a767d176763731c11524bc723702
BLAKE2b-256 checksum
How to use checksums
f34014ce1ed54db454efd0671d35127d77317b92d96e29c3f1613ab390897e24
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 13, 2026.

Transparency log

Release files / skfem_native-0.3.0-cp313-cp313-macosx_11_0_arm64.whl

Download URL skfem_native-0.3.0-cp313-cp313-macosx_11_0_arm64.whl
Size 282.0 kB
Tags CPython 3.13 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
7368d84901ea20704c1ff9ecbe96f8ad0808b8ef9414ae86bc80e38dfba64abe
BLAKE2b-256 checksum
How to use checksums
6533f2d220a2c2fd47cc4059db02dab520c8b1966c85379e51303a413e5cf0dd
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 13, 2026.

Transparency log

Release files / skfem_native-0.3.0-cp313-cp313-macosx_10_13_x86_64.whl

Download URL skfem_native-0.3.0-cp313-cp313-macosx_10_13_x86_64.whl
Size 297.7 kB
Tags CPython 3.13 macOS 10.13+ x86-64
SHA-256 checksum
How to use checksums
d08cfcba8967f943253cb258cf5b5d56667c02c8c182ff687a05241dc99a23e3
BLAKE2b-256 checksum
How to use checksums
f3112aa82a86b07d0c4697b57dd7714fb58fd28d10c021d31a2a68b2df14a310
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 13, 2026.

Transparency log

Release files / skfem_native-0.3.0-cp312-cp312-win_amd64.whl

Download URL skfem_native-0.3.0-cp312-cp312-win_amd64.whl
Size 486.0 kB
Tags CPython 3.12 Windows x86-64
SHA-256 checksum
How to use checksums
9ccba57b63e3f0664668189c924bdd8092cebad210ddb8da74f5f45a9c03fc09
BLAKE2b-256 checksum
How to use checksums
b2f6e2e589341971b7126740b9c0b65554c63b65533473dadac3992417ae104b
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 13, 2026.

Transparency log

Release files / skfem_native-0.3.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL skfem_native-0.3.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 333.3 kB
Tags CPython 3.12 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
d94b66ab425373d45b51a1773c2d93ab8d5b7be344493a993f35a5a7b744a25d
BLAKE2b-256 checksum
How to use checksums
93f8e7476a5219759b426935bb4d0d7bc62cdcfd1dc5d3b64e9479e3e23e182d
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 13, 2026.

Transparency log

Release files / skfem_native-0.3.0-cp312-cp312-macosx_11_0_arm64.whl

Download URL skfem_native-0.3.0-cp312-cp312-macosx_11_0_arm64.whl
Size 282.0 kB
Tags CPython 3.12 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
5cac006bd0aac30e6561427c242d2dae136c9942c63bab2f8ccb501a2eda7c3e
BLAKE2b-256 checksum
How to use checksums
1944bef371f1c98ce10c73b8bcca9292490bf7ff03aa9cde7bb828ec8af758b7
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 13, 2026.

Transparency log

Release files / skfem_native-0.3.0-cp312-cp312-macosx_10_13_x86_64.whl

Download URL skfem_native-0.3.0-cp312-cp312-macosx_10_13_x86_64.whl
Size 297.6 kB
Tags CPython 3.12 macOS 10.13+ x86-64
SHA-256 checksum
How to use checksums
5685b69db5f3b941e7d18db04e90a6946aa33c06d4d671ca123a9120167faa05
BLAKE2b-256 checksum
How to use checksums
9021f929b6561871e94078e702a5d73006e2dc7cd31aea5a5a4dd7803644046d
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 13, 2026.

Transparency log

Release files / skfem_native-0.3.0-cp311-cp311-win_amd64.whl

Download URL skfem_native-0.3.0-cp311-cp311-win_amd64.whl
Size 482.8 kB
Tags CPython 3.11 Windows x86-64
SHA-256 checksum
How to use checksums
08d2b7d4212fded3ee6b351ab87415dd4df5bdaa1f34f8b839ca58de50f20970
BLAKE2b-256 checksum
How to use checksums
0db2cc28f03a80fb1a8a09961eb0677ca2ef163ad18ff05912e1a0765dd7b6fc
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 13, 2026.

Transparency log

Release files / skfem_native-0.3.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL skfem_native-0.3.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 331.1 kB
Tags CPython 3.11 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
cd362a3339679ca29aee9100207999db39ab7e94c718ed211e31c72f504ed407
BLAKE2b-256 checksum
How to use checksums
eeab26a1fd95b8eceeb8a0c88dcc1e92326fb1e64f3cbf7b6af70aafc709ded6
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 13, 2026.

Transparency log

Release files / skfem_native-0.3.0-cp311-cp311-macosx_11_0_arm64.whl

Download URL skfem_native-0.3.0-cp311-cp311-macosx_11_0_arm64.whl
Size 280.9 kB
Tags CPython 3.11 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
278b0e306a521597cbb4ac248b0a95dd9b9b602c71332b9047a0b2305aec542d
BLAKE2b-256 checksum
How to use checksums
cbddbc7cd722f0ffffe8c8c37556861461ea654c94a0e20525832357523c8d81
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 13, 2026.

Transparency log

Release files / skfem_native-0.3.0-cp311-cp311-macosx_10_9_x86_64.whl

Download URL skfem_native-0.3.0-cp311-cp311-macosx_10_9_x86_64.whl
Size 294.9 kB
Tags CPython 3.11 macOS 10.9+ x86-64
SHA-256 checksum
How to use checksums
7b7c35f74c382f9bb5020281a7185d9537af8823a00b97fdcf1b3a4a49db204b
BLAKE2b-256 checksum
How to use checksums
28d287a8f9b3bd866edff9bd0b58367bbc45ff3675adf1c0395a999875068e7c
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 13, 2026.

Transparency log

Release files / skfem_native-0.3.0-cp310-cp310-win_amd64.whl

Download URL skfem_native-0.3.0-cp310-cp310-win_amd64.whl
Size 481.8 kB
Tags CPython 3.10 Windows x86-64
SHA-256 checksum
How to use checksums
1672762154f96dbf8102539578137528f9b5e6be18ca9f159b32e26b1cf0723b
BLAKE2b-256 checksum
How to use checksums
fabfc6fcaa1343460bb70162b83900c3ff1d2a8155b8cdbab66cfbd118a31493
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 13, 2026.

Transparency log

Release files / skfem_native-0.3.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL skfem_native-0.3.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 330.7 kB
Tags CPython 3.10 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
3d41e81f8f0c9c592b11ac3a823fc336e79154f96dfe5c6ba6908818e3aa153b
BLAKE2b-256 checksum
How to use checksums
11c91a05d0874e4a286136e2d0586c4ff9a8e196571f5414ac657368dbf98be0
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 13, 2026.

Transparency log

Release files / skfem_native-0.3.0-cp310-cp310-macosx_11_0_arm64.whl

Download URL skfem_native-0.3.0-cp310-cp310-macosx_11_0_arm64.whl
Size 279.7 kB
Tags CPython 3.10 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
f2f89e5c2ece1558c06f47005747e9634d4e6347a81b8feaa61ba5a8dc9644f3
BLAKE2b-256 checksum
How to use checksums
e2e42c02c4ca25288d98863567296677ca065d83face69a37c6504c2169ef9f7
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 13, 2026.

Transparency log

Release files / skfem_native-0.3.0-cp310-cp310-macosx_10_9_x86_64.whl

Download URL skfem_native-0.3.0-cp310-cp310-macosx_10_9_x86_64.whl
Size 293.8 kB
Tags CPython 3.10 macOS 10.9+ x86-64
SHA-256 checksum
How to use checksums
c52900aa30244cec7e7018a2031baa87943fbe14951555b05ad7955dd226609b
BLAKE2b-256 checksum
How to use checksums
c1482514e85a8cfc6a70e4a7f196229f824d976a994c02f07bbbf48ab5a8fa5f
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 13, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.3.0 This release

21 release files

0.2.1

21 release files

0.2.0

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