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.4

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.4
File Size Uploaded Provenance Actions
pyheclib-0.4.4.tar.gz 1.6 MB With provenance Details for pyheclib-0.4.4.tar.gz

Built distributions (wheels)

Table of built distributions (wheels) for pyheclib 0.4.4
File Actions
pyheclib-0.4.4-cp314-cp314-win_amd64.whl CPython 3.14 CPython 3.14 Windows x86-64 Details for pyheclib-0.4.4-cp314-cp314-win_amd64.whl
pyheclib-0.4.4-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.28+ x86-64, Linux glibc 2.17+ x86-64 Details for pyheclib-0.4.4-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
pyheclib-0.4.4-cp314-cp314-macosx_14_0_arm64.whl CPython 3.14 CPython 3.14 macOS 14.0+ ARM64 Details for pyheclib-0.4.4-cp314-cp314-macosx_14_0_arm64.whl
pyheclib-0.4.4-cp313-cp313-win_amd64.whl CPython 3.13 CPython 3.13 Windows x86-64 Details for pyheclib-0.4.4-cp313-cp313-win_amd64.whl
pyheclib-0.4.4-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.4-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
pyheclib-0.4.4-cp313-cp313-macosx_14_0_arm64.whl CPython 3.13 CPython 3.13 macOS 14.0+ ARM64 Details for pyheclib-0.4.4-cp313-cp313-macosx_14_0_arm64.whl
pyheclib-0.4.4-cp312-cp312-win_amd64.whl CPython 3.12 CPython 3.12 Windows x86-64 Details for pyheclib-0.4.4-cp312-cp312-win_amd64.whl
pyheclib-0.4.4-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.4-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
pyheclib-0.4.4-cp312-cp312-macosx_14_0_arm64.whl CPython 3.12 CPython 3.12 macOS 14.0+ ARM64 Details for pyheclib-0.4.4-cp312-cp312-macosx_14_0_arm64.whl
pyheclib-0.4.4-cp311-cp311-win_amd64.whl CPython 3.11 CPython 3.11 Windows x86-64 Details for pyheclib-0.4.4-cp311-cp311-win_amd64.whl
pyheclib-0.4.4-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.28+ x86-64, Linux glibc 2.17+ x86-64 Details for pyheclib-0.4.4-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
pyheclib-0.4.4-cp311-cp311-macosx_14_0_arm64.whl CPython 3.11 CPython 3.11 macOS 14.0+ ARM64 Details for pyheclib-0.4.4-cp311-cp311-macosx_14_0_arm64.whl
pyheclib-0.4.4-cp310-cp310-win_amd64.whl CPython 3.10 CPython 3.10 Windows x86-64 Details for pyheclib-0.4.4-cp310-cp310-win_amd64.whl
pyheclib-0.4.4-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.17+ x86-64, Linux glibc 2.28+ x86-64 Details for pyheclib-0.4.4-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
pyheclib-0.4.4-cp310-cp310-macosx_14_0_arm64.whl CPython 3.10 CPython 3.10 macOS 14.0+ ARM64 Details for pyheclib-0.4.4-cp310-cp310-macosx_14_0_arm64.whl
pyheclib-0.4.4-cp39-cp39-win_amd64.whl CPython 3.9 CPython 3.9 Windows x86-64 Details for pyheclib-0.4.4-cp39-cp39-win_amd64.whl
pyheclib-0.4.4-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.4-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
pyheclib-0.4.4-cp39-cp39-macosx_14_0_arm64.whl CPython 3.9 CPython 3.9 macOS 14.0+ ARM64 Details for pyheclib-0.4.4-cp39-cp39-macosx_14_0_arm64.whl
pyheclib-0.4.4-cp38-cp38-win_amd64.whl CPython 3.8 CPython 3.8 Windows x86-64 Details for pyheclib-0.4.4-cp38-cp38-win_amd64.whl
pyheclib-0.4.4-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.28+ x86-64, Linux glibc 2.17+ x86-64 Details for pyheclib-0.4.4-cp38-cp38-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
pyheclib-0.4.4-cp38-cp38-macosx_14_0_arm64.whl CPython 3.8 CPython 3.8 macOS 14.0+ ARM64 Details for pyheclib-0.4.4-cp38-cp38-macosx_14_0_arm64.whl

Total release size: 16.7 MB

Release files / pyheclib-0.4.4.tar.gz

Download URL pyheclib-0.4.4.tar.gz
Size 1.6 MB
Tags Source
SHA-256 checksum
How to use checksums
7e74b3e175720e8f41b14c2f6ee07689901129a592a9cbb3fc0fc0a893a731c9
BLAKE2b-256 checksum
How to use checksums
f11905d3c5ee0ad84bc875123197306a8cfaa188d378244e8364e1a3fa2e6abc
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.4-cp314-cp314-win_amd64.whl

