pyheclib
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")
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()
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
Gridded data
data is a 2d numpy array, stored as float32:
- the first row is the northern-most row (north-up)
NaNmeans no dataxll,yllis 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
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.
- 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()
Rules worth knowing:
typeis one ofINST-VAL,INST-CUM,PER-AVER,PER-CUM,FREQ.grid_typeis one ofUNDEFINED,HRAP,ALBERS,SPECIFIED.- Regular time series: the E part sets the interval. Irregular: E part starts with
IR-or~. - Leave the D part empty to read a whole time series; use
start/endfor a window. - Missing values are
NaNfor all record types. - HEC-DSS log output is set by the
DSS_MESSAGE_LEVELenvironment variable (0 = none to 15 = debug); default and fallback is 1 (critical only). - Gridded
xll,yllmust line up withoriginin whole multiples ofcell_size.
Tools
Command-line tools in tools/:
python3 tools/dss_browser.py file.dss [--port 8765] [--no-browser] # browse a file in your web browser
python3 tools/dss_catalog.py file.dss [filter] [--condensed] # list records
python3 tools/dssrec2csv.py file.dss pathname out.csv # export one record to csv
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/).
Examples and notebooks
- examples/example.dss has every record type to try things on
(rebuild it with
python3 examples/make_example_dss.py). - examples/make_readme_figures.py draws the figures in this README.
- Notebooks, each writes records, reads them back and checks the result: regular time series, irregular time series, paired data, gridded data, catalog, paths and delete.
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 classespyheclib/dsspath.py:DssPathpyheclib/dssfile.py:openandDssFilesrc/_core.pyx: thin Cython wrapper around the HEC-DSS C API
Resources
- Documentation
- HEC-DSS
- HEC-DSSVue, a desktop viewer for DSS files
Metadata
Release files for pyheclib 0.4.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| pyheclib-0.4.1.tar.gz | 1.6 MB | With provenance | Details for pyheclib-0.4.1.tar.gz |
Built distributions (wheels)
Total release size: 16.2 MB
Release files / pyheclib-0.4.1.tar.gz
| Download URL | pyheclib-0.4.1.tar.gz |
|---|---|
| Size | 1.6 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
6df50b3465e8b4053b4949f993daa83f9260748b45c5ed5bf0b840f5fab850c4
|
|
BLAKE2b-256 checksum How to use checksums |
b5c4409892add76404eff874fd1fe3f8c856a88747ffa8eb23adb571a8a7bbf6
|
| 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 29, 2026.
Transparency logRelease files / pyheclib-0.4.1-cp314-cp314-win_amd64.whl
| Download URL | pyheclib-0.4.1-cp314-cp314-win_amd64.whl |
|---|---|
| Size | 304.8 kB |
| Tags | CPython 3.14 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
cedd09624cfb441962d52dfd59fc4a45bc6ee10e41c5ade1e35e2f7e6d5e4c86
|
|
BLAKE2b-256 checksum How to use checksums |
251cc31ae0b2b4a9cce98a4fcd76e2bc6bb47d2a13d84ba6807bbd67fe2f6512
|
| 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 29, 2026.
Transparency logRelease files / pyheclib-0.4.1-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
| Download URL | pyheclib-0.4.1-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 |
0e5a998960edfe0f7370361513d51e36b68a4bf7e5d29fb9bcb3c059c834daa6
|
|
BLAKE2b-256 checksum How to use checksums |
11e61f78526dff570b9abd6db782cbcc16efc7bcc7c6ceed969635d273c814d6
|
| 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 29, 2026.
Transparency logRelease files / pyheclib-0.4.1-cp314-cp314-macosx_14_0_arm64.whl
| Download URL | pyheclib-0.4.1-cp314-cp314-macosx_14_0_arm64.whl |
|---|---|
| Size | 490.6 kB |
| Tags | CPython 3.14 macOS 14.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
48b08d81cbc63050968cd4fdc81c2a65953b1d6de3608d586efb5a0161bc2352
|
|
BLAKE2b-256 checksum How to use checksums |
60611cce48637253c72f7bba0b8cfb2d4cedd5840a576ad78921f9776724be38
|
| 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 29, 2026.
Transparency logRelease files / pyheclib-0.4.1-cp313-cp313-win_amd64.whl
| Download URL | pyheclib-0.4.1-cp313-cp313-win_amd64.whl |
|---|---|
| Size | 295.1 kB |
| Tags | CPython 3.13 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
b23dac4e7545563fcee768cefe089caa7d7cc4267b8bd069418747aa7327e7b5
|
|
BLAKE2b-256 checksum How to use checksums |
9b30237ad15484f4179de2e604140828be02a6737ac234d91dce1b7279c897da
|
| 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 29, 2026.
Transparency logRelease files / pyheclib-0.4.1-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
| Download URL | pyheclib-0.4.1-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 |
78f68a8b7ae89b1e0bb24a7213ad9bb771dd17ccca7165eb1a7ee5a2e3c8d7e4
|
|
BLAKE2b-256 checksum How to use checksums |
0f9fc27547e010325001b3ed84f4ced774ea761465212937d918ac2217d7a955
|
| 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 29, 2026.
Transparency logRelease files / pyheclib-0.4.1-cp313-cp313-macosx_14_0_arm64.whl
| Download URL | pyheclib-0.4.1-cp313-cp313-macosx_14_0_arm64.whl |
|---|---|
| Size | 490.0 kB |
| Tags | CPython 3.13 macOS 14.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
b8856807c3d549ebbdd61f48ed1e2ba3af7d5066040488d5c596df622acad9e0
|
|
BLAKE2b-256 checksum How to use checksums |
d56ef7a78f4a871ff9657d4c67889bb5604f0d0b029f126c9e26f6af42a568fb
|
| 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 29, 2026.
Transparency logRelease files / pyheclib-0.4.1-cp312-cp312-win_amd64.whl
| Download URL | pyheclib-0.4.1-cp312-cp312-win_amd64.whl |
|---|---|
| Size | 295.5 kB |
| Tags | CPython 3.12 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
88d1a5e8d3afa345775542387e166aa1a4b86c4e221ef59f418df9aee9372f99
|
|
BLAKE2b-256 checksum How to use checksums |
297eac836ca564e08c907f5fd2f2556589a4c5a79451a78131a938fcb65b532c
|
| 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 29, 2026.
Transparency logRelease files / pyheclib-0.4.1-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
| Download URL | pyheclib-0.4.1-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 |
83f5673913b87cc6f6ed24f050dda9d42b61429f9b907286b85f0c55bf5c1419
|
|
BLAKE2b-256 checksum How to use checksums |
3eb783e624a5a3383644bf759b18adfab7d39f7e25015e94ec95a06f3ce54884
|
| 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 29, 2026.
Transparency logRelease files / pyheclib-0.4.1-cp312-cp312-macosx_14_0_arm64.whl
| Download URL | pyheclib-0.4.1-cp312-cp312-macosx_14_0_arm64.whl |
|---|---|
| Size | 489.2 kB |
| Tags | CPython 3.12 macOS 14.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
82ea82a871b5abf96d26d51a223727fa8b35fb95af285a841d55b5883eb40b3d
|
|
BLAKE2b-256 checksum How to use checksums |
963cc787c25d18fcefcfda5952138118503fe34c3f51f0ea66135970d4a7d9ab
|
| 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 29, 2026.
Transparency logRelease files / pyheclib-0.4.1-cp311-cp311-win_amd64.whl
| Download URL | pyheclib-0.4.1-cp311-cp311-win_amd64.whl |
|---|---|
| Size | 298.1 kB |
| Tags | CPython 3.11 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
094c5ce7534c40d81f735c8f9816cb486d01c10abbf4d20a52bedff49b0fc99a
|
|
BLAKE2b-256 checksum How to use checksums |
57e62f78bab6bd0c30f2dcb18bdcbdfb557210a0621ace4e900f43f2e1bcc8d1
|
| 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 29, 2026.
Transparency logRelease files / pyheclib-0.4.1-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
| Download URL | pyheclib-0.4.1-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 |
7a6e451610c40f047a8c896610d484aecabeb73e7874b4e080e07b6ff90369cf
|
|
BLAKE2b-256 checksum How to use checksums |
921ce4f106e65bf8f03711321a58bc9754cb02c9d3d2aa4dc146fd8e4a1f0582
|
| 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 29, 2026.
Transparency logRelease files / pyheclib-0.4.1-cp311-cp311-macosx_14_0_arm64.whl
| Download URL | pyheclib-0.4.1-cp311-cp311-macosx_14_0_arm64.whl |
|---|---|
| Size | 489.4 kB |
| Tags | CPython 3.11 macOS 14.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
68bd41c3fdd3c2d77528c67502a9a16e62db4123583c2995aae451714a55ff7e
|
|
BLAKE2b-256 checksum How to use checksums |
ac37e2d5592bcacdc95698893155c6be4e247becf65ea7f255a143b84005023a
|
| 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 29, 2026.
Transparency logRelease files / pyheclib-0.4.1-cp310-cp310-win_amd64.whl
| Download URL | pyheclib-0.4.1-cp310-cp310-win_amd64.whl |
|---|---|
| Size | 298.5 kB |
| Tags | CPython 3.10 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
e540f915e6253e694b333367d05af0f058fb384e54fc66c845d91eac0b4d076f
|
|
BLAKE2b-256 checksum How to use checksums |
fe4112ebfebe37612f08ad896451afb827427451eebb21b7b67e865293138bc7
|
| 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 29, 2026.
Transparency logRelease files / pyheclib-0.4.1-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
| Download URL | pyheclib-0.4.1-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 |
d5cf16283e7344fd4e08837688ebeaa30b860bb8f08b90ab74e177bc471348d0
|
|
BLAKE2b-256 checksum How to use checksums |
7d5557b023db8823edf5ae7de6a12b9e83671e2d98bfa87f3e4583f78b28ef1e
|
| 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 29, 2026.
Transparency logRelease files / pyheclib-0.4.1-cp310-cp310-macosx_14_0_arm64.whl
| Download URL | pyheclib-0.4.1-cp310-cp310-macosx_14_0_arm64.whl |
|---|---|
| Size | 490.6 kB |
| Tags | CPython 3.10 macOS 14.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
adf64d6be666bcbba1a1425f23c5dba59653f21fab4c4d97ec93c89d1a6f91e1
|
|
BLAKE2b-256 checksum How to use checksums |
6827695f2d363f3007e49e084a65e54621dbfd42ff03e6d86f2c310349b4ea45
|
| 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 29, 2026.
Transparency logRelease files / pyheclib-0.4.1-cp39-cp39-win_amd64.whl
| Download URL | pyheclib-0.4.1-cp39-cp39-win_amd64.whl |
|---|---|
| Size | 298.8 kB |
| Tags | CPython 3.9 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
6b230f0379384d46a3e1df74b04b89dfdf6897c739b049e2b9ba175e2f2e79ea
|
|
BLAKE2b-256 checksum How to use checksums |
d6397570ad4c3705528682603a95dc880a43320c8cbe40eb43e7e1d53ccaf41e
|
| 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 29, 2026.
Transparency logRelease files / pyheclib-0.4.1-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
| Download URL | pyheclib-0.4.1-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 |
99ec8e603557ced061f10a11b2f0090b11e447fdd4a3e4193887f957abfb36df
|
|
BLAKE2b-256 checksum How to use checksums |
21732c03eb80883958e4c297ea37b715ec16af142db577e037e3dbaaea8976d9
|
| 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 29, 2026.
Transparency logRelease files / pyheclib-0.4.1-cp39-cp39-macosx_14_0_arm64.whl
| Download URL | pyheclib-0.4.1-cp39-cp39-macosx_14_0_arm64.whl |
|---|---|
| Size | 491.2 kB |
| Tags | CPython 3.9 macOS 14.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
8b6e6729b90402618044b3b504df59828388c6505c807a1da20fa2fb92068585
|
|
BLAKE2b-256 checksum How to use checksums |
9f0b8e37dc764a0cb94ab1e3e8b53ba3c387b8e46e793aa7bc0406d66f032420
|
| 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 29, 2026.
Transparency logRelease files / pyheclib-0.4.1-cp38-cp38-win_amd64.whl
| Download URL | pyheclib-0.4.1-cp38-cp38-win_amd64.whl |
|---|---|
| Size | 297.5 kB |
| Tags | CPython 3.8 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
527ded9acd3f4c155dfbdb2190b0f561baf23128ab2f9ba85c79a56276c0d8fc
|
|
BLAKE2b-256 checksum How to use checksums |
1934bc29c155ff4e238c7859b0c54969abe38f64ebdd907edeca8d5661688c4a
|
| 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 29, 2026.
Transparency logRelease files / pyheclib-0.4.1-cp38-cp38-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
| Download URL | pyheclib-0.4.1-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 |
2bf033f09e2d2736480b5a1d2dba810962eae31bd87e82c2fdc5a777b04e522a
|
|
BLAKE2b-256 checksum How to use checksums |
bd4193578ac0cf72e5fc3ea01d7a8f3a7a1ddbd4eb7acf5ce5413e15a18c56ed
|
| 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 29, 2026.
Transparency logRelease files / pyheclib-0.4.1-cp38-cp38-macosx_14_0_arm64.whl
| Download URL | pyheclib-0.4.1-cp38-cp38-macosx_14_0_arm64.whl |
|---|---|
| Size | 488.5 kB |
| Tags | CPython 3.8 macOS 14.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
3155d50bb43990930f23449e874a5e089b75cf039c19654250e12d141bde7f26
|
|
BLAKE2b-256 checksum How to use checksums |
c3fa144289029019adc81ab8297904a1680e455ba568af74c33ba6d4f4d7d94d
|
| 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 29, 2026.
Transparency logSecurity for pyheclib 0.4.1
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.
Attestation for pyheclib-0.4.1.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 29, 2026.
Transparency logA 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.