Skip to main content
pyheclib

pyheclib

Python: Version Action: Test License: MIT Docs

Documentation: nzahasan.github.io/pyheclib

Read and write HEC-DSS files from Python.

HEC-DSS is the database format used by HEC-HMS, HEC-RAS and other tools from the US Army Corps of Engineers' Hydrologic Engineering Center. pyheclib works with DSS version 7 files. It bundles the official HEC-DSS C library for Linux (x86_64), macOS (Apple Silicon, macOS 14+) and Windows (x64).

DSS version 6 files are not supported. Convert them to version 7 with HEC-DSSVue first.

Install

pip install pyheclib

Requires Python 3.8 or newer. Depends on numpy and pandas.

Quick start

Every record is a Python object that holds its pathname, data and metadata. Create a record, write it to a file, and read gives you the same kind of object back.

Record Use it for Data Convert
RegularTs fixed-interval time series values (numpy), start time to_series() / RegularTs.from_series() (pandas)
IrregularTs time series with any timing times, values (numpy) to_series() / IrregularTs.from_series() (pandas)
PairedData curves, e.g. rating tables x (numpy 1d), y (numpy 2d [curves, points]) to_dataframe() / PairedData.from_dataframe()
GriddedData rasters, e.g. radar or DEM data (numpy 2d float32, north-up, NaN = no data) it's already a numpy array

Open a file

import numpy as np
import pandas as pd
import pyheclib as phl

dss_file = phl.open("example.dss")     # opens the file, or creates it

You can also use it as a context manager: with phl.open("example.dss") as dss_file: ...

Regular time series

The interval comes from the E part of the pathname, e.g. 1HOUR, 15MINUTE, 1DAY, 1MONTH. Missing values are NaN.

# from a list of values and the time of the first value
precip = phl.RegularTs("/DEMO/GAGE/PRECIP//1DAY/OBS/", values=[0.0, 12.5, 48.0, 3.1, 0.0],
                       start="2020-01-14", unit="MM", type="PER-CUM")
dss_file.write(precip)

# from a pandas Series
hours = pd.date_range("2020-01-14 01:00", periods=96, freq="h")
flow = pd.Series(40 + 50*np.exp(-((np.arange(96) - 40) / 12.0)**2), index=hours)
flow.iloc[70:76] = np.nan
dss_file.write(phl.RegularTs.from_series("/DEMO/OUTLET/FLOW//1HOUR/OBS/", flow, unit="CFS", type="INST-VAL"))

# read the whole series (leave the D part empty)
rts = dss_file.read("/DEMO/OUTLET/FLOW//1HOUR/OBS/")          # -> RegularTs
print(rts.unit, rts.type, rts.interval, rts.start)            # CFS INST-VAL 1HOUR 2020-01-14 01:00:00
series = rts.to_series()                                      # pandas Series indexed by time

# or just a time window
window = dss_file.read("/DEMO/OUTLET/FLOW//1HOUR/OBS/", start="2020-01-15 12:00", end="2020-01-15 18:00")

Regular time series

Irregular time series

Use an E part that starts with IR- (or ~), e.g. IR-MONTH. Times are stored to the second. Writing replaces any stored values inside the time span of the new record.

stage = phl.IrregularTs("/DEMO/OUTLET/STAGE//IR-MONTH/OBS/",
                        times=pd.to_datetime(["2020-01-14 08:13:00", "2020-01-15 07:30:15", "2020-01-16 16:45:00"]),
                        values=[3.1, 4.6, 3.4], unit="FT", type="INST-VAL")
dss_file.write(stage)

its = dss_file.read("/DEMO/OUTLET/STAGE//IR-MONTH/OBS/")      # -> IrregularTs
its.times, its.values, its.to_series()

Irregular time series

Paired data

All curves share one x array. y has one row per curve. labels (optional) names the curves.

h = np.linspace(0, 12, 49)
rating = phl.PairedData("/DEMO/OUTLET/STAGE-FLOW///RATING/", x=h,
                        y=np.vstack([5.2*h**1.80, 5.6*h**1.75, 6.1*h**1.70]),
                        x_unit="FT", y_unit="CFS", labels=["2018", "2019", "2020"])
dss_file.write(rating)

