Skip to main content

License: MIT Python 3.10+ Release PyPI Python package

Icegrams: A fast, compact trigram library for Icelandic

Overview

Icegrams is an MIT-licensed Python 3 (>=3.10) package that encapsulates a large trigram library for Icelandic. (A trigram is a tuple of three consecutive words or tokens that appear in real-world text.)

Over 78 million unique trigrams and their frequency counts are heavily compressed using radix tries and quasi-succinct indexes employing Elias-Fano encoding. This enables the ~213 megabyte compressed trigram file to be mapped directly into memory, with no ex ante decompression, for fast queries (typically ~10 microseconds per lookup).

The Icegrams library is implemented in Python and C/C++, glued together via CFFI.

The trigram storage approach is based on a 2017 paper by Pibiri and Venturini, also referring to Ottaviano and Venturini (2014) regarding partitioned Elias-Fano indexes.

You can use Icegrams to obtain probabilities (relative frequencies) of over 1.7 million different unigrams (single words or tokens), or of bigrams (pairs of two words or tokens), or of trigrams. You can also ask it to return the N most likely successors to any unigram or bigram.

Icegrams is useful for instance in spelling correction, predictive typing, to help disabled people write text faster, and for various text generation, statistics and modelling tasks.

The Icegrams trigram corpus is built from the Icelandic Gigaword Corpus (Risamálheild), which is collected and maintained by The Árni Magnússon Institute for Icelandic Studies, supplemented by a corpus of recent news articles collected by Miðeind. A weighted sample of the corpora, containing about 1 billion tokens of text from 1980 through July 2026, was used as the source of the token stream. Every sentence was corrected with Málfríður, Miðeind's neural spelling and grammar correction model. Trigrams that only occurred once in the stream were eliminated before creating the compressed Icegrams database. The creation process is further described here; the previous (2019) model is described here. The 2019 model itself also remains available: it is bundled inside icegrams releases up to and including 1.1.7 on PyPI, and can be retrieved from this repository's git history, where it was tracked via Git LFS as src/icegrams/resources/trigrams.bin until version 2.0.0.

Example

>>> from icegrams import Ngrams
>>> ng = Ngrams()
>>> # Obtain the frequency of the unigram 'Ísland'
>>> ng.freq("Ísland")
708104
>>> # Obtain the probability of the unigram 'Ísland', as a fraction
>>> # of the frequency of all unigrams in the database
>>> ng.prob("Ísland")
0.00023349672913028182
>>> # Obtain the log probability (base e) of the unigram 'Ísland'
>>> ng.logprob("Ísland")
-8.362342488960794
>>> # Obtain the frequency of the bigram 'Katrín Jakobsdóttir'
>>> ng.freq("Katrín", "Jakobsdóttir")
47918
>>> # Obtain the probability of 'Jakobsdóttir' given 'Katrín'
>>> ng.prob("Katrín", "Jakobsdóttir")
0.1746471994635099
>>> # Obtain the probability of 'Júlíusdóttir' given 'Katrín'
>>> ng.prob("Katrín", "Júlíusdóttir")
0.027305595241566307
>>> # Obtain the frequency of 'velta fyrirtækisins er'
>>> ng.freq("velta", "fyrirtækisins", "er")
15
>>> # adj_freq returns adjusted frequencies, i.e incremented by 1
>>> ng.adj_freq("xxx", "yyy", "zzz")
1
>>> # Obtain the N most likely successors of a given unigram or bigram,
>>> # in descending order by log probability of each successor
>>> ng.succ(10, "stjórnarskrá", "lýðveldisins")
[('Íslands', -1.4328143767547825), ('.', -2.4118815147731096),
    (',', -2.960989325110117), ('og', -3.4164648537929434), ('að', -4.693559922947841),
    ('sem', -4.728651242759112), ('er', -5.016333315210893), ('í', -5.49590639547278),
    ('en', -5.575949103146316), ('?', -5.575949103146316)]
>>> ng.succ(1, "Ég", "hlýði")
[('Víði', -0.9694005571881035)]

Reference

Initializing Icegrams

After installing the icegrams package, use the following code to import it and initialize an instance of the Ngrams class:

from icegrams import Ngrams
ng = Ngrams()

Now you can use the ng instance to query for unigram, bigram and trigram frequencies and probabilities.

An Ngrams instance can be shared by any number of threads, also on free-threaded Python (3.14t and 3.15t), where queries run in parallel. Call ng.close() only when no other thread is using ng.

On Python with the GIL, threads take turns at queries, and several busy threads are slower than one: there, run parallel queries in separate processes, each with its own Ngrams. The processes share the memory-mapped model file.

By default, probabilities of bigrams and trigrams that do not occur in the database are estimated by backing off to the next lower order (see prob() below). To obtain the behavior of versions before 2.1.0, where no backoff was done, pass backoff=False:

ng = Ngrams(backoff=False)

The trigram model is installed with the icegrams-data package, a dependency of icegrams; see the Installation section. If the model is not present, the Ngrams() constructor raises icegrams.ModelNotFoundError.