Download URL pyheclib-0.4.4-cp314-cp314-win_amd64.whl
Size 325.4 kB
Tags CPython 3.14 Windows x86-64
SHA-256 checksum
How to use checksums
f74bbc3592c42a1a630a2e35760538e928405affcfdb2c4d147ec04f4ecbd48d
BLAKE2b-256 checksum
How to use checksums
19094b4a0744fb44ce6bbab887dfa24e10cde9ae6360ce70ba13a876e8debf51
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.4-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl

Download URL pyheclib-0.4.4-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
8f35b14839b07d94a043e4b57999c0f40e193832f511f752261140fc5e4941fd
BLAKE2b-256 checksum
How to use checksums
457e8b58801c23d48ba79c21beca2427db2a55e0e9600dfb68e1636c59e7485c
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.4-cp314-cp314-macosx_14_0_arm64.whl

Download URL pyheclib-0.4.4-cp314-cp314-macosx_14_0_arm64.whl
Size 510.7 kB
Tags CPython 3.14 macOS 14.0+ ARM64
SHA-256 checksum
How to use checksums
5dc2c76da67a14080e85c9b5158936eba8f3355ee197f143ed84a7f0982dc3a9
BLAKE2b-256 checksum
How to use checksums
a257d907763001036aaf51964d6fdfc6b128c9679ff7e96b5acfbddbe20b8cdb
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.4-cp313-cp313-win_amd64.whl

Download URL pyheclib-0.4.4-cp313-cp313-win_amd64.whl
Size 315.4 kB
Tags CPython 3.13 Windows x86-64
SHA-256 checksum
How to use checksums
9b5a093280877c17b01fc5785feb6825e11dbddff9a00a578c17cf36a9e00530
BLAKE2b-256 checksum
How to use checksums
4188b13835dfebc38763e729242b56e39dca9377bd8e6e71648cd45befe05981
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.4-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl

Download URL pyheclib-0.4.4-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
0e29f57a0b784df38adeb267df23d63962936702e500d6524ab457eedf21e378
BLAKE2b-256 checksum
How to use checksums
5165fdf7b23aa761456d2bbd9f209c577a329a1d7268a2512462322330ed10bc
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.4-cp313-cp313-macosx_14_0_arm64.whl

Download URL pyheclib-0.4.4-cp313-cp313-macosx_14_0_arm64.whl
Size 510.1 kB
Tags CPython 3.13 macOS 14.0+ ARM64
SHA-256 checksum
How to use checksums
e367ad8d02c1c71f094c941500dc032e99a3aeef2c8286ca5e42de1ecee18cbf
BLAKE2b-256 checksum
How to use checksums
83644571126a6443c53b7b8a583573cc3ee6a55edaccd81b81a1cc72b2342fd3
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.4-cp312-cp312-win_amd64.whl

Download URL pyheclib-0.4.4-cp312-cp312-win_amd64.whl
Size 315.8 kB
Tags CPython 3.12 Windows x86-64
SHA-256 checksum
How to use checksums
39fae64f61096f22845bc73d9050b59ec29a15a4a9773c521c46112f1a67d7be
BLAKE2b-256 checksum
How to use checksums
4de972294b31b0537e65956e7c2050714c6b690172c656dbdc93efb5b1d5222b
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.4-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl

Download URL pyheclib-0.4.4-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
44bd7a2de5b770633f2de5cc397526eedb974cb0de832184bfeb58a0f34ad69e
BLAKE2b-256 checksum
How to use checksums
61febeeae80900d498e06f8b4f2c28145dcf640359b510d8ee196ea4c54a95ae
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.4-cp312-cp312-macosx_14_0_arm64.whl

Download URL pyheclib-0.4.4-cp312-cp312-macosx_14_0_arm64.whl
Size 509.3 kB
Tags CPython 3.12 macOS 14.0+ ARM64
SHA-256 checksum
How to use checksums
0e4a1f24f42d87a71154f54867a2fea9f833fd16477b9e4e5fedceade4f181ae
BLAKE2b-256 checksum
How to use checksums
934129da1033867c2a26c9467f6e8a9e786d3fa7ed65ce2049f8d4eac9154e2d
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.4-cp311-cp311-win_amd64.whl

Download URL pyheclib-0.4.4-cp311-cp311-win_amd64.whl
Size 318.3 kB
Tags CPython 3.11 Windows x86-64
SHA-256 checksum
How to use checksums
c3680bf24259d9da07fea894373ee0c81c99f9780b0f63a2ba51b64ff9c45565
BLAKE2b-256 checksum
How to use checksums
371fd87463d5d5aaf98ed3072528e40d41f4311fc4054a3c1fd2e27aea7be3a9
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.4-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl

Download URL pyheclib-0.4.4-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
69e6d4d2d3edbdcf1d755ca3db808a3f64191d6b81000e35f63324f6cb7ff6c4
BLAKE2b-256 checksum
How to use checksums
2a56bc75454cfd7d92a68350d6f850e0180d52d850ad17b95f28f3b6dd087bc4
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.4-cp311-cp311-macosx_14_0_arm64.whl