pd_rec = dss_file.read("/DEMO/OUTLET/STAGE-FLOW///RATING/")   # -> PairedData
pd_rec.n_curves, pd_rec.labels
df = pd_rec.to_dataframe()                                    # index: x, one column per curve

Paired data

Gridded data

data is a 2d numpy array, stored as float32:

  • the first row is the northern-most row (north-up)
  • NaN means no data
  • xll, yll is the lower-left corner of the grid, in the grid's coordinate system
  • the D and E parts are the start and end time; leave both empty for grids that don't change over time (e.g. a DEM)
yy, xx = np.mgrid[0:90, 0:140]
field = (38*np.exp(-(((xx - 85)/22.0)**2 + ((yy - 40)/14.0)**2))).astype(np.float32)
field[((xx - 70)/68.0)**2 + ((yy - 45)/44.0)**2 > 1] = np.nan       # outside the basin

grid = phl.GriddedData("/SHG/DEMO/PRECIP/15JAN2020:0000/15JAN2020:0600/RADAR/", field,
                       cell_size=2000.0, xll=-180000.0, yll=1320000.0, unit="MM", type="PER-CUM",
                       grid_type="ALBERS", srs_name="SHG", time_zone="UTC")
dss_file.write(grid)

g = dss_file.read("/SHG/DEMO/PRECIP/15JAN2020:0000/15JAN2020:0600/RADAR/")   # -> GriddedData
g.data.shape, g.cell_size, g.extent, g.lower_left_cell, g.start_time

Gridded data

Pathnames and the catalog

A DSS pathname has six parts: /A/B/C/D/E/F/. DssPath lets you work with the parts. Anywhere a pathname is expected, you can pass a DssPath or a plain string.

path = phl.DssPath("/DEMO/OUTLET/FLOW/01JAN2020/1HOUR/OBS/")
path.C                        # 'FLOW'
path.replace(F="SIM")         # DssPath('/DEMO/OUTLET/FLOW/01JAN2020/1HOUR/SIM/')
path.without_date()           # DssPath('/DEMO/OUTLET/FLOW//1HOUR/OBS/')
phl.DssPath.from_parts(A="DEMO", C="STAGE-FLOW", F="RATING")

dss_file.catalog()                      # every record (a long time series is split into blocks)
dss_file.catalog(condensed=True)        # one path per time series, D part = date range,
                                        # e.g. 01JAN2020-01MAR2020
dss_file.catalog("/DEMO/*/FLOW/*/*/*/", condensed=True, with_types=True)
dss_file.read(dss_file.catalog(condensed=True)[0])   # a condensed path reads the whole series

Find and delete

Use * at the start or end of any pathname part as a wildcard. delete returns the paths it removed.

dss_file.find("/DEMO/*/*/*/*/OBS/")                    # every OBS record in DEMO
dss_file.find("/*/*/STAGE*/*/*/*/")                    # STAGE and STAGE-FLOW records

dss_file.delete("/DEMO/OUTLET/STAGE-FLOW///RATING/")   # one record
dss_file.delete("/DEMO/OUTLET/FLOW//1HOUR/OBS/")       # a whole time series (all blocks)
dss_file.delete("/SHG/*/*/*/*/*/")                     # everything with A part SHG
dss_file.close()

Limitations

  • Quality flags are read when present, but not written: the bundled HEC-DSS library (7-JA-7) drops them when storing.
  • Gridded data is always stored as float32.
  • Only DSS version 7 files.

Quick reference

A compact summary of the API, useful for scripts and AI coding agents.

import pyheclib as phl

phl.open(filename) -> DssFile                 # creates the file if missing; context manager
DssFile.write(record)                         # replaces existing data at that path
DssFile.read(path, start=None, end=None)      # -> RegularTs | IrregularTs | PairedData | GriddedData
DssFile.catalog(path_filter="", condensed=False, with_types=False) -> list[DssPath]
DssFile.find(path) -> list[DssPath]           # '*' wildcard at start/end of a part
DssFile.delete(path) -> list[DssPath]         # raises KeyError if nothing matches
DssFile.record_type(path) -> int              # 105 regular ts, 115 irregular ts, 205 paired, 4xx grid
DssFile.close()

RegularTs(path, values, start, unit="", type="INST-VAL", time_zone="")
    .interval  .times  .to_series()  RegularTs.from_series(path, series, unit, type)