The Ngrams class

  • __init__(self)

    Initializes the Ngrams instance.

  • freq(self, *args) -> int

    Returns the frequency of a unigram, bigram or trigram.

    • str[] *args A parameter sequence of consecutive unigrams to query the frequency for.
    • returns An integer with the frequency of the unigram, bigram or trigram.

    To query for the frequency of a unigram in the text, call ng.freq("unigram1"). This returns the number of times that the unigram appears in the database. The unigram is queried as-is, i.e. with no string stripping or lowercasing.

    To query for the frequency of a bigram in the text, call ng.freq("unigram1", "unigram2").

    To query for the frequency of a trigram in the text, call ng.freq("unigram1", "unigram2", "unigram3").

    If you pass more than 3 arguments to ng.freq(), only the last 3 are significant, and the query will be treated as a trigram query.

    Examples:

    >>>> ng.freq("stjórnarskrá")
    107427
    >>>> ng.freq("stjórnarskrá", "lýðveldisins")
    3167
    >>>> ng.freq("stjórnarskrá", "lýðveldisins", "Íslands")
    755
    >>>> ng.freq("xxx", "yyy", "zzz")
    0
    
  • adj_freq(self, *args) -> int

    Returns the adjusted frequency of a unigram, bigram or trigram.

    • str[] *args A parameter sequence of consecutive unigrams to query the frequency for.
    • returns An integer with the adjusted frequency of the unigram, bigram or trigram. The adjusted frequency is the actual frequency plus 1. The method thus never returns 0.

    To query for the frequency of a unigram in the text, call ng.adj_freq("unigram1"). This returns the number of times that the unigram appears in the database, plus 1. The unigram is queried as-is, i.e. with no string stripping or lowercasing.

    To query for the frequency of a bigram in the text, call ng.adj_freq("unigram1", "unigram2").

    To query for the frequency of a trigram in the text, call ng.adj_freq("unigram1", "unigram2", "unigram3").

    If you pass more than 3 arguments to ng.adj_freq(), only the last 3 are significant, and the query will be treated as a trigram query.

    Examples:

    >>>> ng.adj_freq("stjórnarskrá")
    107428
    >>>> ng.adj_freq("stjórnarskrá", "lýðveldisins")
    3168
    >>>> ng.adj_freq("stjórnarskrá", "lýðveldisins", "Íslands")
    756
    >>>> ng.adj_freq("xxx", "yyy", "zzz")
    1
    
  • prob(self, *args) -> float

    Returns the probability of a unigram, bigram or trigram.

    • str[] *args A parameter sequence of consecutive unigrams to query the probability for.
    • returns A float with the probability of the given unigram, bigram or trigram.

    The probability of a unigram is the frequency of the unigram divided by the sum of the frequencies of all unigrams in the database.

    The probability of a bigram (u1, u2) is the frequency of the bigram divided by the frequency of the unigram u1, i.e. how likely u2 is to succeed u1.

    The probability of a trigram (u1, u2, u3) is the frequency of the trigram divided by the frequency of the bigram (u1, u2), i.e. how likely u3 is to succeed u1 u2.

    If a bigram or trigram does not occur in the database, its probability is estimated by backoff: the probability of the next lower order n-gram, i.e. (u2, u3) for a trigram or (u3) for a bigram, multiplied by icegrams.BACKOFF_FACTOR (0.4, a read-only constant). The backoff is applied repeatedly if needed, so an unseen trigram whose bigram (u2, u3) is also unseen is estimated from the unigram probability of u3 multiplied by the factor squared. This is the "stupid backoff" scheme of Brants et al. (2007), with one addition: the backed-off estimate is capped at 1 / (context frequency + 1), i.e. what a single unseen continuation of the context would be worth. An unseen n-gram therefore never scores higher than a seen n-gram in the same context, while unseen continuations are still ranked against each other by their lower-order probabilities. The resulting values are not normalized to sum to exactly 1 over the vocabulary, but are suitable for ranking and scoring.

    If the Ngrams instance was created with backoff=False, no backoff is done and the add-one estimates described below under logprob() are returned instead. Note that in that case an n-gram whose context (u1 or (u1, u2)) is itself unseen gets a probability of 1.0.

    If you pass more than 3 arguments to ng.prob(), only the last 3 are significant, and the query will be treated as a trigram probability query.

    Examples:

    >>>> ng.prob("stjórnarskrá")
    3.542424727548586e-05
    >>>> ng.prob("stjórnarskrá", "lýðveldisins")
    0.02948951856126892
    >>>> ng.prob("stjórnarskrá", "lýðveldisins", "Íslands")
    0.23863636363636387
    >>>> # Unseen trigram, backed off to 0.4 * prob("át", "Ísland")
    >>>> ng.prob("hundurinn", "át", "Ísland")
    3.735947666084515e-05
    
  • logprob(self, *args) -> float

    Returns the log probability of a unigram, bigram or trigram.

    • str[] *args A parameter sequence of consecutive unigrams to query the log probability for.
    • returns A float with the natural logarithm (base e) of the probability of the given unigram, bigram or trigram.

    The probability of a unigram is the adjusted frequency of the unigram divided by the sum of the frequencies of all unigrams in the database.

    The probability of a bigram (u1, u2) is the adjusted frequency of the bigram divided by the adjusted frequency of the unigram u1, i.e. how likely u2 is to succeed u1.

    The probability of a trigram (u1, u2, u3) is the adjusted frequency of the trigram divided by the adjusted frequency of the bigram (u1, u2), i.e. how likely u3 is to succeed u1 u2.

    Unseen bigrams and trigrams are backed off to the next lower order as described under prob() above, unless the Ngrams instance was created with backoff=False.

    If you pass more than 3 arguments to ng.logprob(), only the last 3 are significant, and the query will be treated as a trigram probability query.

    Examples:

    >>>> ng.logprob("stjórnarskrá")
    -10.248114021011704
    >>>> ng.logprob("stjórnarskrá", "lýðveldisins")
    -3.523720381779265
    >>>> ng.logprob("stjórnarskrá", "lýðveldisins", "Íslands")
    -1.4328143767547825
    
  • succ(self, n, *args) -> list[tuple]

    Returns the N most probable successors of a unigram or bigram.

    • int n A positive integer specifying how many successors, at a maximum, should be returned.
    • str[] *args One or two string parameters containing the unigram or bigram to query the successors for.
    • returns A list of tuples of (successor unigram, log probability), in descending order of probability.

    If you pass more than 2 string arguments to ng.succ(), only the last 2 are significant, and the query will be treated as a bigram successor query.

    Examples:

    >>>> ng.succ(2, "stjórnarskrá")
    [('.', -1.8955821526777576), ('og', -2.45003747615368)]
    >>>> ng.succ(2, "stjórnarskrá", "lýðveldisins")
    [('Íslands', -1.4328143767547825), ('.', -2.4118815147731096)]
    >>>> # The following is equivalent to ng.succ(2, "lýðveldisins", "Íslands")
    >>>> ng.succ(2, "stjórnarskrá", "lýðveldisins", "Íslands")
    [(',', -1.799606749884445), ('nr.', -1.8759797286690185)]
    

