eagar-tsai
eagar-tsai is a Python library implementing the Eagar–Tsai moving heat source model to estimate melt pool dimensions (length, width, depth) for a scanning laser over a semi-infinite solid. Temperature fields are computed via a 1D integral; melt pool dimensions are extracted from the liquidus isotherm. Built-in plotting covers 2-D temperature field heatmaps, 3-D temperature volume rendering with PyVista, and power-velocity printability maps.
Installation
Pre-built binary wheels are published to PyPI for Python 3.12, 3.13, and 3.14 on Linux (x86-64, i686), macOS (x86-64 and Apple Silicon), and Windows (AMD64). If a matching wheel exists for your platform, no C compiler is needed.
# Recommended: uv
uv add eagar-tsai
# Alternative: pip
pip install eagar-tsai
matplotlib and pyvista are not installed by default. Add the plot extra to use plot_temperature_field, plot_temperature_field_3d, plot_printability_map, or the .plot() / .plot_3d() methods on results:
# Using uv
uv add "eagar-tsai[plot]"
# Using pip
pip install "eagar-tsai[plot]"
Quick Start
For a single parameter set, use compute_single_point directly:
from eagar_tsai import BeamParameters, MaterialProperties, SimulationDomain, compute_single_point
beam = BeamParameters(
beam_diameter=100e-6,
power=200.0,
velocity=0.5,
absorptivity=0.35
)
material = MaterialProperties(
liquidus_temperature=1700.0,
thermal_conductivity=30.0,
density=7800.0,
specific_heat=700.0
)
domain = SimulationDomain(
x_length_um=1200.0,
y_length_um=1200.0,
z_depth_um=1000.0,
spatial_resolution_um=1.0,
)
result = compute_single_point(beam, material, domain)
print(f"Length: {result.length_um:.1f} µm")
print(f"Width: {result.width_um:.1f} µm")
print(f"Depth: {result.depth_um:.1f} µm")
To run multiple parameter sets in parallel, use compute_melt_pool with a DataFrame. workers, chunk_size, and output_dir are optional:
import pandas as pd
from eagar_tsai import compute_melt_pool
df = pd.DataFrame({
"velocity_m_s": [0.5],
"power_w": [200.0],
"beam_diameter_m": [100e-6],
"absorptivity": [0.35],
"liquidus_temperature_k": [1700.0],
"thermal_conductivity_w_mk": [30.0],
"density_kg_m3": [7800.0],
"specific_heat_j_kgk": [700.0],
})
result = compute_melt_pool(
data=df,
workers=4, # parallel worker processes (default: None, serial)
chunk_size=50, # rows per worker chunk (default: 50)
output_dir="CalcFiles/", # write per-chunk CSVs (default: None)
)
print(result[["melt_length_um", "melt_width_um", "melt_depth_um"]])
Required Input Columns
| Column | Unit | Description |
|---|---|---|
velocity_m_s |
m/s | Scan velocity |
power_w |
W | Laser power |
beam_diameter_m |
m | Beam diameter (2σ) |
absorptivity |
- | Absorptivity (0, 1] |
liquidus_temperature_k |
K | Liquidus temperature |
thermal_conductivity_w_mk |
W/(m·K) | Thermal conductivity at liquidus |
density_kg_m3 |
kg/m³ | Density |
specific_heat_j_kgk |
J/(kg·K) | Specific heat at liquidus |
Output Columns Added to the DataFrame
| Column | Unit | Notes |
|---|---|---|
melt_length |
m | |
melt_width |
m | |
melt_depth |
m | |
melt_length_um |
µm | |
melt_width_um |
µm | |
melt_depth_um |
µm | |
peak_temperature |
K | |
min_temperature |
K | |
temperature_field |
- | TemperatureField object; None on failure. Pass return_field=False to omit. |
Temperature Field Visualization
compute_single_point returns a MeltPoolResult that always includes the full TemperatureField and a built-in plot method:
from eagar_tsai import BeamParameters, MaterialProperties, SimulationDomain, compute_single_point
beam = BeamParameters(
beam_diameter=100e-6,
power=200.0,
velocity=0.5,
absorptivity=0.35
)
material = MaterialProperties(
liquidus_temperature=1700.0,
thermal_conductivity=30.0,
density=7800.0,
specific_heat=700.0
)
domain = SimulationDomain(
x_length_um=320.0,
y_length_um=110.0,
z_depth_um=60.0,
spatial_resolution_um=5.0,
)
result = compute_single_point(
beam=beam,
material=material,
domain=domain
)
print(result.length_um) # melt pool length in µm
print(result.temperature_field.T_xy.shape) # (ny, nx): surface plane in Kelvin
print(result.temperature_field.T_xz.shape) # (nz, nx): depth cross-section in Kelvin
fig = result.plot(output="temperature_field.png") # equivalently: result.temperature_field.plot(output="temperature_field.png")
The standalone convenience function skips constructing the MeltPoolResult object explicitly:
from eagar_tsai.plot import plot_temperature_field
fig = plot_temperature_field(beam, material, domain, output="temperature_field.png")
3-D Temperature Volume
compute_temperature_volume evaluates the full (nx, ny, nz) temperature array on the auto-sized domain and returns a TemperatureVolume. The y axis covers only the half-domain by symmetry; mirror_y=True (the default) reconstructs the full melt pool for rendering and export.
The 3-D computation evaluates the integral at every grid point in the volume. For interactive use, coarser spatial resolution (e.g. spatial_resolution_um=5.0) gives a 25× speed-up over the 1 µm default with minimal loss of shape accuracy.
from eagar_tsai import BeamParameters, MaterialProperties, SimulationDomain
from eagar_tsai import compute_temperature_volume
beam = BeamParameters(
beam_diameter=80e-6,
power=250.0,
velocity=0.5,
absorptivity=0.59,
)
material = MaterialProperties(
liquidus_temperature=3455.0,
thermal_conductivity=23.75,
density=18038.9,
specific_heat=251.6,
)
domain = SimulationDomain(
x_length_um=800.0,
y_length_um=400.0,
z_depth_um=300.0,
spatial_resolution_um=5.0,
)
volume = compute_temperature_volume(beam, material, domain, workers=-1)
print(volume.T_xyz.shape) # (nx, ny, nz) in Kelvin
print(volume.result.length_um) # melt pool length from the 2-D auto-sizing step
volume.export_vti("temperature_volume.vti") # export for ParaView / VisIt
fig = volume.plot_3d() # returns a matplotlib Figure
plotter = volume.plot_3d(return_plotter=True) # interactive PyVista window
The standalone convenience function skips constructing the TemperatureVolume object explicitly:
from eagar_tsai.plot import plot_temperature_field_3d
# Returns a matplotlib Figure by default
fig = plot_temperature_field_3d(beam, material, domain, workers=-1)
# Save the rendered image and also export a .vti file in one call
fig = plot_temperature_field_3d(
beam, material, domain,
workers=-1,
output="volume.png",
output_vti="volume.vti",
)
# Open an interactive PyVista window
plotter = plot_temperature_field_3d(beam, material, domain, workers=-1, return_plotter=True)
To compute 3-D volumes for multiple parameter sets from a DataFrame, use compute_temperature_volumes:
import pandas as pd
from eagar_tsai import compute_temperature_volumes
df = pd.DataFrame({
"velocity_m_s": [0.5, 1.0],
"power_w": [200.0, 300.0],
"beam_diameter_m": [100e-6, 100e-6],
"absorptivity": [0.35, 0.35],
"liquidus_temperature_k": [1700.0, 1700.0],
"thermal_conductivity_w_mk": [30.0, 30.0],
"density_kg_m3": [7800.0, 7800.0],
"specific_heat_j_kgk": [700.0, 700.0],
})
volumes = compute_temperature_volumes(df, workers=-1)
volumes[0].export_vti("row0_volume.vti")
Printability Maps
compute_printability_map sweeps laser power and scan speed over a regular grid, runs the Eagar–Tsai model at every point, and classifies each point into one of four defect regimes (keyhole porosity, lack of fusion, balling, or defect-free) using the five criteria from Sheikh et al. (2023). Each grid point is dispatched as an independent parallel task, so workers stay fully utilized even when isolated points require iterative domain expansion.
from eagar_tsai import (
MaterialProperties,
PrintabilityParameters,
SimulationDomain,
compute_printability_map,
)
from eagar_tsai.plot import plot_printability_map
material = MaterialProperties(
liquidus_temperature=1700.0,
thermal_conductivity=30.0,
density=7800.0,
specific_heat=700.0,
)
process = PrintabilityParameters(
beam_diameter_m=80e-6,
absorptivity=0.35,
layer_thickness_m=40e-6,
hatch_spacing_m=90e-6,
)
domain = SimulationDomain(
x_length_um=1200.0,
y_length_um=1200.0,
z_depth_um=1000.0,
spatial_resolution_um=5.0, # coarser grid, ~25x faster than 1 µm
)
# Raw data: one row per grid point with defect classification
df = compute_printability_map(
process,
material,
power_range=(50.0, 400.0),
velocity_range=(0.1, 3.0),
n_power=50,
n_velocity=50,
domain=domain,
workers=-1, # use all CPU cores
)
print(df["defect"].value_counts())
# Or render directly as a color-coded figure
fig = plot_printability_map(
process,
material,
power_range=(50.0, 400.0),
velocity_range=(0.1, 3.0),
n_power=50,
n_velocity=50,
domain=domain,
workers=-1,
output="printability_map.png",
)
References
- T. W. Eagar and N.-S. Tsai, "Temperature Fields Produced by Traveling Distributed Heat Sources," Welding Journal (Research Supplement), December 1983, pp. 346-s–354-s.
- C integrand reformulation: Sasha Rubenchik, LLNL, 2015.
License
This project is licensed under the GNU GPLv3 License. See the LICENSE file for details.
Citation
We are currently preparing a preprint for publication. If you use eagar-tsai in your research, please cite the following:
Sarıtürk, D., & Vela, B. (2026). eagar-tsai. Zenodo. https://doi.org/10.5281/zenodo.19837225
BibTeX:
@software{sariturk_2026_19837225,
author = {Sarıtürk, Doğuhan and Vela, Brent},
title = {eagar-tsai},
year = 2026,
publisher = {Zenodo},
doi = {10.5281/zenodo.19837225},
url = {https://doi.org/10.5281/zenodo.19837225},
}
Metadata
Release files for eagar-tsai 0.5.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| eagar_tsai-0.5.0.tar.gz | 49.6 kB | Details |
Built distributions (wheels)
Total release size: 897.4 kB
Release files / eagar_tsai-0.5.0.tar.gz
| Download URL | eagar_tsai-0.5.0.tar.gz |
|---|---|
| Size | 49.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
2b4faecf7864182bdfdba3d095a77174d08b9799c04e6fe773e398a9590f20f8
|
|
BLAKE2b-256 checksum How to use checksums |
a0bf5fff0441f5ebe6aef5bd4fa21a0ae8f25e7052ae57e4f5020c3d4a248e9e
|
| 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 Sep 22, 2026.
Transparency logRelease files / eagar_tsai-0.5.0-cp314-cp314-win_amd64.whl
| Download URL | eagar_tsai-0.5.0-cp314-cp314-win_amd64.whl |
|---|---|
| Size | 47.4 kB |
| Tags | CPython 3.14 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
c362c29191b4e5317ef27e014dfd2002e7900382b74a71ff0da8cf6ea1a04b6b
|
|
BLAKE2b-256 checksum How to use checksums |
9bcea2d4d76ee7432046fc6807c662cb4ccdf54a35a91ac79dfd114f9d315423
|
| 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 Sep 22, 2026.
Transparency logRelease files / eagar_tsai-0.5.0-cp314-cp314-win32.whl
| Download URL | eagar_tsai-0.5.0-cp314-cp314-win32.whl |
|---|---|
| Size | 47.2 kB |
| Tags | CPython 3.14 Windows x86-32 |
|
SHA-256 checksum How to use checksums |
0e80a96d7e4564ff6d2b06cdb7800bf2552a8db304f0d3c4848fa6ccefac953d
|
|
BLAKE2b-256 checksum How to use checksums |
bd265b441b327b8b90853bdc08cf0ddede8a78c08ec8185b7d079eaecf0137d0
|
| 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 Sep 22, 2026.
Transparency logRelease files / eagar_tsai-0.5.0-cp314-cp314-musllinux_1_2_x86_64.whl
| Download URL | eagar_tsai-0.5.0-cp314-cp314-musllinux_1_2_x86_64.whl |
|---|---|
| Size | 50.0 kB |
| Tags | CPython 3.14 Linux musl 1.2+ x86-64 |
|
SHA-256 checksum How to use checksums |
f14c9952a0b59168694d0402898f6ccc6a9b1efede66138cb084cdd92baa8465
|
|
BLAKE2b-256 checksum How to use checksums |
8c3444b399d558d243c9141dda95b8232d3586e0e5ea993338f71a65ccfaf79c
|
| 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 Sep 22, 2026.
Transparency logRelease files / eagar_tsai-0.5.0-cp314-cp314-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
| Download URL | eagar_tsai-0.5.0-cp314-cp314-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl |
|---|---|
| Size | 50.0 kB |
| Tags | CPython 3.14 Linux glibc 2.28+ x86-64 Linux glibc 2.5+ x86-64 |
|
SHA-256 checksum How to use checksums |
e4592252ac25d44e7c7f52b4452075848d220bcab1e413a9fe5fe6cfcc14372f
|
|
BLAKE2b-256 checksum How to use checksums |
44653657fce71d85532d1effea9b6897bb340b42986a038d8097d9fe0cfec667
|
| 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 Sep 22, 2026.
Transparency logRelease files / eagar_tsai-0.5.0-cp314-cp314-macosx_11_0_arm64.whl
| Download URL | eagar_tsai-0.5.0-cp314-cp314-macosx_11_0_arm64.whl |
|---|---|
| Size | 44.3 kB |
| Tags | CPython 3.14 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
8d4a4e5ded1517b2a2c632ce538f4c574f6ba0fd4e735371315e5118dd5efa2b
|
|
BLAKE2b-256 checksum How to use checksums |
1b80ddd3e29f972bd94a9bd808127a0df26aa786b48426e7870cef1af5bdb159
|
| 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 Sep 22, 2026.
Transparency logRelease files / eagar_tsai-0.5.0-cp314-cp314-macosx_10_15_x86_64.whl
| Download URL | eagar_tsai-0.5.0-cp314-cp314-macosx_10_15_x86_64.whl |
|---|---|
| Size | 44.0 kB |
| Tags | CPython 3.14 macOS 10.15+ x86-64 |
|
SHA-256 checksum How to use checksums |
5704b67c76580893a646152a09b99df1a7030b454d161232fbefacebb9555f7e
|
|
BLAKE2b-256 checksum How to use checksums |
1ff43b648f011b60ea239df92f246034b4c46ccd5999e337f893f64e79ef232f
|
| 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 Sep 22, 2026.
Transparency logRelease files / eagar_tsai-0.5.0-cp313-cp313-win_amd64.whl
| Download URL | eagar_tsai-0.5.0-cp313-cp313-win_amd64.whl |
|---|---|
| Size | 47.2 kB |
| Tags | CPython 3.13 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
95d8716980ac23fdadb0973267bed2bd4592dce94566c5eb8c66b5f8da91322b
|
|
BLAKE2b-256 checksum How to use checksums |
84dbf7da01b7b0be03446c402459764b99e24ac1326342362cd0536bdab70c9d
|
| 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 Sep 22, 2026.
Transparency logRelease files / eagar_tsai-0.5.0-cp313-cp313-win32.whl
| Download URL | eagar_tsai-0.5.0-cp313-cp313-win32.whl |
|---|---|
| Size | 47.0 kB |
| Tags | CPython 3.13 Windows x86-32 |
|
SHA-256 checksum How to use checksums |
fbc05872f997438018251d63a2ce18126ab940345dfea4ba99c20138b61d49c9
|
|
BLAKE2b-256 checksum How to use checksums |
86e79cedd24a3c0fc89477f2562af7daef64c04285fb1d9caef4dded2b93cf60
|
| 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 Sep 22, 2026.
Transparency logRelease files / eagar_tsai-0.5.0-cp313-cp313-musllinux_1_2_x86_64.whl
| Download URL | eagar_tsai-0.5.0-cp313-cp313-musllinux_1_2_x86_64.whl |
|---|---|
| Size | 50.0 kB |
| Tags | CPython 3.13 Linux musl 1.2+ x86-64 |
|
SHA-256 checksum How to use checksums |
ed2539aa11d10aa867123b1966aaf94fcd35891933f9626b478461fdef1c0162
|
|
BLAKE2b-256 checksum How to use checksums |
81ed0806bbe4707903a2d012430ea709bdb55d03b0a5d0d45dbee76d897a7d10
|
| 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 Sep 22, 2026.
Transparency logRelease files / eagar_tsai-0.5.0-cp313-cp313-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
| Download URL | eagar_tsai-0.5.0-cp313-cp313-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl |
|---|---|
| Size | 49.9 kB |
| Tags | CPython 3.13 Linux glibc 2.28+ x86-64 Linux glibc 2.5+ x86-64 |
|
SHA-256 checksum How to use checksums |
b5fa8b06bee316d84b60f00dcb99396df57ef39c0cd7d143c5a4b3a270509575
|
|
BLAKE2b-256 checksum How to use checksums |
5704f9ae35c27a2659f74a62f57dafafe7ea77fb0b5b3f901f6aa49220432af7
|
| 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 Sep 22, 2026.
Transparency logRelease files / eagar_tsai-0.5.0-cp313-cp313-macosx_11_0_arm64.whl
| Download URL | eagar_tsai-0.5.0-cp313-cp313-macosx_11_0_arm64.whl |
|---|---|
| Size | 44.3 kB |
| Tags | CPython 3.13 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
81e8d7eb2341936801f89c74f272fc6b9692af20dbe5617f0f035a6ed6b630b3
|
|
BLAKE2b-256 checksum How to use checksums |
61969a26fe1a95ef60b4123af2d9240908840ff02fc42c8e163effc4d7ebe456
|
| 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 Sep 22, 2026.
Transparency logRelease files / eagar_tsai-0.5.0-cp313-cp313-macosx_10_13_x86_64.whl
| Download URL | eagar_tsai-0.5.0-cp313-cp313-macosx_10_13_x86_64.whl |
|---|---|
| Size | 44.0 kB |
| Tags | CPython 3.13 macOS 10.13+ x86-64 |
|
SHA-256 checksum How to use checksums |
2226510e7c7399943d8950a8414c7c01445356f0c56cff965d0a9703aa578744
|
|
BLAKE2b-256 checksum How to use checksums |
25ed080bed54cd6aa7a82bb412de8a5c212bfcaa3138ea33c488ef58829459d9
|
| 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 Sep 22, 2026.
Transparency logRelease files / eagar_tsai-0.5.0-cp312-cp312-win_amd64.whl
| Download URL | eagar_tsai-0.5.0-cp312-cp312-win_amd64.whl |
|---|---|
| Size | 47.2 kB |
| Tags | CPython 3.12 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
761eea0f61665010e56458a78cd552a82f2515c0a7176e77884ef1e062be47a4
|
|
BLAKE2b-256 checksum How to use checksums |
15473e1377d84ee7a049d7f4d43002d82adaa3820cf2bcab039db73634f314d3
|
| 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 Sep 22, 2026.
Transparency logRelease files / eagar_tsai-0.5.0-cp312-cp312-win32.whl
| Download URL | eagar_tsai-0.5.0-cp312-cp312-win32.whl |
|---|---|
| Size | 47.0 kB |
| Tags | CPython 3.12 Windows x86-32 |
|
SHA-256 checksum How to use checksums |
8ca2064e7ee10aed5886b48b0091f5c2f438bb4f31b0d58381a3acce5e9a4678
|
|
BLAKE2b-256 checksum How to use checksums |
670629352dcfdee66b2cbd1d30e358c3a128ded7b5791dd7b5343319cc23aac5
|
| 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 Sep 22, 2026.
Transparency logRelease files / eagar_tsai-0.5.0-cp312-cp312-musllinux_1_2_x86_64.whl
| Download URL | eagar_tsai-0.5.0-cp312-cp312-musllinux_1_2_x86_64.whl |
|---|---|
| Size | 49.9 kB |
| Tags | CPython 3.12 Linux musl 1.2+ x86-64 |
|
SHA-256 checksum How to use checksums |
601a03d7305f9f51baf68a2b8d51698a273b5745e53684a85a1e5b67590612a0
|
|
BLAKE2b-256 checksum How to use checksums |
c1e19a993e7805bcf1cdcd936335b4680822de3af5b9da36dce00147aa3b35cb
|
| 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 Sep 22, 2026.
Transparency logRelease files / eagar_tsai-0.5.0-cp312-cp312-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
| Download URL | eagar_tsai-0.5.0-cp312-cp312-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl |
|---|---|
| Size | 49.9 kB |
| Tags | CPython 3.12 Linux glibc 2.28+ x86-64 Linux glibc 2.5+ x86-64 |
|
SHA-256 checksum How to use checksums |
b381c38d61e6e37735ac5fd5dec163da4a6e74fe0ad51425eee1c8ed17be8d3e
|
|
BLAKE2b-256 checksum How to use checksums |
25978d604573f6e3a2c7aec487be1fa362af343c4003b82a72dd2f00a247012e
|
| 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 Sep 22, 2026.
Transparency logRelease files / eagar_tsai-0.5.0-cp312-cp312-macosx_11_0_arm64.whl
| Download URL | eagar_tsai-0.5.0-cp312-cp312-macosx_11_0_arm64.whl |
|---|---|
| Size | 44.3 kB |
| Tags | CPython 3.12 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
f2fdf2235be93eafda037b043c503f4c49c592bf267e4033b59d3eb3b7539161
|
|
BLAKE2b-256 checksum How to use checksums |
30866fbb64c688e27e06a270c6e7314304b1ed318110fda77a9abfe6848de190
|
| 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 Sep 22, 2026.
Transparency logRelease files / eagar_tsai-0.5.0-cp312-cp312-macosx_10_13_x86_64.whl
| Download URL | eagar_tsai-0.5.0-cp312-cp312-macosx_10_13_x86_64.whl |
|---|---|
| Size | 44.0 kB |
| Tags | CPython 3.12 macOS 10.13+ x86-64 |
|
SHA-256 checksum How to use checksums |
18df8a07ec5bfd73195798e7cca49961ebbbb90142afd4f6435df3eacc502452
|
|
BLAKE2b-256 checksum How to use checksums |
0a40bbd39e0413f537aae07f760250a5b024cf551df822c767da70d5fdda62d1
|
| 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 Sep 22, 2026.
Transparency log