Skip to main content

tzfpy

  • PyPI FOSSA Status
  • PyPI - Python Version
  • PyPI - Downloads
  • Anaconda-Server Badge
  • Conda Downloads
  • Conda Platform

Changes in 2.0

tzfpy 2.0 upgrades the Rust core from tzf-rs 1.x to 2.0, which carries no protobuf dependency: the boundary data ships as the TZF embedded binary format (.tzb).

The Python API is unchanged. The same six functions with the same names, signatures and return types: get_tz, get_tzs, timezonenames, data_version, get_tz_polygon_geojson, get_tz_index_geojson. Apart from the four changes listed below, code written against 1.x runs unmodified.

Measured differences:

Metric 1.3.3 2.0.0
Memory after import + first query ~72 MB ~41 MB
Wheel size (macOS arm64) 4.31 MB 2.77 MB
Dataset 2026c 2026c

Breaking changes

  1. get_tzs() results are sorted alphabetically. 1.x returned them in internal polygon order. get_tz() returns the first positive match and is the supported way to obtain a single name.
  2. The _TZFPY_DISABLE_Y_STRIPES environment variable was removed. tzf-rs 2 removed FinderOptions, and the YStripes index is always enabled. Setting the variable has no effect and raises no error.
  3. get_tz_polygon_geojson() and get_tz_index_geojson() raise ValueError for a name the dataset does not carry. In 1.x the same input panicked, surfacing as pyo3_runtime.PanicException.
  4. Exported GeoJSON no longer repeats the duplicated junction vertices that the protobuf expansion carried. Query results are identical; byte-for-byte comparisons of exported GeoJSON against 1.x output are not.

Unchanged: coordinate order is (longitude, latitude), the dataset is 2026c, and a point lying exactly on a shared border belongs to both neighbouring zones.

See the tzf-rs v2 changelog for the Rust-side detail.

Usage

Please note that new timezone names may be added to tzfpy, which could be incompatible with old version package like pytz or tzdata. As an option, tzfpy supports install compatible version of those packages with extra params.

# Install just tzfpy
pip install tzfpy

# Install with pytz
pip install "tzfpy[pytz]"

# Install with tzdata. https://github.com/python/tzdata
pip install "tzfpy[tzdata]"

# Install via conda, see more in https://github.com/conda-forge/tzfpy-feedstock
conda install -c conda-forge tzfpy

Experimental full-precision wheels are distributed separately, from this repository's own index rather than PyPI — see Full-precision wheels.

>>> from tzfpy import get_tz, get_tzs
>>> get_tz(116.3883, 39.9289)  # in (longitude, latitude) order.
'Asia/Shanghai'
>>> get_tzs(87.4160, 44.0400)  # in (longitude, latitude) order.
['Asia/Shanghai', 'Asia/Urumqi']

get_tz returns one name, or '' when no timezone covers the point. It is answered from the pre-index when a tile covers the point and by exact point-in-polygon otherwise. get_tzs is always polygon-exact and returns every match, sorted alphabetically: overlapping timezones and points lying exactly on a shared border yield more than one name.

Or you can try it via uvx:

uvx --with tzfpy python -c "from tzfpy import get_tz;tz = get_tz(116.3883,39.9289);print(tz)"
Asia/Shanghai

Export to GeoJSON

For data visualization, you can get timezone polygon GeoJSON data from tzfpy. get_tz_polygon_geojson returns the timezone's boundary polygons; get_tz_index_geojson returns the bounding boxes of its pre-index tiles: the area where get_tz answers from the fast path. Both return a serialized GeoJSON FeatureCollection, and both raise ValueError for a name the dataset does not carry:

from tzfpy import get_tz, get_tz_index_geojson, get_tz_polygon_geojson

lng = -74.0060
lat = 40.7128
tz = get_tz(lng, lat)
print(f"Timezone for ({lng}, {lat}): {tz}")

with open("tz_nyc_polygon.geojson", "w") as f:
    geojson_data = get_tz_polygon_geojson(tz)
    f.write(geojson_data)

with open("tz_nyc_index.geojson", "w") as f:
    geojson_data = get_tz_index_geojson(tz)
    f.write(geojson_data)

Each call re-serializes the geometry, so the cost is proportional to the timezone's polygon size.