IrregularTs(path, times, values, unit="", type="INST-VAL", time_zone="")
    .to_series()  IrregularTs.from_series(path, series, unit, type)
PairedData(path, x, y, x_unit="", y_unit="", labels=[])
    .n_curves  .to_dataframe()  PairedData.from_dataframe(path, df, x_unit, y_unit)
GriddedData(path, data, cell_size, xll, yll, unit="", type="INST-VAL",
            grid_type="SPECIFIED", srs_wkt="", srs_name="", origin=(0, 0), time_zone="")
    .shape  .extent  .lower_left_cell  .start_time  .end_time

DssPath(path) | DssPath.from_parts(A=, B=, C=, D=, E=, F=)
    .A .. .F  .parts()  .replace(**parts)  .without_date()

Notes:

  • type is one of INST-VAL, INST-CUM, PER-AVER, PER-CUM, FREQ.
  • grid_type is one of UNDEFINED, HRAP, ALBERS, SPECIFIED.
  • Regular time series: the E part sets the interval, one of the HEC-DSS standard intervals (1SECOND..30SECOND, 1MINUTE..30MINUTE, 1HOUR..12HOUR, 1DAY, 1WEEK, SEMI-MONTH, TRI-MONTH, 1MONTH, 1YEAR). Irregular: E part starts with IR- or ~. Other E parts raise ValueError.
  • Leave the D part empty to read a whole time series; use start / end for a window.
  • Missing values are NaN for all record types.
  • HEC-DSS log output is set by the DSS_MESSAGE_LEVEL environment variable (0 = none to 15 = debug); default and fallback is 1 (critical only).
  • Gridded xll, yll must line up with origin in whole multiples of cell_size.

Tools

Installing pyheclib adds these commands (on Linux, macOS and Windows):

dss_browser file.dss [--port 8765] [--no-browser]   # browse a file in your web browser
dss_catalog file.dss [filter] [--condensed]         # list records
dssrec2csv file.dss pathname out.csv                # export one record to csv

They are also available as python -m pyheclib.tools.<name>.

The browser opens one or more files in tabs (or drag files onto the page). Search records by text or by part (B=GAGE C=FLOW*), view metadata, statistics, a graph or table of the data, and download a record as csv. Each record has its own link (/?file=1&path=/A/B/C/D/E/F/).

dss browser, light mode dss browser, dark mode

Examples and notebooks

Development

git clone https://github.com/nzahasan/pyheclib && cd pyheclib
pip install -r requirements.txt
python3 setup.py build_ext --inplace    # rebuild after editing src/*.pyx or src/*.pxd
pytest                                  # also runs the code in this README

Code layout:

  • pyheclib/records.py: record classes
  • pyheclib/dsspath.py: DssPath
  • pyheclib/dssfile.py: open and DssFile
  • src/_core.pyx: thin Cython wrapper around the HEC-DSS C API

Bundled HEC-DSS library

pyheclib ships HEC's official HEC-DSS C library (hecdss) 7-JA-7 for macOS, Linux and Windows, unchanged from HEC's Maven repository (source code). Details are in heclib/version.txt.

phl.__hecdss_version__   # '7-JA-7'
phl.api_version()        # version reported by the library

Resources

Metadata

Release files for pyheclib 0.4.3

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

Source distribution (sdist)

Source distribution for pyheclib 0.4.3
File Size Uploaded Provenance Actions
pyheclib-0.4.3.tar.gz 1.6 MB With provenance Details for pyheclib-0.4.3.tar.gz

Built distributions (wheels)

