Releases: lqgentner/freezebase
Releases · lqgentner/freezebase
Release list
freezebase 0.6.0
Added
write_cogandrewrite_tifftaketags,band_tagsandunits, writing
dataset-level tags, per-band tags and band unit strings. All three are
keyword-only and default toNone, so existing calls are unchanged.
Fixed
rewrite_tiffno longer losesLAYOUT: COGwhen a non-GTiff destination
carries band descriptions, tags, band tags or units. All of those live in the
GDAL_METADATA TIFF tag, which grows when written into a finished file and is
relocated behind the image data; they now go into an intermediate GTiff so
the driver copy writes the final layout around them.- Every per-band sequence (
band_names,color_interp,band_tags,units)
is now rejected if it does not match the band count. - The
s3extra now requiress3fs>=2026.7.0. Earlier versions cache a
prefix-filtered listing under the unfiltered directory key
(fsspec/s3fs#1034), so a single
glob("prefix*")makes every later listing miss files.
freezebase 0.5.0
Added
- Python 3.14 support
freezebase.__version__, read from the installed distribution metadata.
Fixed
HTTPDownloadernow closes the streamed response on every path out of a
download, not only on the successful one.
freezebase 0.4.0
Added
HTTPDownloader.close()and context-manager support, which close the
downloader's session and release its pooled connections. Creating one
downloader per download previously held a connection open until the garbage
collector ran, which made downstream test suites fail unpredictably. The
session is also closed on garbage collection as a fallback.
Changed
- Breaking:
HTTPDownloaderno longer forwards arbitrary keyword arguments
torequests.methodandtimeoutare now named parameters and are spelled
exactly as before, so calls that only used those keep working;methodis
restricted to"GET"and"POST". Any otherrequestskeyword, such as
paramsorheaders, now raisesTypeErrorinstead of reaching the request.
To configure the transport, for example a connection pool size, mount an
adapter onHTTPDownloader.session.
freezebase 0.3.0
This release marks the first release of freezebase on PyPI!
Added
- Per-path named AWS profile support in
make_s3_upath. Combinable with a custom
endpoint_url, mutually exclusive withanon=Trueand explicit
key/secret/token. Setting a profile takes environment credentials out of
boto's resolution chain, so the path signs with the profile's keys only. aws_session, returning the cached RasterioAWSSessionfor an S3 path, and
clear_aws_session_cacheto discard those sessions. Preferaws_sessionover
constructing anAWSSessiondirectly, so every layer signs identically.
Changed
- Renamed the package to
freezebase, to allow publication on
PyPI under the same name. The import path, PyPI distribution name,
FREEZEBASE_CACHE/FREEZEBASE_DATAenvironment variables, and the GitHub
repository all changed accordingly; there is no compatibility shim for the old names. s3_envreuses a cachedAWSSessionper distinct S3 configuration instead of
building one per call. Constructing a session resolves boto's whole credential
chain eagerly, ands3_envis entered on every raster operation, so a
profile-authenticated path previously re-read the shared credentials file
for every raster read and write. Refreshable STS/SSO credentials still rotate, because
Rasterio re-freezes them on eachEnventry; static credentials rewritten
mid-process now needclear_aws_session_cache.make_s3_upathrejects credentials inclient_kwargs, which reach s3fs but
nots3_env.