Best practices

  1. Always install tzfpy with tzdata extra: pip install tzfpy[tzdata]

  2. Use Python's zoneinfo package(import zoneinfo, aka tzdata in PyPI) to handle timezone names, even if you are using arrow:

    examples/tzfpy_with_datetime.py:

    from datetime import datetime, timezone
    from zoneinfo import ZoneInfo
    
    from tzfpy import get_tz
    
    tz = get_tz(139.7744, 35.6812)  # Tokyo
    
    now = datetime.now(timezone.utc)
    now = now.replace(tzinfo=ZoneInfo(tz))
    print(now)
    # 2025-04-29 01:33:56.325194+09:00
    

    examples/tzfpy_with_arrow.py:

    from zoneinfo import ZoneInfo
    
    import arrow
    from tzfpy import get_tz
    
    tz = get_tz(139.7744, 35.6812)  # Tokyo
    
    arrow_now = arrow.now(ZoneInfo(tz))
    print(arrow_now.format("YYYY-MM-DD HH:mm:ss ZZZ"))
    # 2025-04-29 01:33:56.325194+09:00
    

    If you are using whenever, since whenever use tzdata internally, so it's compatible with tzfpy:

    examples/tzfpy_with_whenever.py:

    from whenever import Instant
    from tzfpy import get_tz
    
    now = Instant.now()
    
    tz = get_tz(139.7744, 35.6812)  # Tokyo
    
    now = now.to_tz(tz)
    
    print(now)
    # 2025-04-29T10:33:28.427784+09:00[Asia/Tokyo]
    

Accuracy

The Douglas-Peucker simplification uses an epsilon of 0.001 degrees, which caps boundary displacement at roughly 111 m by construction. Measured against the full-precision 2026c dataset with tzf's internal/cmd/borderchange (spherical model, certified via Lipschitz interval subdivision):

Metric Result
Certified maximum boundary displacement 111.7 m (+1.0 m tolerance)
Boundary length displaced more than 100 m 0.41%
Boundary length displaced more than 500 m 0%
Total mis-assigned area 16,962 km² (~0.003% of Earth)
Mis-assigned area within 100 m of the true border 92.8%

Only queries within about 111 m of a timezone border can differ from the full-precision result, and most of that band is much narrower. See BORDER_CHANGE.md in the tzf repository for the complete evaluation results.

Full-precision wheels

If that ~111 m band matters for your use case, full-precision wheels embed the unsimplified dataset. Same package, same API, no extra knobs — they are built from the ~14 MB full.tzb instead of the ~4 MB lite.tzb and carry a +full PEP 440 local version:

pip install tzfpy --index-url https://ringsaturn.github.io/tzfpy/full/simple/
>>> import importlib.metadata
>>> importlib.metadata.version("tzfpy")
'2.1.0+full'

The index carries a +full wheel for every tagged release. pip and uv pick the newest stable one by default; pass --pre (or set prerelease = "allow" under [tool.uv]) to take a newer pre-release.

data_version() reports the same tzdata release for both variants, so the distribution version above is how you tell them apart at runtime.

The full variant runs on tzf-rs's EmbeddedFinder, which queries the .tzb bytes in place instead of expanding them into polygons the way the lite build's DefaultFinder does. So the trade is query latency, not memory: the full wheel is larger on disk yet lighter in RAM. Measured on an Apple M3 Max (macOS 26.6.2, CPython 3.14.0) over all 154,694 cities in citiespy, tzfpy 2.1.0 on tzf-rs 2.1.2 and the 64-point-chunk 2026d data:

Metric Lite Full
Wheel size (macOS arm64) 3.0 MB 11.8 MB
Loaded extension 4.9 MB 16.0 MB
RSS delta after first query 39.0 MB 16.0 MB
Cold start (import + first query) 15 ms 10 ms
get_tz median 208 ns 250 ns
get_tzs median (polygon scan) 375 ns 791 ns

get_tz still answers most points from the FUZZY preindex, so its fast path costs about 20%. The exact polygon scan behind get_tzs (and behind get_tz on a preindex miss, i.e. near borders) decodes compressed geometry on every call and lands at about 2x; on border cities get_tz sits around 1.2 µs against the lite build's 0.9 µs. Both numbers are per-call and single-threaded. The lite build on PyPI stays the right default; reach for the full wheels when you query near borders and the extra fraction of a microsecond is cheaper than the ~111 m band.