Table of built distributions (wheels) for pyheclib 0.4.3
File Actions
pyheclib-0.4.3-cp314-cp314-win_amd64.whl CPython 3.14 CPython 3.14 Windows x86-64 Details for pyheclib-0.4.3-cp314-cp314-win_amd64.whl
pyheclib-0.4.3-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl CPython 3.14 CPython 3.14 Linux glibc 2.17+ x86-64, Linux glibc 2.28+ x86-64 Details for pyheclib-0.4.3-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
pyheclib-0.4.3-cp314-cp314-macosx_14_0_arm64.whl CPython 3.14 CPython 3.14 macOS 14.0+ ARM64 Details for pyheclib-0.4.3-cp314-cp314-macosx_14_0_arm64.whl
pyheclib-0.4.3-cp313-cp313-win_amd64.whl CPython 3.13 CPython 3.13 Windows x86-64 Details for pyheclib-0.4.3-cp313-cp313-win_amd64.whl
pyheclib-0.4.3-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl CPython 3.13 CPython 3.13 Linux glibc 2.28+ x86-64, Linux glibc 2.17+ x86-64 Details for pyheclib-0.4.3-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
pyheclib-0.4.3-cp313-cp313-macosx_14_0_arm64.whl CPython 3.13 CPython 3.13 macOS 14.0+ ARM64 Details for pyheclib-0.4.3-cp313-cp313-macosx_14_0_arm64.whl
pyheclib-0.4.3-cp312-cp312-win_amd64.whl CPython 3.12 CPython 3.12 Windows x86-64 Details for pyheclib-0.4.3-cp312-cp312-win_amd64.whl
pyheclib-0.4.3-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl CPython 3.12 CPython 3.12 Linux glibc 2.17+ x86-64, Linux glibc 2.28+ x86-64 Details for pyheclib-0.4.3-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
pyheclib-0.4.3-cp312-cp312-macosx_14_0_arm64.whl CPython 3.12 CPython 3.12 macOS 14.0+ ARM64 Details for pyheclib-0.4.3-cp312-cp312-macosx_14_0_arm64.whl
pyheclib-0.4.3-cp311-cp311-win_amd64.whl CPython 3.11 CPython 3.11 Windows x86-64 Details for pyheclib-0.4.3-cp311-cp311-win_amd64.whl
pyheclib-0.4.3-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl CPython 3.11 CPython 3.11 Linux glibc 2.17+ x86-64, Linux glibc 2.28+ x86-64 Details for pyheclib-0.4.3-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
pyheclib-0.4.3-cp311-cp311-macosx_14_0_arm64.whl CPython 3.11 CPython 3.11 macOS 14.0+ ARM64 Details for pyheclib-0.4.3-cp311-cp311-macosx_14_0_arm64.whl
pyheclib-0.4.3-cp310-cp310-win_amd64.whl CPython 3.10 CPython 3.10 Windows x86-64 Details for pyheclib-0.4.3-cp310-cp310-win_amd64.whl
pyheclib-0.4.3-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl CPython 3.10 CPython 3.10 Linux glibc 2.28+ x86-64, Linux glibc 2.17+ x86-64 Details for pyheclib-0.4.3-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
pyheclib-0.4.3-cp310-cp310-macosx_14_0_arm64.whl CPython 3.10 CPython 3.10 macOS 14.0+ ARM64 Details for pyheclib-0.4.3-cp310-cp310-macosx_14_0_arm64.whl
pyheclib-0.4.3-cp39-cp39-win_amd64.whl CPython 3.9 CPython 3.9 Windows x86-64 Details for pyheclib-0.4.3-cp39-cp39-win_amd64.whl
pyheclib-0.4.3-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl CPython 3.9 CPython 3.9 Linux glibc 2.17+ x86-64, Linux glibc 2.28+ x86-64 Details for pyheclib-0.4.3-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
pyheclib-0.4.3-cp39-cp39-macosx_14_0_arm64.whl CPython 3.9 CPython 3.9 macOS 14.0+ ARM64 Details for pyheclib-0.4.3-cp39-cp39-macosx_14_0_arm64.whl
pyheclib-0.4.3-cp38-cp38-win_amd64.whl CPython 3.8 CPython 3.8 Windows x86-64 Details for pyheclib-0.4.3-cp38-cp38-win_amd64.whl
pyheclib-0.4.3-cp38-cp38-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl CPython 3.8 CPython 3.8 Linux glibc 2.17+ x86-64, Linux glibc 2.28+ x86-64 Details for pyheclib-0.4.3-cp38-cp38-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
pyheclib-0.4.3-cp38-cp38-macosx_14_0_arm64.whl CPython 3.8 CPython 3.8 macOS 14.0+ ARM64 Details for pyheclib-0.4.3-cp38-cp38-macosx_14_0_arm64.whl

Total release size: 16.7 MB

Release files / pyheclib-0.4.3.tar.gz