Notes

Icegrams is built with a sliding window over the source text. This means that a sentence such as "Maðurinn borðaði ísinn." results in the following trigrams being added to the database:

   ("", "", "Maðurinn")
   ("", "Maðurinn", "borðaði")
   ("Maðurinn", "borðaði", "ísinn")
   ("borðaði", "ísinn", ".")
   ("ísinn", ".", "")
   (".", "", "")

The same sliding window strategy is applied for bigrams, so the following bigrams would be recorded for the same sentence:

   ("", "Maðurinn")
   ("Maðurinn", "borðaði")
   ("borðaði", "ísinn")
   ("ísinn", ".")
   (".", "")

You can thus obtain the N unigrams that most often start a sentence by asking for ng.succ(N, "").

And, of course, four unigrams are also added, one for each token in the sentence.

The tokenization of the source text into unigrams is done with the Tokenizer package and uses the rules documented there. Importantly, tokens other than words, abbreviations, entity names, person names and punctuation are replaced by placeholders. This means that all numbers are represented by the token [NUMBER], amounts by [AMOUNT], dates by [DATEABS] and [DATEREL], e-mail addresses by [EMAIL], etc. For the complete mapping of token types to placeholder strings, see the documentation for the Tokenizer package.

Prerequisites

This package runs on CPython 3.10 or newer, free-threaded CPython 3.14t and 3.15t, and PyPy 3.11 and 3.12. Binary wheels are published for Linux (x86-64 and aarch64, gcc), macOS (x86-64 and arm64, clang) and Windows (x86-64, MSVC).

If a binary wheel package isn't available on PyPI for your system, you may need to have the python3-dev package (or its Windows equivalent) installed on your system to set up Icegrams successfully. This is because a source distribution install requires a C++ compiler and linker:

# Debian or Ubuntu:
sudo apt-get install python3-dev

Installation

To install this package:

pip install icegrams

This also installs the trigram model, which is published on PyPI as a package of its own, icegrams-data (a 192 MB wheel, holding the 213 MB model file trigrams.bin). icegrams requires the icegrams-data release of the model it was tested with, e.g. icegrams-data == 2026.8.* for the model of August 2026, so lock files, wheelhouses and container images capture the model together with the code. pip and uv cache the wheel, so it is downloaded once per machine. Creating an Ngrams instance never accesses the network.

The model is also published as an asset of a GitHub release of this repository. Where icegrams-data can't be installed (for instance with pip install --no-deps, or on a machine that cannot reach PyPI), the model can be downloaded from there once instead:

python -m icegrams.download

This stores the model in a per-user cache directory (on Linux typically ~/.cache/icegrams/), verifies its checksum, and is a no-op if the model is already there, or if the installed icegrams-data package holds it. The same step is available from Python as icegrams.download.download_model(). This was the way to install the model for versions 2.0 and 2.1.

The model is looked up in this order: the file named by ICEGRAMS_MODEL_FILE, a model built in place in the package's resources directory, the icegrams-data package, and the download cache. If none holds the model, Ngrams() raises icegrams.ModelNotFoundError. These environment variables affect where the model is stored and looked up:

  • ICEGRAMS_MODEL_FILE: path of an existing model file to use directly, skipping the lookup entirely (useful for offline or air-gapped environments).
  • ICEGRAMS_MODEL_DIR: base directory for the downloaded model, instead of the per-user cache directory. The model is stored in a subdirectory named after the model release (e.g. model-2026.08), so a package upgrade that ships a new model requires running the download step again.
  • ICEGRAMS_MODEL_URL: alternative URL for the download step to fetch the model from. The pinned checksum is only verified for the official URL.

Run python -m icegrams.download --help for the corresponding command-line options (--dir, --url and --force).

If you want to be able to edit the source, do like so (assuming you have git installed):

git clone https://github.com/mideind/Icegrams
cd Icegrams
uv sync --extra dev
uv run python -m icegrams.download   # the model, once

The package source code is now in ./src/icegrams. In this environment, uv installs icegrams-data from the subproject in ./icegrams-data, which holds no model, so the model comes from the download step. (pip install -e ".[dev]" installs icegrams-data from PyPI instead, with the model.)

Tests

To run the built-in tests, install pytest, cd to your Icegrams subdirectory (and optionally activate your virtualenv), then run:

python -m pytest

