Skip to main content

Trigram statistics for Icelandic

Project description

https://github.com/mideind/Icegrams/actions/workflows/python-package.yml/badge.svg

Overview

Icegrams is an MIT-licensed Python 3 (>=3.9) 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.)

14 million unique trigrams and their frequency counts are heavily compressed using radix tries and quasi-succinct indexes employing Elias-Fano encoding. This enables the ~43 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 a 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 2017 edition of the Icelandic Gigaword Corpus (Risamálheild), which is collected and maintained by The Árni Magnússon Institute for Icelandic Studies. A mixed, manually vetted subset consisting of 157 documents from the corpus was used as the source of the token stream, yielding over 100 million tokens. Trigrams that only occurred once or twice in the stream were eliminated before creating the compressed Icegrams database. The creation process is further described here.

Example

>>> from icegrams import Ngrams
>>> ng = Ngrams()
>>> # Obtain the frequency of the unigram 'Ísland'
>>> ng.freq("Ísland")
42018
>>> # Obtain the probability of the unigram 'Ísland', as a fraction
>>> # of the frequency of all unigrams in the database
>>> ng.prob("Ísland")
0.0003979926900206475
>>> # Obtain the log probability (base e) of the unigram 'Ísland'
>>> ng.logprob("Ísland")
-7.8290769196308005
>>> # Obtain the frequency of the bigram 'Katrín Jakobsdóttir'
>>> ng.freq("Katrín", "Jakobsdóttir")
3517
>>> # Obtain the probability of 'Jakobsdóttir' given 'Katrín'
>>> ng.prob("Katrín", "Jakobsdóttir")
0.23298013245033142
>>> # Obtain the probability of 'Júlíusdóttir' given 'Katrín'
>>> ng.prob("Katrín", "Júlíusdóttir")
0.013642384105960274
>>> # Obtain the frequency of 'velta fyrirtækisins er'
>>> ng.freq("velta", "fyrirtækisins", "er")
4
>>> # 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.3708244393477589), ('.', -2.2427905461504567),
    (',', -3.313814878299737), ('og', -3.4920631097060557), ('sem', -4.566577846795106),
    ('er', -4.720728526622363), ('að', -4.807739903611993), ('um', -5.0084105990741445),
    ('en', -5.0084105990741445), ('á', -5.25972502735505)]

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.

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á")
    2973
    >>>> ng.freq("stjórnarskrá", "lýðveldisins")
    39
    >>>> ng.freq("stjórnarskrá", "lýðveldisins", "Íslands")
    12
    >>>> 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á")
    2974
    >>>> ng.adj_freq("stjórnarskrá", "lýðveldisins")
    40
    >>>> ng.adj_freq("stjórnarskrá", "lýðveldisins", "Íslands")
    13
    >>>> 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 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á")
    2.8168929772755334e-05
    >>>> ng.prob("stjórnarskrá", "lýðveldisins")
    0.01344989912575655
    >>>> ng.prob("stjórnarskrá", "lýðveldisins", "Íslands")
    0.325
  • 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.

    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.477290968535172
    >>>> ng.logprob("stjórnarskrá", "lýðveldisins")
    -4.308783672906165
    >>>> ng.logprob("stjórnarskrá", "lýðveldisins", "Íslands")
    -1.1239300966523995
  • 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.8259625296091855), ('landsins', -2.223111581475692)]
    >>>> ng.succ(2, "stjórnarskrá", "lýðveldisins")
    [('Íslands', -1.1239300966523995), ('og', -1.3862943611198904)]
    >>>> # The following is equivalent to ng.succ(2, "lýðveldisins", "Íslands")
    >>>> ng.succ(2, "stjórnarskrá", "lýðveldisins", "Íslands")
    [('.', -1.3862943611198908), (',', -1.6545583477145702)]

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.9 or newer, and on PyPy 3.9 or newer. It has been tested on Linux (gcc on x86-64 and ARMhf), macOS (clang) and Windows (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

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
$ # [ Activate your virtualenv here if you have one ]
$ python setup.py develop

The package source code is now in ./src/icegrams.

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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

icegrams-1.1.3.tar.gz (38.5 MB view details)

Uploaded Source

Built Distributions

icegrams-1.1.3-py3-none-any.whl (38.5 MB view details)

Uploaded Python 3

icegrams-1.1.3-pp311-pypy311_pp73-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (38.5 MB view details)

Uploaded PyPymanylinux: glibc 2.17+ x86-64manylinux: glibc 2.5+ x86-64

icegrams-1.1.3-pp311-pypy311_pp73-macosx_11_0_arm64.whl (38.5 MB view details)

Uploaded PyPymacOS 11.0+ ARM64

icegrams-1.1.3-pp311-pypy311_pp73-macosx_10_15_x86_64.whl (38.5 MB view details)

Uploaded PyPymacOS 10.15+ x86-64

icegrams-1.1.3-pp310-pypy310_pp73-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (38.5 MB view details)

Uploaded PyPymanylinux: glibc 2.17+ x86-64manylinux: glibc 2.5+ x86-64

icegrams-1.1.3-pp310-pypy310_pp73-macosx_11_0_arm64.whl (38.5 MB view details)

Uploaded PyPymacOS 11.0+ ARM64

icegrams-1.1.3-pp310-pypy310_pp73-macosx_10_15_x86_64.whl (38.5 MB view details)

Uploaded PyPymacOS 10.15+ x86-64

icegrams-1.1.3-pp39-pypy39_pp73-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (38.5 MB view details)

Uploaded PyPymanylinux: glibc 2.17+ x86-64manylinux: glibc 2.5+ x86-64

icegrams-1.1.3-pp39-pypy39_pp73-macosx_11_0_arm64.whl (38.5 MB view details)

Uploaded PyPymacOS 11.0+ ARM64

icegrams-1.1.3-pp39-pypy39_pp73-macosx_10_15_x86_64.whl (38.5 MB view details)

Uploaded PyPymacOS 10.15+ x86-64

icegrams-1.1.3-cp313-cp313-win_amd64.whl (38.5 MB view details)

Uploaded CPython 3.13Windows x86-64

icegrams-1.1.3-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (38.5 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64manylinux: glibc 2.5+ x86-64

icegrams-1.1.3-cp313-cp313-macosx_11_0_arm64.whl (38.5 MB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

icegrams-1.1.3-cp313-cp313-macosx_10_13_x86_64.whl (38.5 MB view details)

Uploaded CPython 3.13macOS 10.13+ x86-64

icegrams-1.1.3-cp312-cp312-win_amd64.whl (38.5 MB view details)

Uploaded CPython 3.12Windows x86-64

icegrams-1.1.3-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (38.5 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64manylinux: glibc 2.5+ x86-64

icegrams-1.1.3-cp312-cp312-macosx_11_0_arm64.whl (38.5 MB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

icegrams-1.1.3-cp312-cp312-macosx_10_13_x86_64.whl (38.5 MB view details)

Uploaded CPython 3.12macOS 10.13+ x86-64

icegrams-1.1.3-cp311-cp311-win_amd64.whl (38.5 MB view details)

Uploaded CPython 3.11Windows x86-64

icegrams-1.1.3-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (38.5 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64manylinux: glibc 2.5+ x86-64

icegrams-1.1.3-cp311-cp311-macosx_11_0_arm64.whl (38.5 MB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

icegrams-1.1.3-cp311-cp311-macosx_10_9_x86_64.whl (38.5 MB view details)

Uploaded CPython 3.11macOS 10.9+ x86-64

icegrams-1.1.3-cp310-cp310-win_amd64.whl (38.5 MB view details)

Uploaded CPython 3.10Windows x86-64

icegrams-1.1.3-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (38.5 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64manylinux: glibc 2.5+ x86-64

icegrams-1.1.3-cp310-cp310-macosx_11_0_arm64.whl (38.5 MB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

icegrams-1.1.3-cp310-cp310-macosx_10_9_x86_64.whl (38.5 MB view details)

Uploaded CPython 3.10macOS 10.9+ x86-64

icegrams-1.1.3-cp39-cp39-win_amd64.whl (38.5 MB view details)

Uploaded CPython 3.9Windows x86-64

icegrams-1.1.3-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (38.5 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ x86-64manylinux: glibc 2.5+ x86-64

icegrams-1.1.3-cp39-cp39-macosx_11_0_arm64.whl (38.5 MB view details)

Uploaded CPython 3.9macOS 11.0+ ARM64

icegrams-1.1.3-cp39-cp39-macosx_10_9_x86_64.whl (38.5 MB view details)

Uploaded CPython 3.9macOS 10.9+ x86-64

File details

Details for the file icegrams-1.1.3.tar.gz.

File metadata

  • Download URL: icegrams-1.1.3.tar.gz
  • Upload date:
  • Size: 38.5 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.9.22

File hashes

Hashes for icegrams-1.1.3.tar.gz
Algorithm Hash digest
SHA256 d0d28ccd96118ef96bc516b5efbeabe4b08676330ef7ff795ac83537f65f19b7
MD5 5f2dc13fde11e04487255d0a4e801140
BLAKE2b-256 e96c1277ec9ca2ad91e959c3ac310c7a4f364d205cfed0c96a47ef1756cee51c

See more details on using hashes here.

File details

Details for the file icegrams-1.1.3-py3-none-any.whl.

File metadata

  • Download URL: icegrams-1.1.3-py3-none-any.whl
  • Upload date:
  • Size: 38.5 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.9.22

File hashes

Hashes for icegrams-1.1.3-py3-none-any.whl
Algorithm Hash digest
SHA256 a5442c336f156344f3c72a846dfdd25a40449abe979d93c0e38da999e35775ea
MD5 3c0c82a97c2853d822dabf099458078a
BLAKE2b-256 dfdd7c731af6847bca150bf3e12e73c8c0bfdccd8766b3062aee2f334d34c317

See more details on using hashes here.

File details

Details for the file icegrams-1.1.3-pp311-pypy311_pp73-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for icegrams-1.1.3-pp311-pypy311_pp73-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 1a1fb05f42fb37207fb7395e803f2c0436c67a6cd39a8d0b030a2672ffe60903
MD5 8b461459211a305f98d96090dbe26888
BLAKE2b-256 076ba7b6f4992aa035d085fb37ceb2bc7faeaa1f4029ee8a9db5b2ce82e6b27f

See more details on using hashes here.

File details

Details for the file icegrams-1.1.3-pp311-pypy311_pp73-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for icegrams-1.1.3-pp311-pypy311_pp73-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 a0370e372fe1512ff0cf1e041f39ee12b10bb43969b431a4300bde60ebf9750c
MD5 ecce7c7b408df8c79c328c44e4147da0
BLAKE2b-256 e2ba9ddd5ed77f4c7bcd2669b431b85d24e665231eaeca0c671e42503be0e36b

See more details on using hashes here.

File details

Details for the file icegrams-1.1.3-pp311-pypy311_pp73-macosx_10_15_x86_64.whl.

File metadata

File hashes

Hashes for icegrams-1.1.3-pp311-pypy311_pp73-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 a4fa255748e51b118c4b92a3f20625c5452b06fd6b8646ab184bf4150b6e4d50
MD5 62c71a5a47f9e2284d8d6ea15c781923
BLAKE2b-256 e91e492a3a2a4df502b39d244a61cd52cd98906b38df70be32e27c09a4990078

See more details on using hashes here.

File details

Details for the file icegrams-1.1.3-pp310-pypy310_pp73-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for icegrams-1.1.3-pp310-pypy310_pp73-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 e527ff8e19f4136a641db454a01f49803f093e8d8ca16dc4f12ffb2d9eea1291
MD5 203a2dadd7233ab7ed4d73f14c5dbddf
BLAKE2b-256 9f17eaee75e1c8e70b9b26ebd97b867a823a7d22c8d51c4f16f9fa7f6a85d1f3

See more details on using hashes here.

File details

Details for the file icegrams-1.1.3-pp310-pypy310_pp73-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for icegrams-1.1.3-pp310-pypy310_pp73-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 30f33447ce6fd8854a26e334138c5fc2d065ee61d9586d184b4e11bd18842bd5
MD5 64d07c1fe5e1e05b340bdd16d66d330b
BLAKE2b-256 f1746b9d3a65a3b9ea0a4e4cc0d715c4b7d9f2831faff03bb4a48118f6f22a8b

See more details on using hashes here.

File details

Details for the file icegrams-1.1.3-pp310-pypy310_pp73-macosx_10_15_x86_64.whl.

File metadata

File hashes

Hashes for icegrams-1.1.3-pp310-pypy310_pp73-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 ef9da1632e2bb74c016993a49e98dee286fa799f6726e18f9b092c582bddd241
MD5 60026bc64bf013906220fc761c3f1dfd
BLAKE2b-256 18247f97af4e7a5e75a36ff36e40c2e11686232416d0dc6eea678ebee9065960

See more details on using hashes here.

File details

Details for the file icegrams-1.1.3-pp39-pypy39_pp73-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for icegrams-1.1.3-pp39-pypy39_pp73-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 d4024cbee4aa28d90bccac7d72b6d4ec0f7f1de44feb1dc4dcf46c947c42e1f3
MD5 5b1689227a38b7d50089a5b018b56f73
BLAKE2b-256 f8172c34f2a1725ef895ab769d0d68cfbc8d1de74dcca3ac9883ce8d561f9531

See more details on using hashes here.

File details

Details for the file icegrams-1.1.3-pp39-pypy39_pp73-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for icegrams-1.1.3-pp39-pypy39_pp73-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 a424f940911808b628c3664111f35eb75bf616d881959afc22a13296e80e990f
MD5 74e0523c39f14cd3785c6aae2b5e4629
BLAKE2b-256 2d788447d48917553662ce44f397a52faff586ec3be5f1911b0a9d52f72edf6b

See more details on using hashes here.

File details

Details for the file icegrams-1.1.3-pp39-pypy39_pp73-macosx_10_15_x86_64.whl.

File metadata

File hashes

Hashes for icegrams-1.1.3-pp39-pypy39_pp73-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 60bc6df553b01002b5f2eb7ed3f6a1631191f498acf3c921b676de2ab84a5c4e
MD5 62cf3465bf7a35e50393dd64ef9a2dcd
BLAKE2b-256 f73fef738c623909b11e496fee26254359dede6ba787c145a14de7697ffadf78

See more details on using hashes here.

File details

Details for the file icegrams-1.1.3-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: icegrams-1.1.3-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 38.5 MB
  • Tags: CPython 3.13, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.9.22

File hashes

Hashes for icegrams-1.1.3-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 5f50eac8127d3e7b3bd0f0942c166662d757d291471f6f7766b997881bccb6bf
MD5 1a759ce5586826bb81f4de3648c2e526
BLAKE2b-256 4369ea8a75051c3c2a0e8618b5638d9790d89a53449e1722e665411711c8afc7

See more details on using hashes here.

File details

Details for the file icegrams-1.1.3-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for icegrams-1.1.3-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 5b1eea754a10903fb1e183ad3f2b20cb3e1320587ca2d41b7512493c0f2c34f1
MD5 3d797b4298d8567f509a920c4431314f
BLAKE2b-256 661bb9bb61785bce493fb43234a0c1b63c7a6579484a01feac2d40e07005c091

See more details on using hashes here.

File details

Details for the file icegrams-1.1.3-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for icegrams-1.1.3-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 51a54b683922a505aa959c5f9bc6f5199876e1f25b61d4aaabd7296a5b6e17ff
MD5 d7b265cefbaf7c8e12af133aec0cfca8
BLAKE2b-256 c429d25144042879c0b6460d05bc0bf1eaa8a61ae74bfc575ac39b0470624536

See more details on using hashes here.

File details

Details for the file icegrams-1.1.3-cp313-cp313-macosx_10_13_x86_64.whl.

File metadata

File hashes

Hashes for icegrams-1.1.3-cp313-cp313-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 fc53851c7f53c985fa3b92d15e080c3bffa4bf472b081a2151a0d4c8490a35f1
MD5 5ac820e5dac26262120b92c9ebbff438
BLAKE2b-256 c686a7cd9b604d76536fc0fef6978f2dbb289b669478eb3b2c90f3c7cf35153e

See more details on using hashes here.

File details

Details for the file icegrams-1.1.3-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: icegrams-1.1.3-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 38.5 MB
  • Tags: CPython 3.12, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.9.22

File hashes

Hashes for icegrams-1.1.3-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 e0b1505798d4501bc5c9363a984a12a9ac3f9f599b73ea692170a150e3aae204
MD5 ecc11268a73b3e044346815c4b6348bf
BLAKE2b-256 39df27cd70dd3a3153ea4565b2fc93b48f4a59d586562c392c63d85493513b39

See more details on using hashes here.

File details

Details for the file icegrams-1.1.3-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for icegrams-1.1.3-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 646cf46b8f6edc610d12581de7a24c3220b65f885d8be7e1514cbb6dd3b4c612
MD5 ff7974dcbbd2c600132b3b2e17de8bed
BLAKE2b-256 861d6d4aeb548877ab65bc2beda744e694795b3e0b766660f781ac1210228156

See more details on using hashes here.

File details

Details for the file icegrams-1.1.3-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for icegrams-1.1.3-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 95b7809b500afbfea39040618b89aca067a3d7e400402bfa4096ae04497bb567
MD5 489c12dfb574e00af7eb9cbd36e319fb
BLAKE2b-256 22701799542cae919d8fdf8f4af5111a77327920a51ccd07d92e59aa2976a788

See more details on using hashes here.

File details

Details for the file icegrams-1.1.3-cp312-cp312-macosx_10_13_x86_64.whl.

File metadata

File hashes

Hashes for icegrams-1.1.3-cp312-cp312-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 69ad683b5e2f1bb50da93601fc98526c6390851d96450ffb66a74f70ba4f2fe7
MD5 64e7ca7841b061a0ed56bf63fb996a87
BLAKE2b-256 88acf8f1507aff451822b70511d4225c953c245f2028d91ffb4dca2131765690

See more details on using hashes here.

File details

Details for the file icegrams-1.1.3-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: icegrams-1.1.3-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 38.5 MB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.9.22

File hashes

Hashes for icegrams-1.1.3-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 1f5412b63bee79200aa3e86a7f3036022cfe47e1ab4399439db688b8c6e87e51
MD5 6810904ed396dbcbb45dabb3882290e4
BLAKE2b-256 5dd0395a359367314ca7a29b7c90b759bcb05876907688d5c87a9421cd9a7656

See more details on using hashes here.

File details

Details for the file icegrams-1.1.3-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for icegrams-1.1.3-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 24cb5961928082a296c74429e4f905b7d779280abcbfbf28b0a4bb856c2f3f97
MD5 0001e91748e41a942b58a76a50fd4a55
BLAKE2b-256 f0abc82165549f0e5e25352a1d339145acfc310848d82862f8dfe9a7989b91bb

See more details on using hashes here.

File details

Details for the file icegrams-1.1.3-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for icegrams-1.1.3-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 748cf471753e3f6ee02308311954eb109d93525b74eaa1bd9aab5771a1514ebe
MD5 bf67920730d542bb95928c00a17bc2e3
BLAKE2b-256 d981e35315da9d4fc21742df6dda235910accfbc0060c544fd9a6ab52f0c30d1

See more details on using hashes here.

File details

Details for the file icegrams-1.1.3-cp311-cp311-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for icegrams-1.1.3-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 dd1d68336040013d0fa27cf99f64896cc69c38a0743974d44ac3f1ab41386876
MD5 77e1b1dd8fcd17deac7c321ff74b7ca4
BLAKE2b-256 14d10f1f691579a99cda73858e77f7cfc90104a1ed78ca66ad646c58f98af438

See more details on using hashes here.

File details

Details for the file icegrams-1.1.3-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: icegrams-1.1.3-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 38.5 MB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.9.22

File hashes

Hashes for icegrams-1.1.3-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 516473d16444a348766d53727dbc047ac0355f93be27b37075fb68d89c4da235
MD5 add70410edfcb080c970800d2e7771bd
BLAKE2b-256 203f48e4ca5b677c4b1279b2bcd27ecb519f289218ada4e5727bd86971a20742

See more details on using hashes here.

File details

Details for the file icegrams-1.1.3-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for icegrams-1.1.3-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 1a4948aa4d8bf22be20b5c90b4fdd11cb3a68da087d1b8da855d02cad3de8bff
MD5 9ed90e19b7b64dd3ebc7ba9c4c653dd7
BLAKE2b-256 4659e865a09c160ba17cbc26ae837b71653392b4772d1c5df4ec98661578d4d4

See more details on using hashes here.

File details

Details for the file icegrams-1.1.3-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for icegrams-1.1.3-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 1b657d642f93de629b5b7d9423b0af2ee379e98744ba109fa2c16a3a29060b84
MD5 d20724c454d26d51147fd6945052dc32
BLAKE2b-256 7af487e6fd5854fbc985ed0b583da967618f8bcb1793a3d2797e5ed80971df10

See more details on using hashes here.

File details

Details for the file icegrams-1.1.3-cp310-cp310-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for icegrams-1.1.3-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 3b4accc3d6de6ea928172fd1b6670f698298ce3910bd0d8b93dbe76f378288ff
MD5 867389102a8ddfa05db1e11f3e195b8f
BLAKE2b-256 ddba062529b3370491d815295435a739995cb57eb5fa7a7614dc9725c8d8c0a0

See more details on using hashes here.

File details

Details for the file icegrams-1.1.3-cp39-cp39-win_amd64.whl.

File metadata

  • Download URL: icegrams-1.1.3-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 38.5 MB
  • Tags: CPython 3.9, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.9.22

File hashes

Hashes for icegrams-1.1.3-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 ff6dd910c1c504b10ed2c18c9b86a7b00bbf610ad68568d39989652a5aa71f3f
MD5 a3715af15432e1b243c8791c4a6220aa
BLAKE2b-256 cc84337251e077a0dcd0aecf1b456bbcc9ca67eab4b21923db935421b566fcd8

See more details on using hashes here.

File details

Details for the file icegrams-1.1.3-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for icegrams-1.1.3-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 1d7eddbf85409eeb84f923f04f09ebdc29974d8e0d4d96a7213488ea1f3024ba
MD5 c8ddf8bf4f061fd134f35212f562aeb3
BLAKE2b-256 ea5f85adb83509f739bc1731afe3681461f2e18da8c50b737dd3cfc01f083beb

See more details on using hashes here.

File details

Details for the file icegrams-1.1.3-cp39-cp39-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for icegrams-1.1.3-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 0de22e274b0aaba10516c44cf296a24bc944ca8fc723d7e785258abb8b0dc208
MD5 e19003ce6fa839577849997abf8b9e04
BLAKE2b-256 2fc3822fc27db2306a77abbcef2c1fac16fbd6ba2d149029a555e92fdbe79292

See more details on using hashes here.

File details

Details for the file icegrams-1.1.3-cp39-cp39-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for icegrams-1.1.3-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 0cbe5f51b09f65938b1bedd2ffda1310abc6fc53a4025e7b8773e09d1f37f15d
MD5 1d9e014c8e259247e81c9abb05909a38
BLAKE2b-256 e898d45737b4a5bbabc635676f9ab3d310f81d3ff18a0ccf7be1e678e990a240

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page