Download URL pyheclib-0.4.3.tar.gz
Size 1.6 MB
Tags Source
SHA-256 checksum
How to use checksums
3d69be45dc5974a50dd7491b57d0cd030134ca84559f982c09e741d41fe29f31
BLAKE2b-256 checksum
How to use checksums
70935b20cdd245fba809655c2400abcbc123ac1d82ba7c4dbc7ae2283d764826
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Oct 30, 2026.

Transparency log

Release files / pyheclib-0.4.3-cp314-cp314-win_amd64.whl

Download URL pyheclib-0.4.3-cp314-cp314-win_amd64.whl
Size 324.5 kB
Tags CPython 3.14 Windows x86-64
SHA-256 checksum
How to use checksums
dec2bb8f8b3e24b9dc9e1dbb52cc13f716d3adcf20c2ad47e198dc4b76fc2061
BLAKE2b-256 checksum
How to use checksums
e449767b0a523214d55274b2e93285c9c9cacfbb55468426fbdd8e240492377f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Oct 30, 2026.

Transparency log

Release files / pyheclib-0.4.3-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl

Download URL pyheclib-0.4.3-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Size 1.3 MB
Tags CPython 3.14 Linux glibc 2.17+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
9a78ee50dfafb6a2191b3f9d336ac06d0d8749bc25a1b7a609b7ca9fcebd8940
BLAKE2b-256 checksum
How to use checksums
356735252311f3ae48b2bc7da013e7de49f9d1f09003091cbc41c2df03d8d1db
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Oct 30, 2026.

Transparency log

Release files / pyheclib-0.4.3-cp314-cp314-macosx_14_0_arm64.whl

Download URL pyheclib-0.4.3-cp314-cp314-macosx_14_0_arm64.whl
Size 509.9 kB
Tags CPython 3.14 macOS 14.0+ ARM64
SHA-256 checksum
How to use checksums
de1d67a426949c1dff5398cc9d099569d8ec58b65d044fa80e4adcdf83ba2c8c
BLAKE2b-256 checksum
How to use checksums
8ded5d2d5a5e39b464ad7c2e34bb6170cec167640de366fd8fdc04ea7eaa2585
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Oct 30, 2026.

Transparency log

Release files / pyheclib-0.4.3-cp313-cp313-win_amd64.whl

Download URL pyheclib-0.4.3-cp313-cp313-win_amd64.whl
Size 314.5 kB
Tags CPython 3.13 Windows x86-64
SHA-256 checksum
How to use checksums
225c2ce415cdf116142e74611add9f8621328a59564cb01c3655e7f90b3d8907
BLAKE2b-256 checksum
How to use checksums
97278e638fb499fff5a1c901a61a986d57e41d15464dce75f1974b50b0eac9e9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Oct 30, 2026.

Transparency log

Release files / pyheclib-0.4.3-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl

Download URL pyheclib-0.4.3-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Size 1.3 MB
Tags CPython 3.13 Linux glibc 2.17+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
5b02829674d23061b15c881c3de9c151ddc680425dc81bb1123fe3e10a817b36
BLAKE2b-256 checksum
How to use checksums
d283b6000f7625a59ff3a8d3fbc340bb7b5f867d0ff764eb8e155c5cdb2afb57
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Oct 30, 2026.

Transparency log

Release files / pyheclib-0.4.3-cp313-cp313-macosx_14_0_arm64.whl

Download URL pyheclib-0.4.3-cp313-cp313-macosx_14_0_arm64.whl
Size 509.2 kB
Tags CPython 3.13 macOS 14.0+ ARM64
SHA-256 checksum
How to use checksums
1751edaaff0f98e1d7841e367490b51da4a93504d7076346aff50b681bc5f5a4
BLAKE2b-256 checksum
How to use checksums
9eee176fca3042684c6f115ef8066d7f32713350c374923162f8548bd92b041d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Oct 30, 2026.

Transparency log

Release files / pyheclib-0.4.3-cp312-cp312-win_amd64.whl

Download URL pyheclib-0.4.3-cp312-cp312-win_amd64.whl
Size 314.9 kB
Tags CPython 3.12 Windows x86-64
SHA-256 checksum
How to use checksums
76fda6438b004df647715b726d98d65cf02f0deee6d77ec052d83fd8b4f5cf1f
BLAKE2b-256 checksum
How to use checksums
3b1567630c04903315ac91c7611db08b5a69daab9ac201105637fd9de0126e4f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Oct 30, 2026.