Changelog

  • Version 2.2.0: The trigram model is installed from PyPI as the package icegrams-data (version 2026.8.0, the unchanged model of 2.0.0), which icegrams now depends on, so the separate download step python -m icegrams.download is no longer needed. It remains as a fallback for installations without icegrams-data. (2026-11-04)
  • Version 2.1.0: prob() and logprob() now back off to the next lower n-gram order for bigrams and trigrams that do not occur in the database ("stupid backoff", factor BACKOFF_FACTOR = 0.4, capped so that an unseen n-gram never outscores a seen one in the same context). Previously an n-gram whose context was itself unseen was given a probability of 1.0. Probabilities of n-grams that do occur are unchanged. The previous behavior is available via Ngrams(backoff=False). Runs on free-threaded CPython (3.14t and 3.15t) without the GIL, and an Ngrams instance can be shared by threads. Support for Python 3.15. Wheels added for free-threaded CPython, PyPy 3.12 and Linux aarch64. Now requires Python 3.10+ and cffi 2.0+. succ() is about four times as fast, and no longer allocates memory in proportion to the number of successors, which is in the hundreds of thousands for common words. (2026-10-16)
  • Version 2.0.0: New trigram model built from a ~1 billion word corpus (IGC-2022 and IGC-2024ext plus recent news through July 2026), corrected with Miðeind's Málfríður neural spelling and grammar correction model. The model file is no longer bundled in the package; it is fetched from a GitHub release in a separate one-time step, python -m icegrams.download, and Ngrams() raises ModelNotFoundError if it isn't present. (2026-09-03)
  • Version 1.1.7: Published abi3 wheels; fixed C++ linking in source builds. (2026-06-11)
  • Version 1.1.6: Added abi3 wheel support for smaller release size. (2025-12-12)
  • Version 1.1.5: Fixed PEP 561 compliance (py.typed). Fixed ruff linting in CI. (2025-12-12)
  • Version 1.1.4: Added support for Python 3.14 and Windows. Improved CI with PyPI trusted publishing. (2025-12-12)
  • Version 1.1.3: Minor tweaks. Support for Python 3.13. Now requires Python 3.9+. (2024-08-27)
  • Version 1.1.2: Minor bug fixes. Cross-platform wheels provided. Now requires Python 3.7+. (2022-12-14)
  • Version 1.1.0: Python 3.5 support dropped; macOS builds fixed; PyPy wheels generated
  • Version 1.0.0: New trigram database sourced from the Icelandic Gigaword Corpus (Risamálheild) with improved tokenization. Replaced GNU GPLv3 with MIT license.
  • Version 0.6.0: Python type annotations added
  • Version 0.5.0: Trigrams corpus has been spell-checked

Icegrams is Copyright © 2020-2026 Miðeind ehf.. The original author of this software is Vilhjálmur Þorsteinsson.

This software is licensed under the MIT License:

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

Metadata

Release files for icegrams 2.2.0

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

Source distribution (sdist)

Source distribution for icegrams 2.2.0
File Size Uploaded Provenance Actions
icegrams-2.2.0.tar.gz 54.9 kB With provenance Details for icegrams-2.2.0.tar.gz

Built distributions (wheels)

Table of built distributions (wheels) for icegrams 2.2.0
File Actions
icegrams-2.2.0-pp312-pypy312_pp80-win_amd64.whl PyPy 3.12 PyPy 3.12 8.0 Windows x86-64 Details for icegrams-2.2.0-pp312-pypy312_pp80-win_amd64.whl
icegrams-2.2.0-pp312-pypy312_pp80-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl PyPy 3.12 PyPy 3.12 8.0 Linux glibc 2.17+ ARM64, Linux glibc 2.28+ ARM64 Details for icegrams-2.2.0-pp312-pypy312_pp80-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
icegrams-2.2.0-pp312-pypy312_pp80-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl PyPy 3.12 PyPy 3.12 8.0 Linux glibc 2.28+ x86-64, Linux glibc 2.5+ x86-64 Details for icegrams-2.2.0-pp312-pypy312_pp80-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
icegrams-2.2.0-pp312-pypy312_pp80-macosx_11_0_arm64.whl PyPy 3.12 PyPy 3.12 8.0 macOS 11.0+ ARM64 Details for icegrams-2.2.0-pp312-pypy312_pp80-macosx_11_0_arm64.whl
icegrams-2.2.0-pp312-pypy312_pp80-macosx_10_15_x86_64.whl PyPy 3.12 PyPy 3.12 8.0 macOS 10.15+ x86-64 Details for icegrams-2.2.0-pp312-pypy312_pp80-macosx_10_15_x86_64.whl
icegrams-2.2.0-pp311-pypy311_pp80-win_amd64.whl PyPy 3.11 PyPy 3.11 8.0 Windows x86-64 Details for icegrams-2.2.0-pp311-pypy311_pp80-win_amd64.whl
icegrams-2.2.0-pp311-pypy311_pp80-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl PyPy 3.11 PyPy 3.11 8.0 Linux glibc 2.17+ ARM64, Linux glibc 2.28+ ARM64 Details for icegrams-2.2.0-pp311-pypy311_pp80-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
icegrams-2.2.0-pp311-pypy311_pp80-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl PyPy 3.11 PyPy 3.11 8.0 Linux glibc 2.5+ x86-64, Linux glibc 2.28+ x86-64 Details for icegrams-2.2.0-pp311-pypy311_pp80-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
icegrams-2.2.0-pp311-pypy311_pp80-macosx_11_0_arm64.whl PyPy 3.11 PyPy 3.11 8.0 macOS 11.0+ ARM64 Details for icegrams-2.2.0-pp311-pypy311_pp80-macosx_11_0_arm64.whl
icegrams-2.2.0-pp311-pypy311_pp80-macosx_10_15_x86_64.whl PyPy 3.11 PyPy 3.11 8.0 macOS 10.15+ x86-64 Details for icegrams-2.2.0-pp311-pypy311_pp80-macosx_10_15_x86_64.whl
icegrams-2.2.0-pp311-pypy311_pp73-win_amd64.whl PyPy 3.11 PyPy 3.11 7.3 Windows x86-64 Details for icegrams-2.2.0-pp311-pypy311_pp73-win_amd64.whl
icegrams-2.2.0-pp311-pypy311_pp73-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl PyPy 3.11 PyPy 3.11 7.3 Linux glibc 2.17+ ARM64, Linux glibc 2.28+ ARM64 Details for icegrams-2.2.0-pp311-pypy311_pp73-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
icegrams-2.2.0-pp311-pypy311_pp73-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl PyPy 3.11 PyPy 3.11 7.3 Linux glibc 2.5+ x86-64, Linux glibc 2.28+ x86-64 Details for icegrams-2.2.0-pp311-pypy311_pp73-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
icegrams-2.2.0-pp311-pypy311_pp73-macosx_11_0_arm64.whl PyPy 3.11 PyPy 3.11 7.3 macOS 11.0+ ARM64 Details for icegrams-2.2.0-pp311-pypy311_pp73-macosx_11_0_arm64.whl
icegrams-2.2.0-pp311-pypy311_pp73-macosx_10_15_x86_64.whl PyPy 3.11 PyPy 3.11 7.3 macOS 10.15+ x86-64 Details for icegrams-2.2.0-pp311-pypy311_pp73-macosx_10_15_x86_64.whl
icegrams-2.2.0-cp315-cp315t-win_amd64.whl CPython 3.15 CPython 3.15 free-threading Windows x86-64 Details for icegrams-2.2.0-cp315-cp315t-win_amd64.whl
icegrams-2.2.0-cp315-cp315t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl CPython 3.15 CPython 3.15 free-threading Linux glibc 2.28+ ARM64, Linux glibc 2.17+ ARM64 Details for icegrams-2.2.0-cp315-cp315t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
icegrams-2.2.0-cp315-cp315t-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl CPython 3.15 CPython 3.15 free-threading Linux glibc 2.5+ x86-64, Linux glibc 2.28+ x86-64 Details for icegrams-2.2.0-cp315-cp315t-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
icegrams-2.2.0-cp315-cp315t-macosx_11_0_arm64.whl CPython 3.15 CPython 3.15 free-threading macOS 11.0+ ARM64 Details for icegrams-2.2.0-cp315-cp315t-macosx_11_0_arm64.whl
icegrams-2.2.0-cp315-cp315t-macosx_10_15_x86_64.whl CPython 3.15 CPython 3.15 free-threading macOS 10.15+ x86-64 Details for icegrams-2.2.0-cp315-cp315t-macosx_10_15_x86_64.whl
icegrams-2.2.0-cp314-cp314t-win_amd64.whl CPython 3.14 CPython 3.14 free-threading Windows x86-64 Details for icegrams-2.2.0-cp314-cp314t-win_amd64.whl
icegrams-2.2.0-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl CPython 3.14 CPython 3.14 free-threading Linux glibc 2.17+ ARM64, Linux glibc 2.28+ ARM64 Details for icegrams-2.2.0-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
icegrams-2.2.0-cp314-cp314t-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl CPython 3.14 CPython 3.14 free-threading Linux glibc 2.5+ x86-64, Linux glibc 2.28+ x86-64 Details for icegrams-2.2.0-cp314-cp314t-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
icegrams-2.2.0-cp314-cp314t-macosx_11_0_arm64.whl CPython 3.14 CPython 3.14 free-threading macOS 11.0+ ARM64 Details for icegrams-2.2.0-cp314-cp314t-macosx_11_0_arm64.whl
icegrams-2.2.0-cp314-cp314t-macosx_10_15_x86_64.whl CPython 3.14 CPython 3.14 free-threading macOS 10.15+ x86-64 Details for icegrams-2.2.0-cp314-cp314t-macosx_10_15_x86_64.whl
icegrams-2.2.0-cp310-abi3-win_amd64.whl CPython 3.10 abi3 Windows x86-64 Details for icegrams-2.2.0-cp310-abi3-win_amd64.whl
icegrams-2.2.0-cp310-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl CPython 3.10 abi3 Linux glibc 2.17+ ARM64, Linux glibc 2.28+ ARM64 Details for icegrams-2.2.0-cp310-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
icegrams-2.2.0-cp310-abi3-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl CPython 3.10 abi3 Linux glibc 2.28+ x86-64, Linux glibc 2.5+ x86-64 Details for icegrams-2.2.0-cp310-abi3-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
icegrams-2.2.0-cp310-abi3-macosx_11_0_arm64.whl CPython 3.10 abi3 macOS 11.0+ ARM64 Details for icegrams-2.2.0-cp310-abi3-macosx_11_0_arm64.whl
icegrams-2.2.0-cp310-abi3-macosx_10_9_x86_64.whl CPython 3.10 abi3 macOS 10.9+ x86-64 Details for icegrams-2.2.0-cp310-abi3-macosx_10_9_x86_64.whl