Download URL pyheclib-0.4.4-cp311-cp311-macosx_14_0_arm64.whl
Size 509.6 kB
Tags CPython 3.11 macOS 14.0+ ARM64
SHA-256 checksum
How to use checksums
5133c4519c9167070b9cc870c70327b8efa4b1f01474d73d9f45557ce5e2c620
BLAKE2b-256 checksum
How to use checksums
1e883906e9b9a8d85ef3cfb6a54e7e9e8431d7b69422e7fcbb09134a4e368d00
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.4-cp310-cp310-win_amd64.whl

Download URL pyheclib-0.4.4-cp310-cp310-win_amd64.whl
Size 318.7 kB
Tags CPython 3.10 Windows x86-64
SHA-256 checksum
How to use checksums
2160e4363931a3c54b989af54b28f8cef5e7e24867f1b91e4384d94073514c36
BLAKE2b-256 checksum
How to use checksums
84eca276c1086de4b8126ea6a295371eef340b952a03e94809b0fe5901a61b27
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.4-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl

Download URL pyheclib-0.4.4-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
25b526a4e2e9597b76cd2b268aef299d985c4299033bacebce0e9538ac2f4706
BLAKE2b-256 checksum
How to use checksums
02640a510e397900817c08f4e4133324975182f1ab318ed68adba9c1a36178bd
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.4-cp310-cp310-macosx_14_0_arm64.whl

Download URL pyheclib-0.4.4-cp310-cp310-macosx_14_0_arm64.whl
Size 510.7 kB
Tags CPython 3.10 macOS 14.0+ ARM64
SHA-256 checksum
How to use checksums
903fd06b81665662900a0b1a33b0ca829306dc0f6af5f45ab418be187d9071fc
BLAKE2b-256 checksum
How to use checksums
0528a02b0a21b5eef941c978146c3bd617b90481d12fa4426f72ae6b6856c89a
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.4-cp39-cp39-win_amd64.whl

Download URL pyheclib-0.4.4-cp39-cp39-win_amd64.whl
Size 319.0 kB
Tags CPython 3.9 Windows x86-64
SHA-256 checksum
How to use checksums
72e156b3010e177c338368b4d1db4035e9d75b6deddc3631e9f3e2e3f5ad80db
BLAKE2b-256 checksum
How to use checksums
02a895b6b15fcc977e763a9f9f04c6da2f6d329ed571b883b9d1b789ca19ecd4
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.4-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl

Download URL pyheclib-0.4.4-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
10999789887f73d96dc075fc9d348cfd442adf343e98d7a0e36f687ec50cbc37
BLAKE2b-256 checksum
How to use checksums
3b8845d626051b6c9b0afa81f5bd09e0a2cf7d24f6617c58cac01fcbd813e4a6
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.4-cp39-cp39-macosx_14_0_arm64.whl

Download URL pyheclib-0.4.4-cp39-cp39-macosx_14_0_arm64.whl
Size 511.4 kB
Tags CPython 3.9 macOS 14.0+ ARM64
SHA-256 checksum
How to use checksums
713859db8a3752248a8fb927d54381b44711fd193ccfeee848d26b922c0079db
BLAKE2b-256 checksum
How to use checksums
78ca8974f4b02d086d97c76dc6d7020cf65d1341595b3131e4ad2f5199f65960
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.4-cp38-cp38-win_amd64.whl

Download URL pyheclib-0.4.4-cp38-cp38-win_amd64.whl
Size 317.7 kB
Tags CPython 3.8 Windows x86-64
SHA-256 checksum
How to use checksums
1e31efef4f866f8e24709854611ba7c6fc88fa0735c87d489ec20294f15bed01
BLAKE2b-256 checksum
How to use checksums
95bd135afd98ea95abed1650efa0589582a609ec0da9fc923fe45c5488faecb0
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.4-cp38-cp38-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl

Download URL pyheclib-0.4.4-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
43e8ed8c412c9b2b387019f4fe9c41bb9d2120a3afe850840a0ca1ac178639e2
BLAKE2b-256 checksum
How to use checksums
6a59824149a7311973558535d081cc1e4be8fb944ebd6a3423e3f24f5126fce3
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.4-cp38-cp38-macosx_14_0_arm64.whl

Download URL pyheclib-0.4.4-cp38-cp38-macosx_14_0_arm64.whl
Size 508.7 kB
Tags CPython 3.8 macOS 14.0+ ARM64
SHA-256 checksum
How to use checksums
3ac92e0d4af23a5836a227636eea8ad64e601440f6a20dc16271d41f259c9633
BLAKE2b-256 checksum
How to use checksums
0cda7e7494fc2f03a8747aff1255b9e14fc5fbdb9f0d0263de305ebc61382263
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.4

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.4.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