Transparency log

Release files / pyheclib-0.4.3-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl

Download URL pyheclib-0.4.3-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Size 1.3 MB
Tags CPython 3.12 Linux glibc 2.17+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
0f5ef110b4778c2bb7e88ab320f554682a8e40734d5fdc5b0f25cbf9eca53aaf
BLAKE2b-256 checksum
How to use checksums
614b0529e56f336c2ace1cee1e5854a5ffeea4ede618eed74e8df4ba2486e396
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Oct 30, 2026.

Transparency log

Release files / pyheclib-0.4.3-cp312-cp312-macosx_14_0_arm64.whl

Download URL pyheclib-0.4.3-cp312-cp312-macosx_14_0_arm64.whl
Size 508.4 kB
Tags CPython 3.12 macOS 14.0+ ARM64
SHA-256 checksum
How to use checksums
bd22f9c4e605c35ee956e6e384f27e027273df75bda04a3416e4b069c1f98fbc
BLAKE2b-256 checksum
How to use checksums
62cf5ff9fcc3a340424e90a11150b6cbfc7d950f5dfaf2420244c9bbf116127d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Oct 30, 2026.

Transparency log

Release files / pyheclib-0.4.3-cp311-cp311-win_amd64.whl

Download URL pyheclib-0.4.3-cp311-cp311-win_amd64.whl
Size 317.4 kB
Tags CPython 3.11 Windows x86-64
SHA-256 checksum
How to use checksums
df0219bd6375a6793dc894f703f9d7b652a6af2b509e0e2f20f8622e4f2e7a47
BLAKE2b-256 checksum
How to use checksums
195b23c319e1c9aea73bbed01c004d334d98edf51be03bf6e38b49c799a2b559
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Oct 30, 2026.

Transparency log

Release files / pyheclib-0.4.3-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl

Download URL pyheclib-0.4.3-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Size 1.3 MB
Tags CPython 3.11 Linux glibc 2.17+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
0bec30e56b2ce5bda4625de018b905d6299141a2a0881385a5c8d7eaa5f00bcd
BLAKE2b-256 checksum
How to use checksums
2e97b6f27a3934f2742688b24331004a59682830698573e68dc79f32bdf52f81
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Oct 30, 2026.

Transparency log

Release files / pyheclib-0.4.3-cp311-cp311-macosx_14_0_arm64.whl

Download URL pyheclib-0.4.3-cp311-cp311-macosx_14_0_arm64.whl
Size 508.7 kB
Tags CPython 3.11 macOS 14.0+ ARM64
SHA-256 checksum
How to use checksums
f4f58b458febb8cfda2910a779ecc480ab399abffdd9208c55ac055ba280843e
BLAKE2b-256 checksum
How to use checksums
5fcb49a0a7031e19e089242c6d423bdc2dfc56fd73f5311d27fd64028e1a41cf
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Oct 30, 2026.

Transparency log

Release files / pyheclib-0.4.3-cp310-cp310-win_amd64.whl

Download URL pyheclib-0.4.3-cp310-cp310-win_amd64.whl
Size 317.9 kB
Tags CPython 3.10 Windows x86-64
SHA-256 checksum
How to use checksums
d313ce8fdfa75736cfb4bb2b70491a94254faa37aecfe0c2afdb21994fd9fdcf
BLAKE2b-256 checksum
How to use checksums
c2a3f516a041af3ad7d8d99a644739e2067adeef988092cfa93eb1598a17b98f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Oct 30, 2026.

Transparency log

Release files / pyheclib-0.4.3-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl

Download URL pyheclib-0.4.3-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Size 1.3 MB
Tags CPython 3.10 Linux glibc 2.17+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
b329c455ab5220080d75f04909ed7b6c0919887c048cbb3e395e17511706ed71
BLAKE2b-256 checksum
How to use checksums
837c4c5929b3087d8b54a21dad9d195a40872c870c6c6574a3c7052a385e1c8d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Oct 30, 2026.

Transparency log

Release files / pyheclib-0.4.3-cp310-cp310-macosx_14_0_arm64.whl