Total release size: 2.3 MB

Release files / icegrams-2.2.0.tar.gz

Download URL icegrams-2.2.0.tar.gz
Size 54.9 kB
Tags Source
SHA-256 checksum
How to use checksums
6ff79b26d414dd64b3ab284b6ebf1a0b0b056c2d2a96f15a0710e618ae45016f
BLAKE2b-256 checksum
How to use checksums
c230faf709c889fa3ce768e57cf897fce8625c2a301b341c950c787da8724089
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 Nov 4, 2026.

Transparency log

Release files / icegrams-2.2.0-pp312-pypy312_pp80-win_amd64.whl

Download URL icegrams-2.2.0-pp312-pypy312_pp80-win_amd64.whl
Size 121.6 kB
Tags PyPy 3.12 PyPy 3.12 8.0 Windows x86-64
SHA-256 checksum
How to use checksums
0f9f145cc739ad4bcc450aceb668f1f69532fd57f9254dc7167a4b1668a663ec
BLAKE2b-256 checksum
How to use checksums
af0a710b163dd670a64b960e4707b6b1316b71f11f1d8471e530a47d44e21421
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 Nov 4, 2026.

Transparency log

Release files / icegrams-2.2.0-pp312-pypy312_pp80-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl

Download URL icegrams-2.2.0-pp312-pypy312_pp80-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Size 62.3 kB
Tags Linux glibc 2.17+ ARM64 Linux glibc 2.28+ ARM64 PyPy 3.12 PyPy 3.12 8.0
SHA-256 checksum
How to use checksums
6e0a872cec6b9d5a5fea7d7c2133b6ec44a20e35547fc3f910d4320fa2352af0
BLAKE2b-256 checksum
How to use checksums
da7b84fe49a4f915f5ac13d0a2ce45cd7614928c1c9ae34a2f8195b1dfb69469
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 Nov 4, 2026.

Transparency log

Release files / icegrams-2.2.0-pp312-pypy312_pp80-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl

Download URL icegrams-2.2.0-pp312-pypy312_pp80-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
Size 61.3 kB
Tags Linux glibc 2.28+ x86-64 Linux glibc 2.5+ x86-64 PyPy 3.12 PyPy 3.12 8.0
SHA-256 checksum
How to use checksums
db12632aa7159dc5b9662703bc2c9d799f3f01914a5b35fe2c5558f2aff66156
BLAKE2b-256 checksum
How to use checksums
cf8da53c7606c67db6e18c06f2fa75da9831fffbefb6baf5569ca50852d86364
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 Nov 4, 2026.

Transparency log

Release files / icegrams-2.2.0-pp312-pypy312_pp80-macosx_11_0_arm64.whl

Download URL icegrams-2.2.0-pp312-pypy312_pp80-macosx_11_0_arm64.whl
Size 61.9 kB
Tags PyPy 3.12 PyPy 3.12 8.0 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
ec505fe2665fa092f92066bd72be6cebbc3d186a764d2b1a7a121dbe6093691e
BLAKE2b-256 checksum
How to use checksums
699f7bd4a67a1a3452aa11ecb93767a925abf82c8f447230017ee1db894a7d61
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 Nov 4, 2026.

Transparency log

Release files / icegrams-2.2.0-pp312-pypy312_pp80-macosx_10_15_x86_64.whl

Download URL icegrams-2.2.0-pp312-pypy312_pp80-macosx_10_15_x86_64.whl
Size 59.2 kB
Tags PyPy 3.12 PyPy 3.12 8.0 macOS 10.15+ x86-64
SHA-256 checksum
How to use checksums
8ffae44f67b665dec3f9cb2d10162a6c89301dfa58dea6fda567098864324bad
BLAKE2b-256 checksum
How to use checksums
9b2fbd0af8816d47a2c88d382cd8437f4209f74e0e20d306b90513af1fc1bb85
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 Nov 4, 2026.

Transparency log

Release files / icegrams-2.2.0-pp311-pypy311_pp80-win_amd64.whl

Download URL icegrams-2.2.0-pp311-pypy311_pp80-win_amd64.whl
Size 121.6 kB
Tags PyPy 3.11 PyPy 3.11 8.0 Windows x86-64
SHA-256 checksum
How to use checksums
12ed19b5fcb43f82660c75093d0270a5c5e1d2992768dc4e51b3307d01433a38
BLAKE2b-256 checksum
How to use checksums
af6444c4ac5e3c49197768632512b396ecb2740c0ea0f99418e821c1f93df16f
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 Nov 4, 2026.

Transparency log

Release files / icegrams-2.2.0-pp311-pypy311_pp80-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl

Download URL icegrams-2.2.0-pp311-pypy311_pp80-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Size 62.3 kB
Tags Linux glibc 2.17+ ARM64 Linux glibc 2.28+ ARM64 PyPy 3.11 PyPy 3.11 8.0
SHA-256 checksum
How to use checksums
0f3e674e1bc3650b0cdc0a110fea0e6e58e642ecd62e77082002ed2aa91d140e
BLAKE2b-256 checksum
How to use checksums
2dbf2e3700d4152b056114f7a81c6efeaad00c4948c1e7a984ca4b43d0fd6397
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 Nov 4, 2026.

Transparency log

Release files / icegrams-2.2.0-pp311-pypy311_pp80-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl

Download URL icegrams-2.2.0-pp311-pypy311_pp80-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
Size 61.3 kB
Tags Linux glibc 2.28+ x86-64 Linux glibc 2.5+ x86-64 PyPy 3.11 PyPy 3.11 8.0
SHA-256 checksum
How to use checksums
56162d5ff49b40aa76226cfeaafa790b05c18a23e0772eac06c49d61883be789
BLAKE2b-256 checksum
How to use checksums
8014d54ab15fe6ab574f3a2339598542995783deeff71e3486757e8be26ae6bc
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 Nov 4, 2026.

Transparency log

Release files / icegrams-2.2.0-pp311-pypy311_pp80-macosx_11_0_arm64.whl

Download URL icegrams-2.2.0-pp311-pypy311_pp80-macosx_11_0_arm64.whl
Size 61.9 kB
Tags PyPy 3.11 PyPy 3.11 8.0 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
2c5ae5d32e1d55dafbec1fbd16e1bda90b6ba90b7bf60154d1e0abfa1ca27744
BLAKE2b-256 checksum
How to use checksums
accab692f08762b59f913c4d5ec8f57624ae77fbabb1ebfae5ed76be140006a8
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 Nov 4, 2026.

Transparency log

Release files / icegrams-2.2.0-pp311-pypy311_pp80-macosx_10_15_x86_64.whl

Download URL icegrams-2.2.0-pp311-pypy311_pp80-macosx_10_15_x86_64.whl
Size 59.2 kB
Tags PyPy 3.11 PyPy 3.11 8.0 macOS 10.15+ x86-64
SHA-256 checksum
How to use checksums
801431070a66e0d3a71ac6dd5d562650f8630050ae55a4e3293e79ae7bd7e649
BLAKE2b-256 checksum
How to use checksums
b681136f7286108284514bd62594fdef4bd738d9ff19e402dc53b123c807c0b6
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 Nov 4, 2026.

Transparency log

Release files / icegrams-2.2.0-pp311-pypy311_pp73-win_amd64.whl

Download URL icegrams-2.2.0-pp311-pypy311_pp73-win_amd64.whl
Size 70.0 kB
Tags PyPy 3.11 PyPy 3.11 7.3 Windows x86-64
SHA-256 checksum
How to use checksums
033ca04ef24122b993764334f561d8b27c6469600432001de9a5305f48985d64
BLAKE2b-256 checksum
How to use checksums
c9c2536492953e5f0ba22dfc62410dc9cca2b52a158546368a800ad5669793c5
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 Nov 4, 2026.

Transparency log

Release files / icegrams-2.2.0-pp311-pypy311_pp73-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl

Download URL icegrams-2.2.0-pp311-pypy311_pp73-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Size 62.4 kB
Tags Linux glibc 2.17+ ARM64 Linux glibc 2.28+ ARM64 PyPy 3.11 PyPy 3.11 7.3
SHA-256 checksum
How to use checksums
53733f5072d448cbdc99bcf244315bc817756f1a22ace1d8876c57ac30428218
BLAKE2b-256 checksum
How to use checksums
1197be31412636537f6f0c35a4332312d69027334d10c8f7a716cc8c2816bdc2
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 Nov 4, 2026.

Transparency log

Release files / icegrams-2.2.0-pp311-pypy311_pp73-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl

Download URL icegrams-2.2.0-pp311-pypy311_pp73-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
Size 61.3 kB
Tags Linux glibc 2.28+ x86-64 Linux glibc 2.5+ x86-64 PyPy 3.11 PyPy 3.11 7.3
SHA-256 checksum
How to use checksums
dc3f1f32df6289bb07858c25fb884fae3c1923bc5d786768eec6e9c723e7da7b
BLAKE2b-256 checksum
How to use checksums
0945579fb341e938717590c29248246cd52555e8b94938fc38dae7ee154cec9a
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 Nov 4, 2026.

Transparency log

Release files / icegrams-2.2.0-pp311-pypy311_pp73-macosx_11_0_arm64.whl

Download URL icegrams-2.2.0-pp311-pypy311_pp73-macosx_11_0_arm64.whl
Size 69.6 kB
Tags PyPy 3.11 PyPy 3.11 7.3 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
e108253191fbf4ee1802ca7c8170e358d8cdba30f6ded82eecee1e3093269995
BLAKE2b-256 checksum
How to use checksums
5c00cb09b7c4909822aef9bc1aa9b63b0d444f98782630f52998f3873765fc22
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 Nov 4, 2026.

Transparency log

Release files / icegrams-2.2.0-pp311-pypy311_pp73-macosx_10_15_x86_64.whl

Download URL icegrams-2.2.0-pp311-pypy311_pp73-macosx_10_15_x86_64.whl
Size 64.2 kB
Tags PyPy 3.11 PyPy 3.11 7.3 macOS 10.15+ x86-64
SHA-256 checksum
How to use checksums
9c3516b4f355c149eaf99f851e15e2cdbdfb030939c1643273d11561ce8e396a
BLAKE2b-256 checksum
How to use checksums
7d979741d167e368e11d55ca1ef2a964fdb1b71316826448661981f663a5405c
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 Nov 4, 2026.

Transparency log

Release files / icegrams-2.2.0-cp315-cp315t-win_amd64.whl

Download URL icegrams-2.2.0-cp315-cp315t-win_amd64.whl
Size 66.3 kB
Tags CPython 3.15 CPython 3.15 free-threading Windows x86-64
SHA-256 checksum
How to use checksums
766be1caa3e1df9a37742587307a6e1a593bccfcbd1600181cb27d05bd3645b6
BLAKE2b-256 checksum
How to use checksums
7a014e44b76ffb812e4f174a143de0c01fe9b85608288456fcbf300cb1473253
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 Nov 4, 2026.

Transparency log

Release files / icegrams-2.2.0-cp315-cp315t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl

Download URL icegrams-2.2.0-cp315-cp315t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Size 99.0 kB
Tags CPython 3.15 CPython 3.15 free-threading Linux glibc 2.17+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
4552c499f7e5061a965358c5e0ef6deef037b9ed1e6b4f77fa16d7e14e15ff1b
BLAKE2b-256 checksum
How to use checksums
ab7dae87e64b2c663ca442762b1cc9856cedababddead5bb62d8e2ffa2127855
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 Nov 4, 2026.

Transparency log

Release files / icegrams-2.2.0-cp315-cp315t-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl

Download URL icegrams-2.2.0-cp315-cp315t-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
Size 98.6 kB
Tags CPython 3.15 CPython 3.15 free-threading Linux glibc 2.28+ x86-64 Linux glibc 2.5+ x86-64
SHA-256 checksum
How to use checksums
870703ca727285874cabfd95caa73d7ee38573b56ea22989e4efaa4d23297057
BLAKE2b-256 checksum
How to use checksums
28e6e9438ab990687e8b409e2c3ee1fed537795672e9d35b2022894466621af9
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 Nov 4, 2026.

Transparency log

Release files / icegrams-2.2.0-cp315-cp315t-macosx_11_0_arm64.whl

Download URL icegrams-2.2.0-cp315-cp315t-macosx_11_0_arm64.whl
Size 66.2 kB
Tags CPython 3.15 CPython 3.15 free-threading macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
5bb1d5512ff29fe0a370421f29dad123a91b0f12a8caf3d4fad8b7bc5d1e553e
BLAKE2b-256 checksum
How to use checksums
aa1a343f8f757c21f5297686bf8358c5e08d8aa8c9c6ec8b96de7ba8cac3af32
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 Nov 4, 2026.

Transparency log

Release files / icegrams-2.2.0-cp315-cp315t-macosx_10_15_x86_64.whl

Download URL icegrams-2.2.0-cp315-cp315t-macosx_10_15_x86_64.whl
Size 63.8 kB
Tags CPython 3.15 CPython 3.15 free-threading macOS 10.15+ x86-64
SHA-256 checksum
How to use checksums
673b326d9311764549e99362dfd813a561cdd512b34e9d35bffd75e32a1695b0
BLAKE2b-256 checksum
How to use checksums
8d6f63617dee00657b719d9469203e1567c4d1057dbd2498122c4e44a7e70d4b
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 Nov 4, 2026.

Transparency log

Release files / icegrams-2.2.0-cp314-cp314t-win_amd64.whl

Download URL icegrams-2.2.0-cp314-cp314t-win_amd64.whl
Size 66.4 kB
Tags CPython 3.14 CPython 3.14 free-threading Windows x86-64
SHA-256 checksum
How to use checksums
e543ab2157e54df5bb7919621978287262c025770b206fd4c867c58db5a61e15
BLAKE2b-256 checksum
How to use checksums
67275336680608dc767a8f5b6be0413b7a8a5a73dd1f34bf8e27f46359db8975
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 Nov 4, 2026.