These wheels are published only to GitHub Releases and the index above, never to PyPI (the pre-release tags that carry them publish the lite wheels to TestPyPI, not PyPI). Keeping an experimental variant off PyPI means nobody gets it without asking for it, and the mechanics line up with that policy: the full dataset is git-only in tzf-dist because it exceeds the crates.io size limit, and PyPI rejects local versions by design. If the variant graduates, it will be announced in the changelog.

The two variants sit on separate index paths on purpose — 2.0.0+full sorts above 2.0.0, so sharing one page would make pip silently prefer the full wheel. With uv, pin the index explicitly:

[[tool.uv.index]]
name = "tzfpy-full"
url = "https://ringsaturn.github.io/tzfpy/full/simple/"
explicit = true

[tool.uv.sources]
tzfpy = { index = "tzfpy-full" }

Performance

Benchmark run under v2.0.0 on a MacBook Pro (Apple M3 Max, macOS 26.6.2, CPython 3.10.18), via make bench, over random world cities, 500 rounds after 500 warmup iterations:

Index mode Median (µs) Mean (µs) Throughput (Kops/s) Memory
Default (pre-index + YStripes) 0.6825 0.8990 1112.3 ~40.4 MB

Timings include the Python call overhead and the benchmark's own coordinate generation; the Rust lookup itself measures ~260 ns for a random city on the same machine. The 1.x median on the same machine was 0.636 µs, so query latency is within run-to-run variation of 1.x. The measured reductions are in memory and wheel size.

Memory

Measured with make measure-memory on the same machine (RSS increase after import tzfpy plus one query, CPython 3.10.18):

Version RSS delta (3 runs) Whole process
1.3.3 71.6–73.6 MB 89.7–96.4 MB
2.0.0 39.8–42.3 MB 57.8–60.3 MB

Both rows were measured back to back on the same machine with the same script, against the same 2026c dataset.

Or you can view more benchmark results on GitHub Action summary page.

More benchmarks compared with other packages can be found in ringsaturn/tz-benchmark.

Background

tzfpy was originally written in Go named tzf and use CGO compiled to .so to be used by Python. Since v0.11.0 it's rewritten in Rust built on PyO3 and tzf-rs, a tzf's Rust port.

I have written an article about the history of tzf, its Rust port, and its Rust port's Python binding; you can view it here.

Also, see Project tzf for more information.

Compare with other packages

Please note that directly compare with other packages is not fair, because they have different use cases and design goals, for example, the precise.

TimezoneFinder

I got lots of inspiration from it. Timezonefinder is a very good package and it's mostly written in Python, so it's easy to use. And it's much more widely used compared with tzfpy if you care about that.

However, it's slower than tzfpy, especially around the borders, and I have lots of API requests from there. That's the reason I created tzf originally. And then tzf-rs and tzfpy.

pytzwhere

I recommend to read timezonefinder's Comparison to pytzwhere since it's very detailed.

Contributing

Install:

Available commands:
  build            - Build the project using uv
  build-ext        - Rebuild and install local Rust extension into venv
  fmt              - Format the code using ruff
  lint             - Lint the code using ruff
  sync             - Sync and compile the project using uv
  lock             - Lock dependencies using uv
  upgrade          - Upgrade dependencies using uv
  all              - Run lock, sync, fmt, lint, and test
  test             - Run non-benchmark tests
  test-all         - Run all tests including benchmark
  bench            - Run the query benchmark and print a Markdown table
  measure-memory   - Measure memory usage of tzfpy and TimezoneFinder
make all

LICENSE

This project is licensed under the MIT license. The data is licensed under the ODbL license, same as evansiroky/timezone-boundary-builder

FOSSA Status

Metadata

Release files for tzfpy 2.1.1

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

Source distribution (sdist)

Source distribution for tzfpy 2.1.1
File Size Uploaded
tzfpy-2.1.1.tar.gz 149.2 kB Details

Built distributions (wheels)