Download URL pyheclib-0.4.3-cp310-cp310-macosx_14_0_arm64.whl
Size 509.8 kB
Tags CPython 3.10 macOS 14.0+ ARM64
SHA-256 checksum
How to use checksums
d97d612fa502931d96c31250e08e6c3aef13593c02c8ed635078c02422c7befd
BLAKE2b-256 checksum
How to use checksums
ff0ea1f60cc5d6a5faef8e27c1b9388d0b49fbc4318a83b5216814264f941576
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Oct 30, 2026.

Transparency log

Release files / pyheclib-0.4.3-cp39-cp39-win_amd64.whl

Download URL pyheclib-0.4.3-cp39-cp39-win_amd64.whl
Size 318.2 kB
Tags CPython 3.9 Windows x86-64
SHA-256 checksum
How to use checksums
178d7cfa96802945fdd5b2573ed3c627df8f918fde7ba433ff1d8ad9ddac78c4
BLAKE2b-256 checksum
How to use checksums
131be15ed0dedb226e90a0a472b99475a029fb71b2d7229e5451437d2fdd3383
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Oct 30, 2026.

Transparency log

Release files / pyheclib-0.4.3-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl

Download URL pyheclib-0.4.3-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Size 1.3 MB
Tags CPython 3.9 Linux glibc 2.17+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
0f8de3c69c088cd719146e58b3c3c15e918251db2db0210bd1c4eed1e1bcaeac
BLAKE2b-256 checksum
How to use checksums
96efffe2a0a0a78b7299b7fa18e57ab1d2fac8781a6481a88149a91b7faf4a03
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Oct 30, 2026.

Transparency log

Release files / pyheclib-0.4.3-cp39-cp39-macosx_14_0_arm64.whl

Download URL pyheclib-0.4.3-cp39-cp39-macosx_14_0_arm64.whl
Size 510.5 kB
Tags CPython 3.9 macOS 14.0+ ARM64
SHA-256 checksum
How to use checksums
dce34b0335d2323290b068be7d7de0d25770a65677be082f81200dc38d336a2c
BLAKE2b-256 checksum
How to use checksums
9e9df2e08873cb3ce0e20f8fac30e1ca924628451e0d521f2b5f2cd369e4c930
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Oct 30, 2026.

Transparency log

Release files / pyheclib-0.4.3-cp38-cp38-win_amd64.whl

Download URL pyheclib-0.4.3-cp38-cp38-win_amd64.whl
Size 316.9 kB
Tags CPython 3.8 Windows x86-64
SHA-256 checksum
How to use checksums
e4dd07ad4b0ec04041a5a67253deab5dca008b29d2b44960a4e82b4c68920a58
BLAKE2b-256 checksum
How to use checksums
6a16f2d3e55d2162dd9c85c872e45ab6bf7bc6b3501606a84caa05cf110b6f87
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Oct 30, 2026.

Transparency log

Release files / pyheclib-0.4.3-cp38-cp38-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl

Download URL pyheclib-0.4.3-cp38-cp38-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Size 1.3 MB
Tags CPython 3.8 Linux glibc 2.17+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
04046bf347f4e5dc24cc86f78f089ba713d0ed005cd126ea9f650474d336637f
BLAKE2b-256 checksum
How to use checksums
2a20b48405597b64ea9fc0b44b2847b50f187969eb3e4e5922572adabf30ec19
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Oct 30, 2026.

Transparency log

Release files / pyheclib-0.4.3-cp38-cp38-macosx_14_0_arm64.whl

Download URL pyheclib-0.4.3-cp38-cp38-macosx_14_0_arm64.whl
Size 507.8 kB
Tags CPython 3.8 macOS 14.0+ ARM64
SHA-256 checksum
How to use checksums
536e1e55e68d04e3b64f8e7e3b0b9663418503d5e4708231dd83f8648643169b
BLAKE2b-256 checksum
How to use checksums
53f284455877f000b8f5a1449a5b0b88da5fab443b818cb98f6dff390022c00b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Oct 30, 2026.

Transparency log

Security for pyheclib 0.4.3

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

Full provenance

All 22 files in this release have been uploaded with provenance metadata.

Select from 22 files

Attestation for pyheclib-0.4.3.tar.gz

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 Oct 30, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page