Transparency log

Release files / icegrams-2.2.0-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl

Download URL icegrams-2.2.0-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Size 108.3 kB
Tags CPython 3.14 CPython 3.14 free-threading Linux glibc 2.17+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
85a81a9b0def5134b256e328a3de49069779f13950d54f722d0133b19c15d7d8
BLAKE2b-256 checksum
How to use checksums
3a67a19d1c93a4d8832c2b0f57bc6c929efd41a898928cf179fae7bbbdef9277
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 Nov 4, 2026.

Transparency log

Release files / icegrams-2.2.0-cp314-cp314t-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl

Download URL icegrams-2.2.0-cp314-cp314t-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
Size 107.8 kB
Tags CPython 3.14 CPython 3.14 free-threading Linux glibc 2.28+ x86-64 Linux glibc 2.5+ x86-64
SHA-256 checksum
How to use checksums
091ab781aeaf400e1472a91abf553a242f023eb9fcab822606f7e5dce1f639b9
BLAKE2b-256 checksum
How to use checksums
55df568b6117b32409ab8cb6dee77826a4da41554f9741339c3b85ec4547c348
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 Nov 4, 2026.

Transparency log

Release files / icegrams-2.2.0-cp314-cp314t-macosx_11_0_arm64.whl

Download URL icegrams-2.2.0-cp314-cp314t-macosx_11_0_arm64.whl
Size 66.3 kB
Tags CPython 3.14 CPython 3.14 free-threading macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
28573fad84bab152b0d2e59fb24b7f73dd141d5a05b61898994342fdcff4caea
BLAKE2b-256 checksum
How to use checksums
c2c7c6de598b3acc379f25aef85417a44b58a0eb41f7aa0fc1f29d6a3355fa05
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 Nov 4, 2026.

Transparency log

Release files / icegrams-2.2.0-cp314-cp314t-macosx_10_15_x86_64.whl

Download URL icegrams-2.2.0-cp314-cp314t-macosx_10_15_x86_64.whl
Size 64.0 kB
Tags CPython 3.14 CPython 3.14 free-threading macOS 10.15+ x86-64
SHA-256 checksum
How to use checksums
83f69e1d165cef564aed9cde1e1c66ba1b8a3c583245dc081891314344fe4a09
BLAKE2b-256 checksum
How to use checksums
175b8a01e8cbff2017cf9a86763083b9cdb69286a69b90b13ea98f1ef416c929
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 Nov 4, 2026.

Transparency log

Release files / icegrams-2.2.0-cp310-abi3-win_amd64.whl

Download URL icegrams-2.2.0-cp310-abi3-win_amd64.whl
Size 65.5 kB
Tags CPython 3.10 Windows x86-64 abi3
SHA-256 checksum
How to use checksums
ef227b132b0959f325cb27915c2891daa2dce184b9fede3b216aaa8577e12071
BLAKE2b-256 checksum
How to use checksums
86a09d6decf74800c91aab8d132c8c626da122f5c9053c25c1884fef9e16647b
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 Nov 4, 2026.

Transparency log

Release files / icegrams-2.2.0-cp310-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl

Download URL icegrams-2.2.0-cp310-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Size 101.7 kB
Tags CPython 3.10 Linux glibc 2.17+ ARM64 Linux glibc 2.28+ ARM64 abi3
SHA-256 checksum
How to use checksums
99b8be30e1852f284ff45ceec336427493e60b8e1768feebc4b0ef59257d2d76
BLAKE2b-256 checksum
How to use checksums
e6aefa7393276377c66569b7a6e764445676e5efa90d6b93fbd507fa87b17f3c
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 Nov 4, 2026.

Transparency log

Release files / icegrams-2.2.0-cp310-abi3-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl

Download URL icegrams-2.2.0-cp310-abi3-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
Size 101.5 kB
Tags CPython 3.10 Linux glibc 2.28+ x86-64 Linux glibc 2.5+ x86-64 abi3
SHA-256 checksum
How to use checksums
17ccc09b6c687dbc41c00aaede7710671bec3b51c7db8ddb0e66c3ece74c7dc0
BLAKE2b-256 checksum
How to use checksums
438edf19c4c70bf6f4605180ea589ccb3627afe57a30808e6f0fc581c5d90e0a
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 Nov 4, 2026.

Transparency log

Release files / icegrams-2.2.0-cp310-abi3-macosx_11_0_arm64.whl

Download URL icegrams-2.2.0-cp310-abi3-macosx_11_0_arm64.whl
Size 66.2 kB
Tags CPython 3.10 abi3 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
67884a83cb876653686eeb4520ab0627ef57deb38e52ab6da425aec2e7ebcc56
BLAKE2b-256 checksum
How to use checksums
d32c72eccb450405eef9bd06d6c31607e3c6b06ccd7095c6c47e64616680c507
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 Nov 4, 2026.

Transparency log

Release files / icegrams-2.2.0-cp310-abi3-macosx_10_9_x86_64.whl

Download URL icegrams-2.2.0-cp310-abi3-macosx_10_9_x86_64.whl
Size 63.8 kB
Tags CPython 3.10 abi3 macOS 10.9+ x86-64
SHA-256 checksum
How to use checksums
664518e5e99602f5c81c01ad24e29fb1d979128848d57c801ac0e5b2e29e0e98
BLAKE2b-256 checksum
How to use checksums
513ad081580b8b88678372c563097bc1b7c759cba34d962d14b82a2fa2021b9c
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 Nov 4, 2026.

Transparency log

Security for icegrams 2.2.0

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 31 files in this release have been uploaded with provenance metadata.

Select from 31 files

Attestation for icegrams-2.2.0.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 Nov 4, 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