Table of built distributions (wheels) for tzfpy 2.1.1
File
tzfpy-2.1.1-cp314-cp314t-win_arm64.whl CPython 3.14 CPython 3.14 free-threading Windows ARM64 Details
tzfpy-2.1.1-cp314-cp314t-win_amd64.whl CPython 3.14 CPython 3.14 free-threading Windows x86-64 Details
tzfpy-2.1.1-cp314-cp314t-musllinux_1_2_x86_64.whl CPython 3.14 CPython 3.14 free-threading Linux musl 1.2+ x86-64 Details
tzfpy-2.1.1-cp314-cp314t-musllinux_1_2_aarch64.whl CPython 3.14 CPython 3.14 free-threading Linux musl 1.2+ ARM64 Details
tzfpy-2.1.1-cp314-cp314t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.14 CPython 3.14 free-threading Linux glibc 2.17+ x86-64 Details
tzfpy-2.1.1-cp314-cp314t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl CPython 3.14 CPython 3.14 free-threading Linux glibc 2.17+ ARM64 Details
tzfpy-2.1.1-cp314-cp314t-macosx_11_0_arm64.whl CPython 3.14 CPython 3.14 free-threading macOS 11.0+ ARM64 Details
tzfpy-2.1.1-cp314-cp314t-macosx_10_12_x86_64.whl CPython 3.14 CPython 3.14 free-threading macOS 10.12+ x86-64 Details
tzfpy-2.1.1-cp310-abi3-win_arm64.whl CPython 3.10 abi3 Windows ARM64 Details
tzfpy-2.1.1-cp310-abi3-win_amd64.whl CPython 3.10 abi3 Windows x86-64 Details
tzfpy-2.1.1-cp310-abi3-musllinux_1_2_x86_64.whl CPython 3.10 abi3 Linux musl 1.2+ x86-64 Details
tzfpy-2.1.1-cp310-abi3-musllinux_1_2_aarch64.whl CPython 3.10 abi3 Linux musl 1.2+ ARM64 Details
tzfpy-2.1.1-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.10 abi3 Linux glibc 2.17+ x86-64 Details
tzfpy-2.1.1-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl CPython 3.10 abi3 Linux glibc 2.17+ ARM64 Details
tzfpy-2.1.1-cp310-abi3-macosx_11_0_arm64.whl CPython 3.10 abi3 macOS 11.0+ ARM64 Details
tzfpy-2.1.1-cp310-abi3-macosx_10_12_x86_64.whl CPython 3.10 abi3 macOS 10.12+ x86-64 Details

Total release size: 48.4 MB

Release files / tzfpy-2.1.1.tar.gz

Download URL tzfpy-2.1.1.tar.gz
Size 149.2 kB
Tags Source
SHA-256 checksum
How to use checksums
9e44eb9b160c7d3160a1b12eee375401c328214b6a51b99819082192e9c369c9
BLAKE2b-256 checksum
How to use checksums
9442926d86fdbba17f72b48c69ab981463bdc8fa61e9286f35827573c2272eff
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

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

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 11, 2026.

Transparency log

Release files / tzfpy-2.1.1-cp314-cp314t-win_arm64.whl

Download URL tzfpy-2.1.1-cp314-cp314t-win_arm64.whl
Size 2.9 MB
Tags CPython 3.14 CPython 3.14 free-threading Windows ARM64
SHA-256 checksum
How to use checksums
2e555e70fbd55d2ad9f94e6f1144129374fda77dcdf540276edf62f90e523ce3
BLAKE2b-256 checksum
How to use checksums
abf8d0d342c7e0684af535036f4f6bdae4f739ca763cd460c860b0e808fb908b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

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

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 11, 2026.

Transparency log

Release files / tzfpy-2.1.1-cp314-cp314t-win_amd64.whl

Download URL tzfpy-2.1.1-cp314-cp314t-win_amd64.whl
Size 2.9 MB
Tags CPython 3.14 CPython 3.14 free-threading Windows x86-64
SHA-256 checksum
How to use checksums
1f1fd394df92d96039435f1290c66963a1d8a6205002abc6807c763c03ce5a6d
BLAKE2b-256 checksum
How to use checksums
b8860eb3892072eb73e789fcf99a5d90b98dc187a74c36bbd78325111608fcb0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

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

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 11, 2026.

Transparency log

Release files / tzfpy-2.1.1-cp314-cp314t-musllinux_1_2_x86_64.whl

Download URL tzfpy-2.1.1-cp314-cp314t-musllinux_1_2_x86_64.whl
Size 3.2 MB
Tags CPython 3.14 CPython 3.14 free-threading Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
80a37987960e256aac22dad2d4decfa8d04411083cb8723d9434dac65857519e
BLAKE2b-256 checksum
How to use checksums
d11cd80f6d2954194930d2802cfc9f2c12f1f7a2eda1a73ef148f9e86c3781f1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

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

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 11, 2026.

