Skip to main content

PyTNL

PyTNL provides Python bindings for the Template Numerical Library (TNL) — a modern C++ library for building efficient numerical solvers and HPC algorithms.

TNL targets multicore CPUs, GPUs (CUDA and ROCm/HIP) and distributed-memory systems (MPI) behind a unified programming model. PyTNL exposes selected TNL building blocks to Python, enabling Python-driven workflows while keeping performance-critical kernels in compiled backends.

Scope

PyTNL is intended for:

  • interoperability with TNL components where Python bindings are available,
  • prototyping and orchestration of numerical solvers or HPC workflows,
  • combining Python ergonomics with native code performance characteristics.

The exact set of exported classes and functions may evolve over time.

Highlights

TNL (and therefore PyTNL where bindings exist) provides building blocks such as:

  • CPU/GPU-aware data structures and memory utilities
  • parallel primitives (iteration patterns, reductions, scans)
  • linear algebra foundations (templated vectors, dense and sparse matrices, sparse data formats (segments))
  • iterative linear solvers and preconditioners (CG, BiCGStab, GMRES, Jacobi, etc.)
  • ODE solvers (Euler, Fehlberg, Kutta, Heun, Runge-Kutta-Merson, Matlab, etc.)
  • structured grid and unstructured mesh data structures (including distributed) and utilities, including import from FPMA, Netgen, VTK, VTU and PVTU formats

Documentation

PyTNL documentation (including installation instructions) is hosted on GitLab Pages: https://tnl-project.gitlab.io/pytnl/

License

PyTNL is provided under the terms of the MIT License.

Release files for pytnl 0.0.13

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

Source distribution (sdist)

Source distribution for pytnl 0.0.13
File Size Uploaded
pytnl-0.0.13.tar.gz 315.2 kB Details

Release files / pytnl-0.0.13.tar.gz

Download URL pytnl-0.0.13.tar.gz
Size 315.2 kB
Tags Source
SHA-256 checksum
How to use checksums
8835a4c56cb062b2358c979394198dc0310444d06dba2fe1adaaf448ea918a9e
BLAKE2b-256 checksum
How to use checksums
33352b2cf5387c799eece03e48ff3914b975dad2d879f633ef02bd102363f4f2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.14.7

Release history Release notifications | RSS feed

This release

0.0.13 This release

1 release file

0.0.12

1 release file

0.0.11

1 release file

0.0.10

1 release file

0.0.9

1 release file

0.0.8

1 release file

0.0.7

1 release file

0.0.6

1 release file

0.0.5

1 release file

0.0.4

1 release file

0.0.3

1 release file

0.0.2

1 release file

0.0.1

1 release file

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