Transparency log

Release files / tzfpy-2.1.1-cp314-cp314t-musllinux_1_2_aarch64.whl

Download URL tzfpy-2.1.1-cp314-cp314t-musllinux_1_2_aarch64.whl
Size 3.2 MB
Tags CPython 3.14 CPython 3.14 free-threading Linux musl 1.2+ ARM64
SHA-256 checksum
How to use checksums
49d40d0cc466a0039679477cac36377298228df0f32aec6491646c989b3a72a0
BLAKE2b-256 checksum
How to use checksums
9bfa36018f81ec01239687ae932a71e8f68b40218da470fdb38ecd03faf76a81
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

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

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 11, 2026.

Transparency log

Release files / tzfpy-2.1.1-cp314-cp314t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL tzfpy-2.1.1-cp314-cp314t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 3.0 MB
Tags CPython 3.14 CPython 3.14 free-threading Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
efc31a6db942fe968425a7e7acdec347f74e0efffed881ddfe0bb4a745c6ebff
BLAKE2b-256 checksum
How to use checksums
54d83ecf6212fba1d4f8682e50dc97fe1abfa0d4effd7350b22c0db8909ad7c3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

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

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 11, 2026.

Transparency log

Release files / tzfpy-2.1.1-cp314-cp314t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

Download URL tzfpy-2.1.1-cp314-cp314t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 3.0 MB
Tags CPython 3.14 CPython 3.14 free-threading Linux glibc 2.17+ ARM64
SHA-256 checksum
How to use checksums
156e8092c1bbac041ea678924ce4477ea4333efc899e4d6ab7daa1537572ea9a
BLAKE2b-256 checksum
How to use checksums
cd48291dbdf5a837a62ccefb6aa701f10a782d20fc2a18db3024e4b2fe88b1bc
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

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

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 11, 2026.

Transparency log

Release files / tzfpy-2.1.1-cp314-cp314t-macosx_11_0_arm64.whl

Download URL tzfpy-2.1.1-cp314-cp314t-macosx_11_0_arm64.whl
Size 3.0 MB
Tags CPython 3.14 CPython 3.14 free-threading macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
372ecb7bab4d837c39fedc1c4550732f49c40ff3bc1e3c023927e27c5f1b6b08
BLAKE2b-256 checksum
How to use checksums
95934956150bd90cf9b94401044fa2cf570ebe1ffbe6b09c609de0b3aeff1d31
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

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

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 11, 2026.

Transparency log

Release files / tzfpy-2.1.1-cp314-cp314t-macosx_10_12_x86_64.whl

Download URL tzfpy-2.1.1-cp314-cp314t-macosx_10_12_x86_64.whl
Size 3.0 MB
Tags CPython 3.14 CPython 3.14 free-threading macOS 10.12+ x86-64
SHA-256 checksum
How to use checksums
4ccf0de1a8bd35d62f6d133cad008d656b5ce92356dc8aecdee2c729f23854d5
BLAKE2b-256 checksum
How to use checksums
cbf86e1845463fc400d3929246ebc01e78635d64feab4e2118bfcb82ec28eb16
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

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

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 11, 2026.

Transparency log

Release files / tzfpy-2.1.1-cp310-abi3-win_arm64.whl

Download URL tzfpy-2.1.1-cp310-abi3-win_arm64.whl
Size 2.9 MB
Tags CPython 3.10 Windows ARM64 abi3
SHA-256 checksum
How to use checksums
5f6ef2ea9fc5aa77d87036bf08342020207aa114a5e3fa980d3d599c46f6563f
BLAKE2b-256 checksum
How to use checksums
de737c7c378b25725937fc5218b1fe5cc8d6504471f77bfd3042b7401b2e9dea
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

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

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 11, 2026.

Transparency log

Release files / tzfpy-2.1.1-cp310-abi3-win_amd64.whl

Download URL tzfpy-2.1.1-cp310-abi3-win_amd64.whl
Size 2.9 MB
Tags CPython 3.10 Windows x86-64 abi3
SHA-256 checksum
How to use checksums
83ac484c44b2cc5bd0905d77f38e1255d2fc973909d4c53ff82655b1262748d5
BLAKE2b-256 checksum
How to use checksums
9990c1875e8e0238e81a68137fc4818d93c5606db7a576b838998b2e2660d23e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

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

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 11, 2026.

Transparency log

Release files / tzfpy-2.1.1-cp310-abi3-musllinux_1_2_x86_64.whl

Download URL tzfpy-2.1.1-cp310-abi3-musllinux_1_2_x86_64.whl
Size 3.2 MB
Tags CPython 3.10 Linux musl 1.2+ x86-64 abi3
SHA-256 checksum
How to use checksums
8cbdb469718e1c61997f2317f651fbf1c69e5b11f4c4ae60fb4cb80dfef6adf6
BLAKE2b-256 checksum
How to use checksums
12e1b0dbc64a6418e7b2ae46f8d795de2dc12416858f66f30939cd0bdc4eeaaa
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

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

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 11, 2026.

Transparency log

Release files / tzfpy-2.1.1-cp310-abi3-musllinux_1_2_aarch64.whl

Download URL tzfpy-2.1.1-cp310-abi3-musllinux_1_2_aarch64.whl
Size 3.2 MB
Tags CPython 3.10 Linux musl 1.2+ ARM64 abi3
SHA-256 checksum
How to use checksums
2d285d7d0829486634c351b65dc60989ab607b0d7e27715adca4f55ba4905613
BLAKE2b-256 checksum
How to use checksums
630ec242bb84ab0f0a76eb1fe60e5a71ce5b88862fa32108fa3e1c1c83efb665
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

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

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 11, 2026.

Transparency log

Release files / tzfpy-2.1.1-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL tzfpy-2.1.1-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 3.0 MB
Tags CPython 3.10 Linux glibc 2.17+ x86-64 abi3
SHA-256 checksum
How to use checksums
cf9811d3f9f7188304605aeca644f23e027cdbf99e909a78a3e0d231ac452bdf
BLAKE2b-256 checksum
How to use checksums
163cad329036c7dbd38fc927f0d173e740b6aea301532ab147ca2c6f0ea1f32a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

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

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 11, 2026.

Transparency log

Release files / tzfpy-2.1.1-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

Download URL tzfpy-2.1.1-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 3.0 MB
Tags CPython 3.10 Linux glibc 2.17+ ARM64 abi3
SHA-256 checksum
How to use checksums
3055006cf5a7e9f259bfc2cc84551f6e5d68814bc25b12fe67e9c6e3961605c4
BLAKE2b-256 checksum
How to use checksums
b14ed762652578ed21c7832ccc145c6288ea896cdde278fb78d43ceb15c7f697
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

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

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 11, 2026.

Transparency log

Release files / tzfpy-2.1.1-cp310-abi3-macosx_11_0_arm64.whl

Download URL tzfpy-2.1.1-cp310-abi3-macosx_11_0_arm64.whl
Size 3.0 MB
Tags CPython 3.10 abi3 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
220d9a5a559eabde2e27ff66a75d18af986fc059785bac49a243740cd2408bea
BLAKE2b-256 checksum
How to use checksums
1f5374dfb55d3311a302b0ced3da1d08b2f280fc68755e3b7291326e92cb6779
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

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

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 11, 2026.

Transparency log

Release files / tzfpy-2.1.1-cp310-abi3-macosx_10_12_x86_64.whl

Download URL tzfpy-2.1.1-cp310-abi3-macosx_10_12_x86_64.whl
Size 3.0 MB
Tags CPython 3.10 abi3 macOS 10.12+ x86-64
SHA-256 checksum
How to use checksums
e6f326146b736722b24a3c8304810cee2a123e8c1b16b54f745efa6af70fd319
BLAKE2b-256 checksum
How to use checksums
ca630b61f09ba2be18dd679552352711ebd9b28fd391019a82e866bdc45b2f67
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

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

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 11, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

2.1.1 This release

17 release files

2.1.0

15 release files

2.0.0

15 release files

1.3.3

15 release files

1.3.2

15 release files

1.3.1

15 release files

1.3.0

15 release files

1.2.0

15 release files

1.1.3

21 release files

1.1.2

21 release files

1.1.1

21 release files

1.1.0

21 release files

1.0.1

21 release files

1.0.0

13 release files

0.15.6

8 release files

0.15.0

1 release file

0.13.1

1 release file

0.8.2

1 release file

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